diff --git a/.github/workflows/license-scheduled-check.yml b/.github/workflows/license-scheduled-check.yml index 96ef385e33e..b68eb54aec7 100644 --- a/.github/workflows/license-scheduled-check.yml +++ b/.github/workflows/license-scheduled-check.yml @@ -14,25 +14,25 @@ jobs: steps: - name: Checkout main - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: aws/aws-sdk-cpp path: aws-sdk-cpp ref: main - name: Checkout stable version - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: aws/aws-sdk-cpp path: new-ref ref: "1.9.85" - name: Checkout scancode - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: repository: nexB/scancode-toolkit path: scancode-toolkit fetch-depth: 1 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} # ScanCode @@ -45,4 +45,4 @@ jobs: ./scancode-toolkit/scancode -l -n 30 --json-pp - ./new-ref/aws-cpp-sdk-core | grep short_name | sed -e 's/\"short_name\": //' -e 's/\"\,\?//g' | sort | uniq > new-licenses.txt # compare - name: License test - run: if ! cmp old-licenses.txt new-licenses.txt; then echo "Licenses differ! Failing."; exit -1; else echo "Licenses are the same. Success."; exit 0; fi \ No newline at end of file + run: if ! cmp old-licenses.txt new-licenses.txt; then echo "Licenses differ! Failing."; exit -1; else echo "Licenses are the same. Success."; exit 0; fi diff --git a/VERSION b/VERSION index 026a437e67a..2273123a09e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.584 \ No newline at end of file +1.11.594 \ No newline at end of file diff --git a/cmake/sdksCommon.cmake b/cmake/sdksCommon.cmake index 753807cec72..41523759029 100644 --- a/cmake/sdksCommon.cmake +++ b/cmake/sdksCommon.cmake @@ -111,7 +111,6 @@ list(APPEND SDK_TEST_PROJECT_LIST "transfer:tests/aws-cpp-sdk-transfer-tests") list(APPEND SDK_TEST_PROJECT_LIST "text-to-speech:tests/aws-cpp-sdk-text-to-speech-tests,tests/aws-cpp-sdk-polly-sample") list(APPEND SDK_TEST_PROJECT_LIST "transcribestreaming:tests/aws-cpp-sdk-transcribestreaming-integ-tests") list(APPEND SDK_TEST_PROJECT_LIST "eventbridge:tests/aws-cpp-sdk-eventbridge-tests") -list(APPEND SDK_TEST_PROJECT_LIST "timestream-query:tests/aws-cpp-sdk-timestream-query-integration-tests") list(APPEND SDK_TEST_PROJECT_LIST "dsql:tests/aws-cpp-sdk-dsql-unit-tests") list(APPEND SDK_TEST_PROJECT_LIST "bedrock-runtime:tests/aws-cpp-sdk-bedrock-runtime-integration-tests") diff --git a/generated/smoke-tests/workspaces-instances/CMakeLists.txt b/generated/smoke-tests/workspaces-instances/CMakeLists.txt new file mode 100644 index 00000000000..c759c37ce23 --- /dev/null +++ b/generated/smoke-tests/workspaces-instances/CMakeLists.txt @@ -0,0 +1,41 @@ +add_project(workspaces-instances-smoke-tests +"Tests for the AWS WORKSPACES-INSTANCES C++ SDK" +testing-resources +aws-cpp-sdk-workspaces-instances +aws-cpp-sdk-core +) +file(GLOB AWS_WORKSPACES-INSTANCES_GENERATED_SMOKE_TEST_SRC +"${CMAKE_CURRENT_SOURCE_DIR}/../RunTests.cpp" +"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_SMOKE_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_SMOKE_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_include_directories(${PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/../../src/aws-cpp-sdk-workspaces-instances/include) + +target_link_libraries(${PROJECT_NAME} + ${PROJECT_LIBS}) + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() + diff --git a/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp b/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp new file mode 100644 index 00000000000..5881c9a6297 --- /dev/null +++ b/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace WorkspacesInstancesSmokeTest{ +using namespace Aws::Auth; +using namespace Aws::Http; +using namespace Aws::Client; + +using namespace Aws::WorkspacesInstances; +using namespace Aws::WorkspacesInstances::Model; +class WorkspacesInstancesSmokeTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { + public: + static const char ALLOCATION_TAG[]; +}; +const char WorkspacesInstancesSmokeTestSuite::ALLOCATION_TAG[] = "WorkspacesInstancesSmokeTest"; +TEST_F(WorkspacesInstancesSmokeTestSuite, ListRegionsSuccess ) +{ + Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration clientConfiguration; + clientConfiguration.region = "us-east-1"; + clientConfiguration.useFIPS = false; + clientConfiguration.useDualStack = false; + auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); + //populate input params + + ListRegionsRequest input; + auto outcome = clientSp->ListRegions(input); + EXPECT_TRUE( outcome.IsSuccess()); +} +} diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.h index e8985b0622d..f30c24c4251 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerConfiguration.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -50,10 +51,27 @@ namespace Model template AnalyzerConfiguration& WithUnusedAccess(UnusedAccessT&& value) { SetUnusedAccess(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

Specifies the configuration of an internal access analyzer for an Amazon Web + * Services organization or account. This configuration determines how the analyzer + * evaluates access within your Amazon Web Services environment.

+ */ + inline const InternalAccessConfiguration& GetInternalAccess() const { return m_internalAccess; } + inline bool InternalAccessHasBeenSet() const { return m_internalAccessHasBeenSet; } + template + void SetInternalAccess(InternalAccessT&& value) { m_internalAccessHasBeenSet = true; m_internalAccess = std::forward(value); } + template + AnalyzerConfiguration& WithInternalAccess(InternalAccessT&& value) { SetInternalAccess(std::forward(value)); return *this;} + ///@} private: UnusedAccessConfiguration m_unusedAccess; bool m_unusedAccessHasBeenSet = false; + + InternalAccessConfiguration m_internalAccess; + bool m_internalAccessHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h index fd006f5153f..a4209d2223d 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/AnalyzerSummary.h @@ -164,8 +164,8 @@ namespace Model ///@{ /** - *

Specifies whether the analyzer is an external access or unused access - * analyzer.

+ *

Specifies if the analyzer is an external access, unused access, or internal + * access analyzer.

*/ inline const AnalyzerConfiguration& GetConfiguration() const { return m_configuration; } inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h index c7bd6fc370b..26d4672577d 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/CreateAnalyzerRequest.h @@ -55,11 +55,8 @@ namespace Model ///@{ /** - *

The type of analyzer to create. Only ACCOUNT, - * ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and - * ORGANIZATION_UNUSED_ACCESS analyzers are supported. You can create - * only one analyzer per account per Region. You can create up to 5 analyzers per - * organization per Region.

+ *

The type of analyzer to create. You can create only one analyzer per account + * per Region. You can create up to 5 analyzers per organization per Region.

*/ inline Type GetType() const { return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -120,7 +117,8 @@ namespace Model /** *

Specifies the configuration of the analyzer. If the analyzer is an unused * access analyzer, the specified scope of unused access is used for the - * configuration.

+ * configuration. If the analyzer is an internal access analyzer, the specified + * internal access analysis rules are used for the configuration.

*/ inline const AnalyzerConfiguration& GetConfiguration() const { return m_configuration; } inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h index e5f13b3dc7a..ae197d622af 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ExternalAccessDetails.h @@ -120,7 +120,19 @@ namespace Model ///@{ /** *

The type of restriction applied to the finding by the resource owner with an - * Organizations resource control policy (RCP).

+ * Organizations resource control policy (RCP).

  • + * APPLICABLE: There is an RCP present in the organization but IAM + * Access Analyzer does not include it in the evaluation of effective permissions. + * For example, if s3:DeleteObject is blocked by the RCP and the + * restriction is APPLICABLE, then s3:DeleteObject would + * still be included in the list of actions for the finding.

  • + * FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

    + *
  • NOT_APPLICABLE: There was no RCP present in the + * organization, or there was no RCP applicable to the resource. For example, the + * resource being analyzed is an Amazon RDS snapshot and there is an RCP in the + * organization, but the RCP only impacts Amazon S3 buckets.

  • + * APPLIED: This restriction is not currently available for external + * access findings.

*/ inline ResourceControlPolicyRestriction GetResourceControlPolicyRestriction() const { return m_resourceControlPolicyRestriction; } inline bool ResourceControlPolicyRestrictionHasBeenSet() const { return m_resourceControlPolicyRestrictionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h index 126f4356909..669676946ee 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingDetails.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -43,6 +44,20 @@ namespace Model AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

The details for an internal access analyzer finding. This contains + * information about access patterns identified within your Amazon Web Services + * organization or account.

+ */ + inline const InternalAccessDetails& GetInternalAccessDetails() const { return m_internalAccessDetails; } + inline bool InternalAccessDetailsHasBeenSet() const { return m_internalAccessDetailsHasBeenSet; } + template + void SetInternalAccessDetails(InternalAccessDetailsT&& value) { m_internalAccessDetailsHasBeenSet = true; m_internalAccessDetails = std::forward(value); } + template + FindingDetails& WithInternalAccessDetails(InternalAccessDetailsT&& value) { SetInternalAccessDetails(std::forward(value)); return *this;} + ///@} + ///@{ /** *

The details for an external access analyzer finding.

@@ -108,6 +123,9 @@ namespace Model ///@} private: + InternalAccessDetails m_internalAccessDetails; + bool m_internalAccessDetailsHasBeenSet = false; + ExternalAccessDetails m_externalAccessDetails; bool m_externalAccessDetailsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h index e3f5096d8b1..eb53c94252d 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingSummaryV2.h @@ -148,7 +148,11 @@ namespace Model ///@{ /** - *

The type of the external access or unused access finding.

+ *

The type of the access finding. For external access analyzers, the type is + * ExternalAccess. For unused access analyzers, the type can be + * UnusedIAMRole, UnusedIAMUserAccessKey, + * UnusedIAMUserPassword, or UnusedPermission. For + * internal access analyzers, the type is InternalAccess.

*/ inline FindingType GetFindingType() const { return m_findingType; } inline bool FindingTypeHasBeenSet() const { return m_findingTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.h index ad843ab466c..9d0e02ec704 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingType.h @@ -20,7 +20,8 @@ namespace Model UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, - UnusedPermission + UnusedPermission, + InternalAccess }; namespace FindingTypeMapper diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingsStatistics.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingsStatistics.h index 3efa24767a5..3518524b514 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingsStatistics.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/FindingsStatistics.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -52,6 +53,20 @@ namespace Model FindingsStatistics& WithExternalAccessFindingsStatistics(ExternalAccessFindingsStatisticsT&& value) { SetExternalAccessFindingsStatistics(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

The aggregate statistics for an internal access analyzer. This includes + * information about active, archived, and resolved findings related to internal + * access within your Amazon Web Services organization or account.

+ */ + inline const InternalAccessFindingsStatistics& GetInternalAccessFindingsStatistics() const { return m_internalAccessFindingsStatistics; } + inline bool InternalAccessFindingsStatisticsHasBeenSet() const { return m_internalAccessFindingsStatisticsHasBeenSet; } + template + void SetInternalAccessFindingsStatistics(InternalAccessFindingsStatisticsT&& value) { m_internalAccessFindingsStatisticsHasBeenSet = true; m_internalAccessFindingsStatistics = std::forward(value); } + template + FindingsStatistics& WithInternalAccessFindingsStatistics(InternalAccessFindingsStatisticsT&& value) { SetInternalAccessFindingsStatistics(std::forward(value)); return *this;} + ///@} + ///@{ /** *

The aggregate statistics for an unused access analyzer.

@@ -68,6 +83,9 @@ namespace Model ExternalAccessFindingsStatistics m_externalAccessFindingsStatistics; bool m_externalAccessFindingsStatisticsHasBeenSet = false; + InternalAccessFindingsStatistics m_internalAccessFindingsStatistics; + bool m_internalAccessFindingsStatisticsHasBeenSet = false; + UnusedAccessFindingsStatistics m_unusedAccessFindingsStatistics; bool m_unusedAccessFindingsStatisticsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h index 345d1575dc0..91553849f75 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/GetFindingV2Result.h @@ -164,7 +164,8 @@ namespace Model *

The type of the finding. For external access analyzers, the type is * ExternalAccess. For unused access analyzers, the type can be * UnusedIAMRole, UnusedIAMUserAccessKey, - * UnusedIAMUserPassword, or UnusedPermission.

+ * UnusedIAMUserPassword, or UnusedPermission. For + * internal access analyzers, the type is InternalAccess.

*/ inline FindingType GetFindingType() const { return m_findingType; } inline void SetFindingType(FindingType value) { m_findingTypeHasBeenSet = true; m_findingType = value; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessAnalysisRule.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessAnalysisRule.h new file mode 100644 index 00000000000..4207315d501 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessAnalysisRule.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about analysis rules for the internal access analyzer. + * Analysis rules determine which entities will generate findings based on the + * criteria you define when you create the rule.

See Also:

AWS + * API Reference

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

A list of rules for the internal access analyzer containing criteria to + * include in analysis. Only resources that meet the rule criteria will generate + * findings.

+ */ + inline const Aws::Vector& GetInclusions() const { return m_inclusions; } + inline bool InclusionsHasBeenSet() const { return m_inclusionsHasBeenSet; } + template> + void SetInclusions(InclusionsT&& value) { m_inclusionsHasBeenSet = true; m_inclusions = std::forward(value); } + template> + InternalAccessAnalysisRule& WithInclusions(InclusionsT&& value) { SetInclusions(std::forward(value)); return *this;} + template + InternalAccessAnalysisRule& AddInclusions(InclusionsT&& value) { m_inclusionsHasBeenSet = true; m_inclusions.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_inclusions; + bool m_inclusionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessAnalysisRuleCriteria.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessAnalysisRuleCriteria.h new file mode 100644 index 00000000000..491fc3a5fe4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessAnalysisRuleCriteria.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

The criteria for an analysis rule for an internal access + * analyzer.

See Also:

AWS + * API Reference

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

A list of Amazon Web Services account IDs to apply to the internal access + * analysis rule criteria. Account IDs can only be applied to the analysis rule + * criteria for organization-level analyzers.

+ */ + inline const Aws::Vector& GetAccountIds() const { return m_accountIds; } + inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; } + template> + void SetAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::forward(value); } + template> + InternalAccessAnalysisRuleCriteria& WithAccountIds(AccountIdsT&& value) { SetAccountIds(std::forward(value)); return *this;} + template + InternalAccessAnalysisRuleCriteria& AddAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet = true; m_accountIds.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

A list of resource types to apply to the internal access analysis rule + * criteria. The analyzer will only generate findings for resources of these types. + * These resource types are currently supported for internal access analyzers:

+ *
  • AWS::S3::Bucket

  • + * AWS::RDS::DBSnapshot

  • + * AWS::RDS::DBClusterSnapshot

  • + * AWS::S3Express::DirectoryBucket

  • + * AWS::DynamoDB::Table

  • + * AWS::DynamoDB::Stream

+ */ + inline const Aws::Vector& GetResourceTypes() const { return m_resourceTypes; } + inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; } + template> + void SetResourceTypes(ResourceTypesT&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::forward(value); } + template> + InternalAccessAnalysisRuleCriteria& WithResourceTypes(ResourceTypesT&& value) { SetResourceTypes(std::forward(value)); return *this;} + inline InternalAccessAnalysisRuleCriteria& AddResourceTypes(ResourceType value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

A list of resource ARNs to apply to the internal access analysis rule + * criteria. The analyzer will only generate findings for resources that match + * these ARNs.

+ */ + inline const Aws::Vector& GetResourceArns() const { return m_resourceArns; } + inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; } + template> + void SetResourceArns(ResourceArnsT&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = std::forward(value); } + template> + InternalAccessAnalysisRuleCriteria& WithResourceArns(ResourceArnsT&& value) { SetResourceArns(std::forward(value)); return *this;} + template + InternalAccessAnalysisRuleCriteria& AddResourceArns(ResourceArnsT&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_accountIds; + bool m_accountIdsHasBeenSet = false; + + Aws::Vector m_resourceTypes; + bool m_resourceTypesHasBeenSet = false; + + Aws::Vector m_resourceArns; + bool m_resourceArnsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessConfiguration.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessConfiguration.h new file mode 100644 index 00000000000..21f49e0eb09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessConfiguration.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Specifies the configuration of an internal access analyzer for an Amazon Web + * Services organization or account. This configuration determines how the analyzer + * evaluates internal access within your Amazon Web Services + * environment.

See Also:

AWS + * API Reference

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

Contains information about analysis rules for the internal access analyzer. + * These rules determine which resources and access patterns will be analyzed.

+ */ + inline const InternalAccessAnalysisRule& GetAnalysisRule() const { return m_analysisRule; } + inline bool AnalysisRuleHasBeenSet() const { return m_analysisRuleHasBeenSet; } + template + void SetAnalysisRule(AnalysisRuleT&& value) { m_analysisRuleHasBeenSet = true; m_analysisRule = std::forward(value); } + template + InternalAccessConfiguration& WithAnalysisRule(AnalysisRuleT&& value) { SetAnalysisRule(std::forward(value)); return *this;} + ///@} + private: + + InternalAccessAnalysisRule m_analysisRule; + bool m_analysisRuleHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessDetails.h new file mode 100644 index 00000000000..cddca6b085d --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessDetails.h @@ -0,0 +1,230 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about an internal access finding. This includes details + * about the access that was identified within your Amazon Web Services + * organization or account.

See Also:

AWS + * API Reference

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

The action in the analyzed policy statement that has internal access + * permission to use.

+ */ + inline const Aws::Vector& GetAction() const { return m_action; } + inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } + template> + void SetAction(ActionT&& value) { m_actionHasBeenSet = true; m_action = std::forward(value); } + template> + InternalAccessDetails& WithAction(ActionT&& value) { SetAction(std::forward(value)); return *this;} + template + InternalAccessDetails& AddAction(ActionT&& value) { m_actionHasBeenSet = true; m_action.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

The condition in the analyzed policy statement that resulted in an internal + * access finding.

+ */ + inline const Aws::Map& GetCondition() const { return m_condition; } + inline bool ConditionHasBeenSet() const { return m_conditionHasBeenSet; } + template> + void SetCondition(ConditionT&& value) { m_conditionHasBeenSet = true; m_condition = std::forward(value); } + template> + InternalAccessDetails& WithCondition(ConditionT&& value) { SetCondition(std::forward(value)); return *this;} + template + InternalAccessDetails& AddCondition(ConditionKeyT&& key, ConditionValueT&& value) { + m_conditionHasBeenSet = true; m_condition.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

The principal that has access to a resource within the internal + * environment.

+ */ + inline const Aws::Map& GetPrincipal() const { return m_principal; } + inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; } + template> + void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet = true; m_principal = std::forward(value); } + template> + InternalAccessDetails& WithPrincipal(PrincipalT&& value) { SetPrincipal(std::forward(value)); return *this;} + template + InternalAccessDetails& AddPrincipal(PrincipalKeyT&& key, PrincipalValueT&& value) { + m_principalHasBeenSet = true; m_principal.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

The Amazon Web Services account ID that owns the principal identified in the + * internal access finding.

+ */ + inline const Aws::String& GetPrincipalOwnerAccount() const { return m_principalOwnerAccount; } + inline bool PrincipalOwnerAccountHasBeenSet() const { return m_principalOwnerAccountHasBeenSet; } + template + void SetPrincipalOwnerAccount(PrincipalOwnerAccountT&& value) { m_principalOwnerAccountHasBeenSet = true; m_principalOwnerAccount = std::forward(value); } + template + InternalAccessDetails& WithPrincipalOwnerAccount(PrincipalOwnerAccountT&& value) { SetPrincipalOwnerAccount(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of internal access identified in the finding. This indicates how the + * access is granted within your Amazon Web Services environment.

+ */ + inline InternalAccessType GetAccessType() const { return m_accessType; } + inline bool AccessTypeHasBeenSet() const { return m_accessTypeHasBeenSet; } + inline void SetAccessType(InternalAccessType value) { m_accessTypeHasBeenSet = true; m_accessType = value; } + inline InternalAccessDetails& WithAccessType(InternalAccessType value) { SetAccessType(value); return *this;} + ///@} + + ///@{ + /** + *

The type of principal identified in the internal access finding, such as IAM + * role or IAM user.

+ */ + inline PrincipalType GetPrincipalType() const { return m_principalType; } + inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; } + inline void SetPrincipalType(PrincipalType value) { m_principalTypeHasBeenSet = true; m_principalType = value; } + inline InternalAccessDetails& WithPrincipalType(PrincipalType value) { SetPrincipalType(value); return *this;} + ///@} + + ///@{ + /** + *

The sources of the internal access finding. This indicates how the access + * that generated the finding is granted within your Amazon Web Services + * environment.

+ */ + inline const Aws::Vector& GetSources() const { return m_sources; } + inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; } + template> + void SetSources(SourcesT&& value) { m_sourcesHasBeenSet = true; m_sources = std::forward(value); } + template> + InternalAccessDetails& WithSources(SourcesT&& value) { SetSources(std::forward(value)); return *this;} + template + InternalAccessDetails& AddSources(SourcesT&& value) { m_sourcesHasBeenSet = true; m_sources.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

The type of restriction applied to the finding by the resource owner with an + * Organizations resource control policy (RCP).

  • + * APPLICABLE: There is an RCP present in the organization but IAM + * Access Analyzer does not include it in the evaluation of effective permissions. + * For example, if s3:DeleteObject is blocked by the RCP and the + * restriction is APPLICABLE, then s3:DeleteObject would + * still be included in the list of actions for the finding. Only applicable to + * internal access findings with the account as the zone of trust.

  • + *

    FAILED_TO_EVALUATE_RCP: There was an error evaluating the + * RCP.

  • NOT_APPLICABLE: There was no RCP present in + * the organization. For internal access findings with the account as the zone of + * trust, NOT_APPLICABLE could also indicate that there was no RCP + * applicable to the resource.

  • APPLIED: An RCP is + * present in the organization and IAM Access Analyzer included it in the + * evaluation of effective permissions. For example, if + * s3:DeleteObject is blocked by the RCP and the restriction is + * APPLIED, then s3:DeleteObject would not be included in + * the list of actions for the finding. Only applicable to internal access findings + * with the organization as the zone of trust.

+ */ + inline ResourceControlPolicyRestriction GetResourceControlPolicyRestriction() const { return m_resourceControlPolicyRestriction; } + inline bool ResourceControlPolicyRestrictionHasBeenSet() const { return m_resourceControlPolicyRestrictionHasBeenSet; } + inline void SetResourceControlPolicyRestriction(ResourceControlPolicyRestriction value) { m_resourceControlPolicyRestrictionHasBeenSet = true; m_resourceControlPolicyRestriction = value; } + inline InternalAccessDetails& WithResourceControlPolicyRestriction(ResourceControlPolicyRestriction value) { SetResourceControlPolicyRestriction(value); return *this;} + ///@} + + ///@{ + /** + *

The type of restriction applied to the finding by an Organizations service + * control policy (SCP).

  • APPLICABLE: There is an SCP + * present in the organization but IAM Access Analyzer does not include it in the + * evaluation of effective permissions. Only applicable to internal access findings + * with the account as the zone of trust.

  • + * FAILED_TO_EVALUATE_SCP: There was an error evaluating the SCP.

    + *
  • NOT_APPLICABLE: There was no SCP present in the + * organization. For internal access findings with the account as the zone of + * trust, NOT_APPLICABLE could also indicate that there was no SCP + * applicable to the principal.

  • APPLIED: An SCP is + * present in the organization and IAM Access Analyzer included it in the + * evaluation of effective permissions. Only applicable to internal access findings + * with the organization as the zone of trust.

+ */ + inline ServiceControlPolicyRestriction GetServiceControlPolicyRestriction() const { return m_serviceControlPolicyRestriction; } + inline bool ServiceControlPolicyRestrictionHasBeenSet() const { return m_serviceControlPolicyRestrictionHasBeenSet; } + inline void SetServiceControlPolicyRestriction(ServiceControlPolicyRestriction value) { m_serviceControlPolicyRestrictionHasBeenSet = true; m_serviceControlPolicyRestriction = value; } + inline InternalAccessDetails& WithServiceControlPolicyRestriction(ServiceControlPolicyRestriction value) { SetServiceControlPolicyRestriction(value); return *this;} + ///@} + private: + + Aws::Vector m_action; + bool m_actionHasBeenSet = false; + + Aws::Map m_condition; + bool m_conditionHasBeenSet = false; + + Aws::Map m_principal; + bool m_principalHasBeenSet = false; + + Aws::String m_principalOwnerAccount; + bool m_principalOwnerAccountHasBeenSet = false; + + InternalAccessType m_accessType{InternalAccessType::NOT_SET}; + bool m_accessTypeHasBeenSet = false; + + PrincipalType m_principalType{PrincipalType::NOT_SET}; + bool m_principalTypeHasBeenSet = false; + + Aws::Vector m_sources; + bool m_sourcesHasBeenSet = false; + + ResourceControlPolicyRestriction m_resourceControlPolicyRestriction{ResourceControlPolicyRestriction::NOT_SET}; + bool m_resourceControlPolicyRestrictionHasBeenSet = false; + + ServiceControlPolicyRestriction m_serviceControlPolicyRestriction{ServiceControlPolicyRestriction::NOT_SET}; + bool m_serviceControlPolicyRestrictionHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessFindingsStatistics.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessFindingsStatistics.h new file mode 100644 index 00000000000..cfa3aac5fc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessFindingsStatistics.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Provides aggregate statistics about the findings for the specified internal + * access analyzer. This includes counts of active, archived, and resolved + * findings.

See Also:

AWS + * API Reference

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

The total number of active findings for each resource type of the specified + * internal access analyzer.

+ */ + inline const Aws::Map& GetResourceTypeStatistics() const { return m_resourceTypeStatistics; } + inline bool ResourceTypeStatisticsHasBeenSet() const { return m_resourceTypeStatisticsHasBeenSet; } + template> + void SetResourceTypeStatistics(ResourceTypeStatisticsT&& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics = std::forward(value); } + template> + InternalAccessFindingsStatistics& WithResourceTypeStatistics(ResourceTypeStatisticsT&& value) { SetResourceTypeStatistics(std::forward(value)); return *this;} + inline InternalAccessFindingsStatistics& AddResourceTypeStatistics(ResourceType key, InternalAccessResourceTypeDetails value) { + m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics.emplace(key, value); return *this; + } + ///@} + + ///@{ + /** + *

The number of active findings for the specified internal access analyzer.

+ */ + inline int GetTotalActiveFindings() const { return m_totalActiveFindings; } + inline bool TotalActiveFindingsHasBeenSet() const { return m_totalActiveFindingsHasBeenSet; } + inline void SetTotalActiveFindings(int value) { m_totalActiveFindingsHasBeenSet = true; m_totalActiveFindings = value; } + inline InternalAccessFindingsStatistics& WithTotalActiveFindings(int value) { SetTotalActiveFindings(value); return *this;} + ///@} + + ///@{ + /** + *

The number of archived findings for the specified internal access + * analyzer.

+ */ + inline int GetTotalArchivedFindings() const { return m_totalArchivedFindings; } + inline bool TotalArchivedFindingsHasBeenSet() const { return m_totalArchivedFindingsHasBeenSet; } + inline void SetTotalArchivedFindings(int value) { m_totalArchivedFindingsHasBeenSet = true; m_totalArchivedFindings = value; } + inline InternalAccessFindingsStatistics& WithTotalArchivedFindings(int value) { SetTotalArchivedFindings(value); return *this;} + ///@} + + ///@{ + /** + *

The number of resolved findings for the specified internal access + * analyzer.

+ */ + inline int GetTotalResolvedFindings() const { return m_totalResolvedFindings; } + inline bool TotalResolvedFindingsHasBeenSet() const { return m_totalResolvedFindingsHasBeenSet; } + inline void SetTotalResolvedFindings(int value) { m_totalResolvedFindingsHasBeenSet = true; m_totalResolvedFindings = value; } + inline InternalAccessFindingsStatistics& WithTotalResolvedFindings(int value) { SetTotalResolvedFindings(value); return *this;} + ///@} + private: + + Aws::Map m_resourceTypeStatistics; + bool m_resourceTypeStatisticsHasBeenSet = false; + + int m_totalActiveFindings{0}; + bool m_totalActiveFindingsHasBeenSet = false; + + int m_totalArchivedFindings{0}; + bool m_totalArchivedFindingsHasBeenSet = false; + + int m_totalResolvedFindings{0}; + bool m_totalResolvedFindingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessResourceTypeDetails.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessResourceTypeDetails.h new file mode 100644 index 00000000000..24a8aee618b --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessResourceTypeDetails.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AccessAnalyzer +{ +namespace Model +{ + + /** + *

Contains information about the total number of active, archived, and resolved + * findings for a resource type of an internal access analyzer.

See + * Also:

AWS + * API Reference

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

The total number of active findings for the resource type in the internal + * access analyzer.

+ */ + inline int GetTotalActiveFindings() const { return m_totalActiveFindings; } + inline bool TotalActiveFindingsHasBeenSet() const { return m_totalActiveFindingsHasBeenSet; } + inline void SetTotalActiveFindings(int value) { m_totalActiveFindingsHasBeenSet = true; m_totalActiveFindings = value; } + inline InternalAccessResourceTypeDetails& WithTotalActiveFindings(int value) { SetTotalActiveFindings(value); return *this;} + ///@} + + ///@{ + /** + *

The total number of resolved findings for the resource type in the internal + * access analyzer.

+ */ + inline int GetTotalResolvedFindings() const { return m_totalResolvedFindings; } + inline bool TotalResolvedFindingsHasBeenSet() const { return m_totalResolvedFindingsHasBeenSet; } + inline void SetTotalResolvedFindings(int value) { m_totalResolvedFindingsHasBeenSet = true; m_totalResolvedFindings = value; } + inline InternalAccessResourceTypeDetails& WithTotalResolvedFindings(int value) { SetTotalResolvedFindings(value); return *this;} + ///@} + + ///@{ + /** + *

The total number of archived findings for the resource type in the internal + * access analyzer.

+ */ + inline int GetTotalArchivedFindings() const { return m_totalArchivedFindings; } + inline bool TotalArchivedFindingsHasBeenSet() const { return m_totalArchivedFindingsHasBeenSet; } + inline void SetTotalArchivedFindings(int value) { m_totalArchivedFindingsHasBeenSet = true; m_totalArchivedFindings = value; } + inline InternalAccessResourceTypeDetails& WithTotalArchivedFindings(int value) { SetTotalArchivedFindings(value); return *this;} + ///@} + private: + + int m_totalActiveFindings{0}; + bool m_totalActiveFindingsHasBeenSet = false; + + int m_totalResolvedFindings{0}; + bool m_totalResolvedFindingsHasBeenSet = false; + + int m_totalArchivedFindings{0}; + bool m_totalArchivedFindingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessType.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessType.h new file mode 100644 index 00000000000..e1703eb59be --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/InternalAccessType.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 AccessAnalyzer +{ +namespace Model +{ + enum class InternalAccessType + { + NOT_SET, + INTRA_ACCOUNT, + INTRA_ORG + }; + +namespace InternalAccessTypeMapper +{ +AWS_ACCESSANALYZER_API InternalAccessType GetInternalAccessTypeForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForInternalAccessType(InternalAccessType value); +} // namespace InternalAccessTypeMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/PrincipalType.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/PrincipalType.h new file mode 100644 index 00000000000..148beafdcc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/PrincipalType.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 AccessAnalyzer +{ +namespace Model +{ + enum class PrincipalType + { + NOT_SET, + IAM_ROLE, + IAM_USER + }; + +namespace PrincipalTypeMapper +{ +AWS_ACCESSANALYZER_API PrincipalType GetPrincipalTypeForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForPrincipalType(PrincipalType value); +} // namespace PrincipalTypeMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ResourceControlPolicyRestriction.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ResourceControlPolicyRestriction.h index aaa277a3407..6e2996eb9ee 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ResourceControlPolicyRestriction.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ResourceControlPolicyRestriction.h @@ -18,7 +18,8 @@ namespace Model NOT_SET, APPLICABLE, FAILED_TO_EVALUATE_RCP, - NOT_APPLICABLE + NOT_APPLICABLE, + APPLIED }; namespace ResourceControlPolicyRestrictionMapper diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ServiceControlPolicyRestriction.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ServiceControlPolicyRestriction.h new file mode 100644 index 00000000000..717b4f1d1f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/ServiceControlPolicyRestriction.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + enum class ServiceControlPolicyRestriction + { + NOT_SET, + APPLICABLE, + FAILED_TO_EVALUATE_SCP, + NOT_APPLICABLE, + APPLIED + }; + +namespace ServiceControlPolicyRestrictionMapper +{ +AWS_ACCESSANALYZER_API ServiceControlPolicyRestriction GetServiceControlPolicyRestrictionForName(const Aws::String& name); + +AWS_ACCESSANALYZER_API Aws::String GetNameForServiceControlPolicyRestriction(ServiceControlPolicyRestriction value); +} // namespace ServiceControlPolicyRestrictionMapper +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h index 4e1a6481a1d..fe500d12651 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/model/Type.h @@ -19,7 +19,9 @@ namespace Model ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS, - ORGANIZATION_UNUSED_ACCESS + ORGANIZATION_UNUSED_ACCESS, + ACCOUNT_INTERNAL_ACCESS, + ORGANIZATION_INTERNAL_ACCESS }; namespace TypeMapper diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.cpp index 536e4dde3c0..629fc51dfd8 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/AnalyzerConfiguration.cpp @@ -30,6 +30,11 @@ AnalyzerConfiguration& AnalyzerConfiguration::operator =(JsonView jsonValue) m_unusedAccess = jsonValue.GetObject("unusedAccess"); m_unusedAccessHasBeenSet = true; } + if(jsonValue.ValueExists("internalAccess")) + { + m_internalAccess = jsonValue.GetObject("internalAccess"); + m_internalAccessHasBeenSet = true; + } return *this; } @@ -43,6 +48,12 @@ JsonValue AnalyzerConfiguration::Jsonize() const } + if(m_internalAccessHasBeenSet) + { + payload.WithObject("internalAccess", m_internalAccess.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp index 80d63347523..9aec8423166 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingDetails.cpp @@ -25,6 +25,11 @@ FindingDetails::FindingDetails(JsonView jsonValue) FindingDetails& FindingDetails::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("internalAccessDetails")) + { + m_internalAccessDetails = jsonValue.GetObject("internalAccessDetails"); + m_internalAccessDetailsHasBeenSet = true; + } if(jsonValue.ValueExists("externalAccessDetails")) { m_externalAccessDetails = jsonValue.GetObject("externalAccessDetails"); @@ -57,6 +62,12 @@ JsonValue FindingDetails::Jsonize() const { JsonValue payload; + if(m_internalAccessDetailsHasBeenSet) + { + payload.WithObject("internalAccessDetails", m_internalAccessDetails.Jsonize()); + + } + if(m_externalAccessDetailsHasBeenSet) { payload.WithObject("externalAccessDetails", m_externalAccessDetails.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.cpp index f53b6502d01..61ae1413f4b 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int UnusedIAMUserAccessKey_HASH = HashingUtils::HashString("UnusedIAMUserAccessKey"); static const int UnusedIAMUserPassword_HASH = HashingUtils::HashString("UnusedIAMUserPassword"); static const int UnusedPermission_HASH = HashingUtils::HashString("UnusedPermission"); + static const int InternalAccess_HASH = HashingUtils::HashString("InternalAccess"); FindingType GetFindingTypeForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return FindingType::UnusedPermission; } + else if (hashCode == InternalAccess_HASH) + { + return FindingType::InternalAccess; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "UnusedIAMUserPassword"; case FindingType::UnusedPermission: return "UnusedPermission"; + case FindingType::InternalAccess: + return "InternalAccess"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingsStatistics.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingsStatistics.cpp index 971d7357eee..c2f585e6bc0 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingsStatistics.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/FindingsStatistics.cpp @@ -30,6 +30,11 @@ FindingsStatistics& FindingsStatistics::operator =(JsonView jsonValue) m_externalAccessFindingsStatistics = jsonValue.GetObject("externalAccessFindingsStatistics"); m_externalAccessFindingsStatisticsHasBeenSet = true; } + if(jsonValue.ValueExists("internalAccessFindingsStatistics")) + { + m_internalAccessFindingsStatistics = jsonValue.GetObject("internalAccessFindingsStatistics"); + m_internalAccessFindingsStatisticsHasBeenSet = true; + } if(jsonValue.ValueExists("unusedAccessFindingsStatistics")) { m_unusedAccessFindingsStatistics = jsonValue.GetObject("unusedAccessFindingsStatistics"); @@ -48,6 +53,12 @@ JsonValue FindingsStatistics::Jsonize() const } + if(m_internalAccessFindingsStatisticsHasBeenSet) + { + payload.WithObject("internalAccessFindingsStatistics", m_internalAccessFindingsStatistics.Jsonize()); + + } + if(m_unusedAccessFindingsStatisticsHasBeenSet) { payload.WithObject("unusedAccessFindingsStatistics", m_unusedAccessFindingsStatistics.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessAnalysisRule.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessAnalysisRule.cpp new file mode 100644 index 00000000000..ede5b36cfe1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessAnalysisRule.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +InternalAccessAnalysisRule::InternalAccessAnalysisRule(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalAccessAnalysisRule& InternalAccessAnalysisRule::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("inclusions")) + { + Aws::Utils::Array inclusionsJsonList = jsonValue.GetArray("inclusions"); + for(unsigned inclusionsIndex = 0; inclusionsIndex < inclusionsJsonList.GetLength(); ++inclusionsIndex) + { + m_inclusions.push_back(inclusionsJsonList[inclusionsIndex].AsObject()); + } + m_inclusionsHasBeenSet = true; + } + return *this; +} + +JsonValue InternalAccessAnalysisRule::Jsonize() const +{ + JsonValue payload; + + if(m_inclusionsHasBeenSet) + { + Aws::Utils::Array inclusionsJsonList(m_inclusions.size()); + for(unsigned inclusionsIndex = 0; inclusionsIndex < inclusionsJsonList.GetLength(); ++inclusionsIndex) + { + inclusionsJsonList[inclusionsIndex].AsObject(m_inclusions[inclusionsIndex].Jsonize()); + } + payload.WithArray("inclusions", std::move(inclusionsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessAnalysisRuleCriteria.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessAnalysisRuleCriteria.cpp new file mode 100644 index 00000000000..c94196829c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessAnalysisRuleCriteria.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +InternalAccessAnalysisRuleCriteria::InternalAccessAnalysisRuleCriteria(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalAccessAnalysisRuleCriteria& InternalAccessAnalysisRuleCriteria::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountIds")) + { + Aws::Utils::Array accountIdsJsonList = jsonValue.GetArray("accountIds"); + for(unsigned accountIdsIndex = 0; accountIdsIndex < accountIdsJsonList.GetLength(); ++accountIdsIndex) + { + m_accountIds.push_back(accountIdsJsonList[accountIdsIndex].AsString()); + } + m_accountIdsHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceTypes")) + { + Aws::Utils::Array resourceTypesJsonList = jsonValue.GetArray("resourceTypes"); + for(unsigned resourceTypesIndex = 0; resourceTypesIndex < resourceTypesJsonList.GetLength(); ++resourceTypesIndex) + { + m_resourceTypes.push_back(ResourceTypeMapper::GetResourceTypeForName(resourceTypesJsonList[resourceTypesIndex].AsString())); + } + m_resourceTypesHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceArns")) + { + Aws::Utils::Array resourceArnsJsonList = jsonValue.GetArray("resourceArns"); + for(unsigned resourceArnsIndex = 0; resourceArnsIndex < resourceArnsJsonList.GetLength(); ++resourceArnsIndex) + { + m_resourceArns.push_back(resourceArnsJsonList[resourceArnsIndex].AsString()); + } + m_resourceArnsHasBeenSet = true; + } + return *this; +} + +JsonValue InternalAccessAnalysisRuleCriteria::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdsHasBeenSet) + { + Aws::Utils::Array accountIdsJsonList(m_accountIds.size()); + for(unsigned accountIdsIndex = 0; accountIdsIndex < accountIdsJsonList.GetLength(); ++accountIdsIndex) + { + accountIdsJsonList[accountIdsIndex].AsString(m_accountIds[accountIdsIndex]); + } + payload.WithArray("accountIds", std::move(accountIdsJsonList)); + + } + + if(m_resourceTypesHasBeenSet) + { + Aws::Utils::Array resourceTypesJsonList(m_resourceTypes.size()); + for(unsigned resourceTypesIndex = 0; resourceTypesIndex < resourceTypesJsonList.GetLength(); ++resourceTypesIndex) + { + resourceTypesJsonList[resourceTypesIndex].AsString(ResourceTypeMapper::GetNameForResourceType(m_resourceTypes[resourceTypesIndex])); + } + payload.WithArray("resourceTypes", std::move(resourceTypesJsonList)); + + } + + if(m_resourceArnsHasBeenSet) + { + Aws::Utils::Array resourceArnsJsonList(m_resourceArns.size()); + for(unsigned resourceArnsIndex = 0; resourceArnsIndex < resourceArnsJsonList.GetLength(); ++resourceArnsIndex) + { + resourceArnsJsonList[resourceArnsIndex].AsString(m_resourceArns[resourceArnsIndex]); + } + payload.WithArray("resourceArns", std::move(resourceArnsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessConfiguration.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessConfiguration.cpp new file mode 100644 index 00000000000..47dd2ea41f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +InternalAccessConfiguration::InternalAccessConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalAccessConfiguration& InternalAccessConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("analysisRule")) + { + m_analysisRule = jsonValue.GetObject("analysisRule"); + m_analysisRuleHasBeenSet = true; + } + return *this; +} + +JsonValue InternalAccessConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_analysisRuleHasBeenSet) + { + payload.WithObject("analysisRule", m_analysisRule.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessDetails.cpp new file mode 100644 index 00000000000..e5db4678f19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessDetails.cpp @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +InternalAccessDetails::InternalAccessDetails(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalAccessDetails& InternalAccessDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("action")) + { + Aws::Utils::Array actionJsonList = jsonValue.GetArray("action"); + for(unsigned actionIndex = 0; actionIndex < actionJsonList.GetLength(); ++actionIndex) + { + m_action.push_back(actionJsonList[actionIndex].AsString()); + } + m_actionHasBeenSet = true; + } + if(jsonValue.ValueExists("condition")) + { + Aws::Map conditionJsonMap = jsonValue.GetObject("condition").GetAllObjects(); + for(auto& conditionItem : conditionJsonMap) + { + m_condition[conditionItem.first] = conditionItem.second.AsString(); + } + m_conditionHasBeenSet = true; + } + if(jsonValue.ValueExists("principal")) + { + Aws::Map principalJsonMap = jsonValue.GetObject("principal").GetAllObjects(); + for(auto& principalItem : principalJsonMap) + { + m_principal[principalItem.first] = principalItem.second.AsString(); + } + m_principalHasBeenSet = true; + } + if(jsonValue.ValueExists("principalOwnerAccount")) + { + m_principalOwnerAccount = jsonValue.GetString("principalOwnerAccount"); + m_principalOwnerAccountHasBeenSet = true; + } + if(jsonValue.ValueExists("accessType")) + { + m_accessType = InternalAccessTypeMapper::GetInternalAccessTypeForName(jsonValue.GetString("accessType")); + m_accessTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("principalType")) + { + m_principalType = PrincipalTypeMapper::GetPrincipalTypeForName(jsonValue.GetString("principalType")); + m_principalTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("sources")) + { + Aws::Utils::Array sourcesJsonList = jsonValue.GetArray("sources"); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + m_sources.push_back(sourcesJsonList[sourcesIndex].AsObject()); + } + m_sourcesHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceControlPolicyRestriction")) + { + m_resourceControlPolicyRestriction = ResourceControlPolicyRestrictionMapper::GetResourceControlPolicyRestrictionForName(jsonValue.GetString("resourceControlPolicyRestriction")); + m_resourceControlPolicyRestrictionHasBeenSet = true; + } + if(jsonValue.ValueExists("serviceControlPolicyRestriction")) + { + m_serviceControlPolicyRestriction = ServiceControlPolicyRestrictionMapper::GetServiceControlPolicyRestrictionForName(jsonValue.GetString("serviceControlPolicyRestriction")); + m_serviceControlPolicyRestrictionHasBeenSet = true; + } + return *this; +} + +JsonValue InternalAccessDetails::Jsonize() const +{ + JsonValue payload; + + if(m_actionHasBeenSet) + { + Aws::Utils::Array actionJsonList(m_action.size()); + for(unsigned actionIndex = 0; actionIndex < actionJsonList.GetLength(); ++actionIndex) + { + actionJsonList[actionIndex].AsString(m_action[actionIndex]); + } + payload.WithArray("action", std::move(actionJsonList)); + + } + + if(m_conditionHasBeenSet) + { + JsonValue conditionJsonMap; + for(auto& conditionItem : m_condition) + { + conditionJsonMap.WithString(conditionItem.first, conditionItem.second); + } + payload.WithObject("condition", std::move(conditionJsonMap)); + + } + + if(m_principalHasBeenSet) + { + JsonValue principalJsonMap; + for(auto& principalItem : m_principal) + { + principalJsonMap.WithString(principalItem.first, principalItem.second); + } + payload.WithObject("principal", std::move(principalJsonMap)); + + } + + if(m_principalOwnerAccountHasBeenSet) + { + payload.WithString("principalOwnerAccount", m_principalOwnerAccount); + + } + + if(m_accessTypeHasBeenSet) + { + payload.WithString("accessType", InternalAccessTypeMapper::GetNameForInternalAccessType(m_accessType)); + } + + if(m_principalTypeHasBeenSet) + { + payload.WithString("principalType", PrincipalTypeMapper::GetNameForPrincipalType(m_principalType)); + } + + if(m_sourcesHasBeenSet) + { + Aws::Utils::Array sourcesJsonList(m_sources.size()); + for(unsigned sourcesIndex = 0; sourcesIndex < sourcesJsonList.GetLength(); ++sourcesIndex) + { + sourcesJsonList[sourcesIndex].AsObject(m_sources[sourcesIndex].Jsonize()); + } + payload.WithArray("sources", std::move(sourcesJsonList)); + + } + + if(m_resourceControlPolicyRestrictionHasBeenSet) + { + payload.WithString("resourceControlPolicyRestriction", ResourceControlPolicyRestrictionMapper::GetNameForResourceControlPolicyRestriction(m_resourceControlPolicyRestriction)); + } + + if(m_serviceControlPolicyRestrictionHasBeenSet) + { + payload.WithString("serviceControlPolicyRestriction", ServiceControlPolicyRestrictionMapper::GetNameForServiceControlPolicyRestriction(m_serviceControlPolicyRestriction)); + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessFindingsStatistics.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessFindingsStatistics.cpp new file mode 100644 index 00000000000..29ca26559de --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessFindingsStatistics.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AccessAnalyzer +{ +namespace Model +{ + +InternalAccessFindingsStatistics::InternalAccessFindingsStatistics(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalAccessFindingsStatistics& InternalAccessFindingsStatistics::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resourceTypeStatistics")) + { + Aws::Map resourceTypeStatisticsJsonMap = jsonValue.GetObject("resourceTypeStatistics").GetAllObjects(); + for(auto& resourceTypeStatisticsItem : resourceTypeStatisticsJsonMap) + { + m_resourceTypeStatistics[ResourceTypeMapper::GetResourceTypeForName(resourceTypeStatisticsItem.first)] = resourceTypeStatisticsItem.second.AsObject(); + } + m_resourceTypeStatisticsHasBeenSet = true; + } + if(jsonValue.ValueExists("totalActiveFindings")) + { + m_totalActiveFindings = jsonValue.GetInteger("totalActiveFindings"); + m_totalActiveFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("totalArchivedFindings")) + { + m_totalArchivedFindings = jsonValue.GetInteger("totalArchivedFindings"); + m_totalArchivedFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("totalResolvedFindings")) + { + m_totalResolvedFindings = jsonValue.GetInteger("totalResolvedFindings"); + m_totalResolvedFindingsHasBeenSet = true; + } + return *this; +} + +JsonValue InternalAccessFindingsStatistics::Jsonize() const +{ + JsonValue payload; + + if(m_resourceTypeStatisticsHasBeenSet) + { + JsonValue resourceTypeStatisticsJsonMap; + for(auto& resourceTypeStatisticsItem : m_resourceTypeStatistics) + { + resourceTypeStatisticsJsonMap.WithObject(ResourceTypeMapper::GetNameForResourceType(resourceTypeStatisticsItem.first), resourceTypeStatisticsItem.second.Jsonize()); + } + payload.WithObject("resourceTypeStatistics", std::move(resourceTypeStatisticsJsonMap)); + + } + + if(m_totalActiveFindingsHasBeenSet) + { + payload.WithInteger("totalActiveFindings", m_totalActiveFindings); + + } + + if(m_totalArchivedFindingsHasBeenSet) + { + payload.WithInteger("totalArchivedFindings", m_totalArchivedFindings); + + } + + if(m_totalResolvedFindingsHasBeenSet) + { + payload.WithInteger("totalResolvedFindings", m_totalResolvedFindings); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessResourceTypeDetails.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessResourceTypeDetails.cpp new file mode 100644 index 00000000000..2ee0ad38308 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessResourceTypeDetails.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 AccessAnalyzer +{ +namespace Model +{ + +InternalAccessResourceTypeDetails::InternalAccessResourceTypeDetails(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalAccessResourceTypeDetails& InternalAccessResourceTypeDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("totalActiveFindings")) + { + m_totalActiveFindings = jsonValue.GetInteger("totalActiveFindings"); + m_totalActiveFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("totalResolvedFindings")) + { + m_totalResolvedFindings = jsonValue.GetInteger("totalResolvedFindings"); + m_totalResolvedFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("totalArchivedFindings")) + { + m_totalArchivedFindings = jsonValue.GetInteger("totalArchivedFindings"); + m_totalArchivedFindingsHasBeenSet = true; + } + return *this; +} + +JsonValue InternalAccessResourceTypeDetails::Jsonize() const +{ + JsonValue payload; + + if(m_totalActiveFindingsHasBeenSet) + { + payload.WithInteger("totalActiveFindings", m_totalActiveFindings); + + } + + if(m_totalResolvedFindingsHasBeenSet) + { + payload.WithInteger("totalResolvedFindings", m_totalResolvedFindings); + + } + + if(m_totalArchivedFindingsHasBeenSet) + { + payload.WithInteger("totalArchivedFindings", m_totalArchivedFindings); + + } + + return payload; +} + +} // namespace Model +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessType.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessType.cpp new file mode 100644 index 00000000000..5b6071c9d3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/InternalAccessType.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 AccessAnalyzer + { + namespace Model + { + namespace InternalAccessTypeMapper + { + + static const int INTRA_ACCOUNT_HASH = HashingUtils::HashString("INTRA_ACCOUNT"); + static const int INTRA_ORG_HASH = HashingUtils::HashString("INTRA_ORG"); + + + InternalAccessType GetInternalAccessTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INTRA_ACCOUNT_HASH) + { + return InternalAccessType::INTRA_ACCOUNT; + } + else if (hashCode == INTRA_ORG_HASH) + { + return InternalAccessType::INTRA_ORG; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InternalAccessType::NOT_SET; + } + + Aws::String GetNameForInternalAccessType(InternalAccessType enumValue) + { + switch(enumValue) + { + case InternalAccessType::NOT_SET: + return {}; + case InternalAccessType::INTRA_ACCOUNT: + return "INTRA_ACCOUNT"; + case InternalAccessType::INTRA_ORG: + return "INTRA_ORG"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InternalAccessTypeMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/PrincipalType.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/PrincipalType.cpp new file mode 100644 index 00000000000..c6ce5c1651a --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/PrincipalType.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 AccessAnalyzer + { + namespace Model + { + namespace PrincipalTypeMapper + { + + static const int IAM_ROLE_HASH = HashingUtils::HashString("IAM_ROLE"); + static const int IAM_USER_HASH = HashingUtils::HashString("IAM_USER"); + + + PrincipalType GetPrincipalTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IAM_ROLE_HASH) + { + return PrincipalType::IAM_ROLE; + } + else if (hashCode == IAM_USER_HASH) + { + return PrincipalType::IAM_USER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PrincipalType::NOT_SET; + } + + Aws::String GetNameForPrincipalType(PrincipalType enumValue) + { + switch(enumValue) + { + case PrincipalType::NOT_SET: + return {}; + case PrincipalType::IAM_ROLE: + return "IAM_ROLE"; + case PrincipalType::IAM_USER: + return "IAM_USER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PrincipalTypeMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ResourceControlPolicyRestriction.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ResourceControlPolicyRestriction.cpp index 444453d9abf..3653c96ee62 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ResourceControlPolicyRestriction.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ResourceControlPolicyRestriction.cpp @@ -23,6 +23,7 @@ namespace Aws static const int APPLICABLE_HASH = HashingUtils::HashString("APPLICABLE"); static const int FAILED_TO_EVALUATE_RCP_HASH = HashingUtils::HashString("FAILED_TO_EVALUATE_RCP"); static const int NOT_APPLICABLE_HASH = HashingUtils::HashString("NOT_APPLICABLE"); + static const int APPLIED_HASH = HashingUtils::HashString("APPLIED"); ResourceControlPolicyRestriction GetResourceControlPolicyRestrictionForName(const Aws::String& name) @@ -40,6 +41,10 @@ namespace Aws { return ResourceControlPolicyRestriction::NOT_APPLICABLE; } + else if (hashCode == APPLIED_HASH) + { + return ResourceControlPolicyRestriction::APPLIED; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +67,8 @@ namespace Aws return "FAILED_TO_EVALUATE_RCP"; case ResourceControlPolicyRestriction::NOT_APPLICABLE: return "NOT_APPLICABLE"; + case ResourceControlPolicyRestriction::APPLIED: + return "APPLIED"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ServiceControlPolicyRestriction.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ServiceControlPolicyRestriction.cpp new file mode 100644 index 00000000000..618e580abcd --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/ServiceControlPolicyRestriction.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace AccessAnalyzer + { + namespace Model + { + namespace ServiceControlPolicyRestrictionMapper + { + + static const int APPLICABLE_HASH = HashingUtils::HashString("APPLICABLE"); + static const int FAILED_TO_EVALUATE_SCP_HASH = HashingUtils::HashString("FAILED_TO_EVALUATE_SCP"); + static const int NOT_APPLICABLE_HASH = HashingUtils::HashString("NOT_APPLICABLE"); + static const int APPLIED_HASH = HashingUtils::HashString("APPLIED"); + + + ServiceControlPolicyRestriction GetServiceControlPolicyRestrictionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == APPLICABLE_HASH) + { + return ServiceControlPolicyRestriction::APPLICABLE; + } + else if (hashCode == FAILED_TO_EVALUATE_SCP_HASH) + { + return ServiceControlPolicyRestriction::FAILED_TO_EVALUATE_SCP; + } + else if (hashCode == NOT_APPLICABLE_HASH) + { + return ServiceControlPolicyRestriction::NOT_APPLICABLE; + } + else if (hashCode == APPLIED_HASH) + { + return ServiceControlPolicyRestriction::APPLIED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceControlPolicyRestriction::NOT_SET; + } + + Aws::String GetNameForServiceControlPolicyRestriction(ServiceControlPolicyRestriction enumValue) + { + switch(enumValue) + { + case ServiceControlPolicyRestriction::NOT_SET: + return {}; + case ServiceControlPolicyRestriction::APPLICABLE: + return "APPLICABLE"; + case ServiceControlPolicyRestriction::FAILED_TO_EVALUATE_SCP: + return "FAILED_TO_EVALUATE_SCP"; + case ServiceControlPolicyRestriction::NOT_APPLICABLE: + return "NOT_APPLICABLE"; + case ServiceControlPolicyRestriction::APPLIED: + return "APPLIED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceControlPolicyRestrictionMapper + } // namespace Model + } // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp index a20aa2fe2fe..cc56306ef5d 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/model/Type.cpp @@ -24,6 +24,8 @@ namespace Aws static const int ORGANIZATION_HASH = HashingUtils::HashString("ORGANIZATION"); static const int ACCOUNT_UNUSED_ACCESS_HASH = HashingUtils::HashString("ACCOUNT_UNUSED_ACCESS"); static const int ORGANIZATION_UNUSED_ACCESS_HASH = HashingUtils::HashString("ORGANIZATION_UNUSED_ACCESS"); + static const int ACCOUNT_INTERNAL_ACCESS_HASH = HashingUtils::HashString("ACCOUNT_INTERNAL_ACCESS"); + static const int ORGANIZATION_INTERNAL_ACCESS_HASH = HashingUtils::HashString("ORGANIZATION_INTERNAL_ACCESS"); Type GetTypeForName(const Aws::String& name) @@ -45,6 +47,14 @@ namespace Aws { return Type::ORGANIZATION_UNUSED_ACCESS; } + else if (hashCode == ACCOUNT_INTERNAL_ACCESS_HASH) + { + return Type::ACCOUNT_INTERNAL_ACCESS; + } + else if (hashCode == ORGANIZATION_INTERNAL_ACCESS_HASH) + { + return Type::ORGANIZATION_INTERNAL_ACCESS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +79,10 @@ namespace Aws return "ACCOUNT_UNUSED_ACCESS"; case Type::ORGANIZATION_UNUSED_ACCESS: return "ORGANIZATION_UNUSED_ACCESS"; + case Type::ACCOUNT_INTERNAL_ACCESS: + return "ACCOUNT_INTERNAL_ACCESS"; + case Type::ORGANIZATION_INTERNAL_ACCESS: + return "ORGANIZATION_INTERNAL_ACCESS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h index 9e596ac5f24..ee6e756e6f1 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h @@ -183,13 +183,16 @@ namespace ACM /** *

Exports a private certificate issued by a private certificate authority (CA) - * for use anywhere. The exported file contains the certificate, the certificate - * chain, and the encrypted private 2048-bit RSA key associated with the public key - * that is embedded in the certificate. For security, you must assign a passphrase - * for the private key when exporting it.

For information about exporting - * and formatting a certificate using the ACM console or CLI, see Export - * a Private Certificate.

See Also:

For + * information about exporting and formatting a certificate using the ACM console + * or CLI, see Export + * a private certificate and Export + * a public certificate.

See Also:

AWS * API Reference

*/ @@ -458,9 +461,10 @@ namespace ACM } /** - *

Renews an eligible ACM certificate. At this time, only exported private - * certificates can be renewed with this operation. In order to renew your Amazon - * Web Services Private CA certificates with ACM, you must first Renews an eligible + * ACM certificate. In order to renew your Amazon Web Services Private CA + * certificates with ACM, you must first grant * the ACM service principal permission to do so. For more information, see Testing @@ -499,8 +503,7 @@ namespace ACM * href="https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html">DNS * validation or email - * validation. We recommend that you use DNS validation. ACM issues public - * certificates after receiving approval from the domain owner.

ACM + * validation. We recommend that you use DNS validation.

ACM * behavior differs from the RFC 6125 * specification of the certificate validation process. ACM first checks for a @@ -569,12 +572,39 @@ namespace ACM } /** - *

Updates a certificate. Currently, you can use this function to specify - * whether to opt in to or out of recording your certificate in a certificate - * transparency log. For more information, see Revokes a public ACM certificate. You can only revoke certificates that have + * been previously exported.

See Also:

AWS + * API Reference

+ */ + virtual Model::RevokeCertificateOutcome RevokeCertificate(const Model::RevokeCertificateRequest& request) const; + + /** + * A Callable wrapper for RevokeCertificate that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RevokeCertificateOutcomeCallable RevokeCertificateCallable(const RevokeCertificateRequestT& request) const + { + return SubmitCallable(&ACMClient::RevokeCertificate, request); + } + + /** + * An Async wrapper for RevokeCertificate that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RevokeCertificateAsync(const RevokeCertificateRequestT& request, const RevokeCertificateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ACMClient::RevokeCertificate, request, handler, context); + } + + /** + *

Updates a certificate. You can use this function to specify whether to opt in + * to or out of recording your certificate in a certificate transparency log and + * exporting. For more information, see - * Opting Out of Certificate Transparency Logging.

See Also:

- * and Certificate + * Manager Exportable Managed Certificates.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h index 963c7a2c2a0..606433b0ad0 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +84,7 @@ namespace Aws class RenewCertificateRequest; class RequestCertificateRequest; class ResendValidationEmailRequest; + class RevokeCertificateRequest; class UpdateCertificateOptionsRequest; /* End of service model forward declarations required in ACMClient header */ @@ -101,6 +103,7 @@ namespace Aws typedef Aws::Utils::Outcome RenewCertificateOutcome; typedef Aws::Utils::Outcome RequestCertificateOutcome; typedef Aws::Utils::Outcome ResendValidationEmailOutcome; + typedef Aws::Utils::Outcome RevokeCertificateOutcome; typedef Aws::Utils::Outcome UpdateCertificateOptionsOutcome; /* End of service model Outcome class definitions */ @@ -119,6 +122,7 @@ namespace Aws typedef std::future RenewCertificateOutcomeCallable; typedef std::future RequestCertificateOutcomeCallable; typedef std::future ResendValidationEmailOutcomeCallable; + typedef std::future RevokeCertificateOutcomeCallable; typedef std::future UpdateCertificateOptionsOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model @@ -140,6 +144,7 @@ namespace Aws typedef std::function&) > RenewCertificateResponseReceivedHandler; typedef std::function&) > RequestCertificateResponseReceivedHandler; typedef std::function&) > ResendValidationEmailResponseReceivedHandler; + typedef std::function&) > RevokeCertificateResponseReceivedHandler; typedef std::function&) > UpdateCertificateOptionsResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace ACM diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateExport.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateExport.h new file mode 100644 index 00000000000..501ccfdb62a --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateExport.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 ACM +{ +namespace Model +{ + enum class CertificateExport + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace CertificateExportMapper +{ +AWS_ACM_API CertificateExport GetCertificateExportForName(const Aws::String& name); + +AWS_ACM_API Aws::String GetNameForCertificateExport(CertificateExport value); +} // namespace CertificateExportMapper +} // namespace Model +} // namespace ACM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateOptions.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateOptions.h index cdaf6445aaf..70510018f6a 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateOptions.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateOptions.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -24,15 +25,19 @@ namespace Model { /** - *

Structure that contains options for your certificate. Currently, you can use - * this only to specify whether to opt in to or out of certificate transparency - * logging. Some browsers require that public certificates issued for your domain - * be recorded in a log. Certificates that are not logged typically generate a - * browser error. Transparency makes it possible for you to detect SSL/TLS - * certificates that have been mistakenly or maliciously issued for your domain. - * For general information, see Structure that contains options for your certificate. You can use this + * structure to specify whether to opt in to or out of certificate transparency + * logging and export your certificate.

Some browsers require that public + * certificates issued for your domain be recorded in a log. Certificates that are + * not logged typically generate a browser error. Transparency makes it possible + * for you to detect SSL/TLS certificates that have been mistakenly or maliciously + * issued for your domain. For general information, see Certificate - * Transparency Logging.

See Also:

.

You can export public ACM certificates to use + * with Amazon Web Services services as well as outside Amazon Web Services Cloud. + * For more information, see Certificate + * Manager exportable public certificate.

See Also:

AWS * API Reference

*/ @@ -55,10 +60,24 @@ namespace Model inline void SetCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference value) { m_certificateTransparencyLoggingPreferenceHasBeenSet = true; m_certificateTransparencyLoggingPreference = value; } inline CertificateOptions& WithCertificateTransparencyLoggingPreference(CertificateTransparencyLoggingPreference value) { SetCertificateTransparencyLoggingPreference(value); return *this;} ///@} + + ///@{ + /** + *

You can opt in to allow the export of your certificates by specifying + * ENABLED.

+ */ + inline CertificateExport GetExport() const { return m_export; } + inline bool ExportHasBeenSet() const { return m_exportHasBeenSet; } + inline void SetExport(CertificateExport value) { m_exportHasBeenSet = true; m_export = value; } + inline CertificateOptions& WithExport(CertificateExport value) { SetExport(value); return *this;} + ///@} private: CertificateTransparencyLoggingPreference m_certificateTransparencyLoggingPreference{CertificateTransparencyLoggingPreference::NOT_SET}; bool m_certificateTransparencyLoggingPreferenceHasBeenSet = false; + + CertificateExport m_export{CertificateExport::NOT_SET}; + bool m_exportHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateSummary.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateSummary.h index 308e048295b..24c864ff8a5 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateSummary.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/CertificateSummary.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -197,6 +198,16 @@ namespace Model inline CertificateSummary& AddExtendedKeyUsages(ExtendedKeyUsageName value) { m_extendedKeyUsagesHasBeenSet = true; m_extendedKeyUsages.push_back(value); return *this; } ///@} + ///@{ + /** + *

Indicates if export is enabled for the certificate.

+ */ + inline CertificateExport GetExportOption() const { return m_exportOption; } + inline bool ExportOptionHasBeenSet() const { return m_exportOptionHasBeenSet; } + inline void SetExportOption(CertificateExport value) { m_exportOptionHasBeenSet = true; m_exportOption = value; } + inline CertificateSummary& WithExportOption(CertificateExport value) { SetExportOption(value); return *this;} + ///@} + ///@{ /** *

Indicates whether the certificate is currently in use by any Amazon Web @@ -345,6 +356,9 @@ namespace Model Aws::Vector m_extendedKeyUsages; bool m_extendedKeyUsagesHasBeenSet = false; + CertificateExport m_exportOption{CertificateExport::NOT_SET}; + bool m_exportOptionHasBeenSet = false; + bool m_inUse{false}; bool m_inUseHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/DomainValidation.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/DomainValidation.h index bd5121a5361..e39dbe3e28a 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/DomainValidation.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/DomainValidation.h @@ -99,11 +99,11 @@ namespace Model *

Contains the CNAME record that you add to your DNS database for domain * validation. For more information, see Use - * DNS to Validate Domain Ownership.

Note: The CNAME information that + * DNS to Validate Domain Ownership.

The CNAME information that * you need does not include the name of your domain. If you include your domain * name in the DNS database CNAME record, validation fails. For example, if the - * name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only - * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.

+ * name is _a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com, only + * _a79865eb4cd1a6ab990a45779b4e0b96 must be used.

*/ inline const ResourceRecord& GetResourceRecord() const { return m_resourceRecord; } inline bool ResourceRecordHasBeenSet() const { return m_resourceRecordHasBeenSet; } @@ -116,9 +116,9 @@ namespace Model ///@{ /** *

Contains information for HTTP-based domain validation of certificates - * requested through CloudFront and issued by ACM. This field exists only when the - * certificate type is AMAZON_ISSUED and the validation method is - * HTTP.

+ * requested through Amazon CloudFront and issued by ACM. This field exists only + * when the certificate type is AMAZON_ISSUED and the validation + * method is HTTP.

*/ inline const HttpRedirect& GetHttpRedirect() const { return m_httpRedirect; } inline bool HttpRedirectHasBeenSet() const { return m_httpRedirectHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/Filters.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/Filters.h index eb23af3228c..d75f09da1a5 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/Filters.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/Filters.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -87,6 +88,17 @@ namespace Model inline Filters& AddKeyTypes(KeyAlgorithm value) { m_keyTypesHasBeenSet = true; m_keyTypes.push_back(value); return *this; } ///@} + ///@{ + /** + *

Specify ENABLED or DISABLED to identify + * certificates that can be exported.

+ */ + inline CertificateExport GetExportOption() const { return m_exportOption; } + inline bool ExportOptionHasBeenSet() const { return m_exportOptionHasBeenSet; } + inline void SetExportOption(CertificateExport value) { m_exportOptionHasBeenSet = true; m_exportOption = value; } + inline Filters& WithExportOption(CertificateExport value) { SetExportOption(value); return *this;} + ///@} + ///@{ /** *

Identifies the Amazon Web Services service that manages the certificate @@ -108,6 +120,9 @@ namespace Model Aws::Vector m_keyTypes; bool m_keyTypesHasBeenSet = false; + CertificateExport m_exportOption{CertificateExport::NOT_SET}; + bool m_exportOptionHasBeenSet = false; + CertificateManagedBy m_managedBy{CertificateManagedBy::NOT_SET}; bool m_managedByHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/HttpRedirect.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/HttpRedirect.h index 96df49aafd0..a26db53ea7c 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/HttpRedirect.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/HttpRedirect.h @@ -25,9 +25,9 @@ namespace Model /** *

Contains information for HTTP-based domain validation of certificates - * requested through CloudFront and issued by ACM. This field exists only when the - * certificate type is AMAZON_ISSUED and the validation method is - * HTTP.

See Also:

AMAZON_ISSUED and the validation + * method is HTTP.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RequestCertificateRequest.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RequestCertificateRequest.h index 135be19e21c..4693d240e37 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RequestCertificateRequest.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RequestCertificateRequest.h @@ -143,13 +143,17 @@ namespace Model ///@{ /** - *

Currently, you can use this parameter to specify whether to add the - * certificate to a certificate transparency log. Certificate transparency makes it - * possible to detect SSL/TLS certificates that have been mistakenly or maliciously - * issued. Certificates that have not been logged typically produce an error - * message in a browser. For more information, see You can use this parameter to specify whether to add the certificate to a + * certificate transparency log and export your certificate.

Certificate + * transparency makes it possible to detect SSL/TLS certificates that have been + * mistakenly or maliciously issued. Certificates that have not been logged + * typically produce an error message in a browser. For more information, see Opting - * Out of Certificate Transparency Logging.

+ * Out of Certificate Transparency Logging.

You can export public ACM + * certificates to use with Amazon Web Services services as well as outside the + * Amazon Web Services Cloud. For more information, see Certificate + * Manager exportable public certificate.

*/ inline const CertificateOptions& GetOptions() const { return m_options; } inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RevokeCertificateRequest.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RevokeCertificateRequest.h new file mode 100644 index 00000000000..4c07c95b5ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RevokeCertificateRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ACM +{ +namespace Model +{ + + /** + */ + class RevokeCertificateRequest : public ACMRequest + { + public: + AWS_ACM_API RevokeCertificateRequest() = default; + + // 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 "RevokeCertificate"; } + + AWS_ACM_API Aws::String SerializePayload() const override; + + AWS_ACM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the public or private certificate that will + * be revoked. The ARN must have the following form:

+ * arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012 + *

+ */ + inline const Aws::String& GetCertificateArn() const { return m_certificateArn; } + inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } + template + void SetCertificateArn(CertificateArnT&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::forward(value); } + template + RevokeCertificateRequest& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Specifies why you revoked the certificate.

+ */ + inline RevocationReason GetRevocationReason() const { return m_revocationReason; } + inline bool RevocationReasonHasBeenSet() const { return m_revocationReasonHasBeenSet; } + inline void SetRevocationReason(RevocationReason value) { m_revocationReasonHasBeenSet = true; m_revocationReason = value; } + inline RevokeCertificateRequest& WithRevocationReason(RevocationReason value) { SetRevocationReason(value); return *this;} + ///@} + private: + + Aws::String m_certificateArn; + bool m_certificateArnHasBeenSet = false; + + RevocationReason m_revocationReason{RevocationReason::NOT_SET}; + bool m_revocationReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace ACM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RevokeCertificateResult.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RevokeCertificateResult.h new file mode 100644 index 00000000000..cb6a0b53b55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/RevokeCertificateResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ACM +{ +namespace Model +{ + class RevokeCertificateResult + { + public: + AWS_ACM_API RevokeCertificateResult() = default; + AWS_ACM_API RevokeCertificateResult(const Aws::AmazonWebServiceResult& result); + AWS_ACM_API RevokeCertificateResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the public or private certificate that was + * revoked.

+ */ + inline const Aws::String& GetCertificateArn() const { return m_certificateArn; } + template + void SetCertificateArn(CertificateArnT&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::forward(value); } + template + RevokeCertificateResult& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + RevokeCertificateResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_certificateArn; + bool m_certificateArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ACM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/UpdateCertificateOptionsRequest.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/UpdateCertificateOptionsRequest.h index 9f90b6de9e2..6d4002204fd 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/UpdateCertificateOptionsRequest.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/model/UpdateCertificateOptionsRequest.h @@ -52,10 +52,10 @@ namespace Model ///@{ /** *

Use to update the options for your certificate. Currently, you can specify - * whether to add your certificate to a transparency log. Certificate transparency - * makes it possible to detect SSL/TLS certificates that have been mistakenly or - * maliciously issued. Certificates that have not been logged typically produce an - * error message in a browser.

+ * whether to add your certificate to a transparency log or export your + * certificate. Certificate transparency makes it possible to detect SSL/TLS + * certificates that have been mistakenly or maliciously issued. Certificates that + * have not been logged typically produce an error message in a browser.

*/ inline const CertificateOptions& GetOptions() const { return m_options; } inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp b/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp index 0dfa91fbab4..80340dd6f38 100644 --- a/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp +++ b/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -543,6 +544,32 @@ ResendValidationEmailOutcome ACMClient::ResendValidationEmail(const ResendValida {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RevokeCertificateOutcome ACMClient::RevokeCertificate(const RevokeCertificateRequest& request) const +{ + AWS_OPERATION_GUARD(RevokeCertificate); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RevokeCertificate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RevokeCertificate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RevokeCertificate, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RevokeCertificate", + {{ 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( + [&]()-> RevokeCertificateOutcome { + 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, RevokeCertificate, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RevokeCertificateOutcome(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()}}); +} + UpdateCertificateOptionsOutcome ACMClient::UpdateCertificateOptions(const UpdateCertificateOptionsRequest& request) const { AWS_OPERATION_GUARD(UpdateCertificateOptions); diff --git a/generated/src/aws-cpp-sdk-acm/source/model/CertificateExport.cpp b/generated/src/aws-cpp-sdk-acm/source/model/CertificateExport.cpp new file mode 100644 index 00000000000..9a8dcb20839 --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/source/model/CertificateExport.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 ACM + { + namespace Model + { + namespace CertificateExportMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + CertificateExport GetCertificateExportForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return CertificateExport::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return CertificateExport::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CertificateExport::NOT_SET; + } + + Aws::String GetNameForCertificateExport(CertificateExport enumValue) + { + switch(enumValue) + { + case CertificateExport::NOT_SET: + return {}; + case CertificateExport::ENABLED: + return "ENABLED"; + case CertificateExport::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CertificateExportMapper + } // namespace Model + } // namespace ACM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm/source/model/CertificateOptions.cpp b/generated/src/aws-cpp-sdk-acm/source/model/CertificateOptions.cpp index ccdffbecc17..fd8f9d63851 100644 --- a/generated/src/aws-cpp-sdk-acm/source/model/CertificateOptions.cpp +++ b/generated/src/aws-cpp-sdk-acm/source/model/CertificateOptions.cpp @@ -30,6 +30,11 @@ CertificateOptions& CertificateOptions::operator =(JsonView jsonValue) m_certificateTransparencyLoggingPreference = CertificateTransparencyLoggingPreferenceMapper::GetCertificateTransparencyLoggingPreferenceForName(jsonValue.GetString("CertificateTransparencyLoggingPreference")); m_certificateTransparencyLoggingPreferenceHasBeenSet = true; } + if(jsonValue.ValueExists("Export")) + { + m_export = CertificateExportMapper::GetCertificateExportForName(jsonValue.GetString("Export")); + m_exportHasBeenSet = true; + } return *this; } @@ -42,6 +47,11 @@ JsonValue CertificateOptions::Jsonize() const payload.WithString("CertificateTransparencyLoggingPreference", CertificateTransparencyLoggingPreferenceMapper::GetNameForCertificateTransparencyLoggingPreference(m_certificateTransparencyLoggingPreference)); } + if(m_exportHasBeenSet) + { + payload.WithString("Export", CertificateExportMapper::GetNameForCertificateExport(m_export)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-acm/source/model/CertificateSummary.cpp b/generated/src/aws-cpp-sdk-acm/source/model/CertificateSummary.cpp index 82ee619605f..65f87f80cb8 100644 --- a/generated/src/aws-cpp-sdk-acm/source/model/CertificateSummary.cpp +++ b/generated/src/aws-cpp-sdk-acm/source/model/CertificateSummary.cpp @@ -82,6 +82,11 @@ CertificateSummary& CertificateSummary::operator =(JsonView jsonValue) } m_extendedKeyUsagesHasBeenSet = true; } + if(jsonValue.ValueExists("ExportOption")) + { + m_exportOption = CertificateExportMapper::GetCertificateExportForName(jsonValue.GetString("ExportOption")); + m_exportOptionHasBeenSet = true; + } if(jsonValue.ValueExists("InUse")) { m_inUse = jsonValue.GetBool("InUse"); @@ -205,6 +210,11 @@ JsonValue CertificateSummary::Jsonize() const } + if(m_exportOptionHasBeenSet) + { + payload.WithString("ExportOption", CertificateExportMapper::GetNameForCertificateExport(m_exportOption)); + } + if(m_inUseHasBeenSet) { payload.WithBool("InUse", m_inUse); diff --git a/generated/src/aws-cpp-sdk-acm/source/model/Filters.cpp b/generated/src/aws-cpp-sdk-acm/source/model/Filters.cpp index 53fdc372d86..33f26d53fb9 100644 --- a/generated/src/aws-cpp-sdk-acm/source/model/Filters.cpp +++ b/generated/src/aws-cpp-sdk-acm/source/model/Filters.cpp @@ -52,6 +52,11 @@ Filters& Filters::operator =(JsonView jsonValue) } m_keyTypesHasBeenSet = true; } + if(jsonValue.ValueExists("exportOption")) + { + m_exportOption = CertificateExportMapper::GetCertificateExportForName(jsonValue.GetString("exportOption")); + m_exportOptionHasBeenSet = true; + } if(jsonValue.ValueExists("managedBy")) { m_managedBy = CertificateManagedByMapper::GetCertificateManagedByForName(jsonValue.GetString("managedBy")); @@ -97,6 +102,11 @@ JsonValue Filters::Jsonize() const } + if(m_exportOptionHasBeenSet) + { + payload.WithString("exportOption", CertificateExportMapper::GetNameForCertificateExport(m_exportOption)); + } + if(m_managedByHasBeenSet) { payload.WithString("managedBy", CertificateManagedByMapper::GetNameForCertificateManagedBy(m_managedBy)); diff --git a/generated/src/aws-cpp-sdk-acm/source/model/RevokeCertificateRequest.cpp b/generated/src/aws-cpp-sdk-acm/source/model/RevokeCertificateRequest.cpp new file mode 100644 index 00000000000..008811ac9cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/source/model/RevokeCertificateRequest.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::ACM::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String RevokeCertificateRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_certificateArnHasBeenSet) + { + payload.WithString("CertificateArn", m_certificateArn); + + } + + if(m_revocationReasonHasBeenSet) + { + payload.WithString("RevocationReason", RevocationReasonMapper::GetNameForRevocationReason(m_revocationReason)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection RevokeCertificateRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "CertificateManager.RevokeCertificate")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-acm/source/model/RevokeCertificateResult.cpp b/generated/src/aws-cpp-sdk-acm/source/model/RevokeCertificateResult.cpp new file mode 100644 index 00000000000..cc7ceca4155 --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/source/model/RevokeCertificateResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::ACM::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +RevokeCertificateResult::RevokeCertificateResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RevokeCertificateResult& RevokeCertificateResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("CertificateArn")) + { + m_certificateArn = jsonValue.GetString("CertificateArn"); + m_certificateArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/CMakeLists.txt b/generated/src/aws-cpp-sdk-aiops/CMakeLists.txt new file mode 100644 index 00000000000..f10eb67fd7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-aiops "C++ SDK for the AWS aiops service" aws-cpp-sdk-core) + +file(GLOB AWS_AIOPS_HEADERS + "include/aws/aiops/*.h" +) + +file(GLOB AWS_AIOPS_MODEL_HEADERS + "include/aws/aiops/model/*.h" +) + +file(GLOB AWS_AIOPS_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_AIOPS_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB AIOPS_UNIFIED_HEADERS + ${AWS_AIOPS_HEADERS} + ${AWS_AIOPS_MODEL_HEADERS} +) + +file(GLOB AIOPS_UNITY_SRC + ${AWS_AIOPS_SOURCE} + ${AWS_AIOPS_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("AIOPS" AIOPS_UNITY_SRC) +endif() + +file(GLOB AIOPS_SRC + ${AIOPS_UNIFIED_HEADERS} + ${AIOPS_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\aiops" FILES ${AWS_AIOPS_HEADERS}) + source_group("Header Files\\aws\\aiops\\model" FILES ${AWS_AIOPS_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_AIOPS_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_AIOPS_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(AIOPS_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${AIOPS_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_AIOPS_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_AIOPS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/aiops) +install (FILES ${AWS_AIOPS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/aiops/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h new file mode 100644 index 00000000000..ab9102853d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h @@ -0,0 +1,423 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ + /** + *

The Amazon Q Developer operational investigations feature is a generative + * AI-powered assistant that can help you respond to incidents in your system. It + * uses generative AI to scan your system's telemetry and quickly surface + * suggestions that might be related to your issue. These suggestions include + * metrics, logs, deployment events, and root-cause hypotheses.

You can use + * API actions to create, manage, and delete investigation groups and investigation + * group policies. To start and manage investigations, you must use the CloudWatch + * console.

+ */ + class AWS_AIOPS_API AIOpsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef AIOpsClientConfiguration ClientConfigurationType; + typedef AIOpsEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + AIOpsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + AIOpsClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + AIOpsClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~AIOpsClient(); + + /** + *

Creates an investigation group in your account. Creating an + * investigation group is a one-time setup task for each Region in your account. It + * is a necessary task to be able to perform investigations.

Settings in the + * investigation group help you centrally manage the common properties of your + * investigations, such as the following:

  • Who can access the + * investigations

  • Whether investigation data is encrypted with a + * customer managed Key Management Service key.

  • How long + * investigations and their data are retained by default.

+ *

Currently, you can have one investigation group in each Region in your + * account. Each investigation in a Region is a part of the investigation group in + * that Region

To create an investigation group and set up Amazon Q + * Developer operational investigations, you must be signed in to an IAM principal + * that has the either the AIOpsConsoleAdminPolicy or the + * AdministratorAccess IAM policy attached, or to an account that has + * similar permissions.

You can configure CloudWatch alarms to + * start investigations and add events to investigations. If you create your + * investigation group with CreateInvestigationGroup and you want to + * enable alarms to do this, you must use PutInvestigationGroupPolicy + * to create a resource policy that grants this permission to CloudWatch alarms. + *

For more information about configuring CloudWatch alarms to work with + * Amazon Q Developer operational investigations, see

See + * Also:

AWS + * API Reference

+ */ + virtual Model::CreateInvestigationGroupOutcome CreateInvestigationGroup(const Model::CreateInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for CreateInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateInvestigationGroupOutcomeCallable CreateInvestigationGroupCallable(const CreateInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::CreateInvestigationGroup, request); + } + + /** + * An Async wrapper for CreateInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateInvestigationGroupAsync(const CreateInvestigationGroupRequestT& request, const CreateInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::CreateInvestigationGroup, request, handler, context); + } + + /** + *

Deletes the specified investigation group from your account. You can + * currently have one investigation group per Region in your account. After you + * delete an investigation group, you can later create a new investigation group in + * the same Region.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteInvestigationGroupOutcome DeleteInvestigationGroup(const Model::DeleteInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for DeleteInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteInvestigationGroupOutcomeCallable DeleteInvestigationGroupCallable(const DeleteInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::DeleteInvestigationGroup, request); + } + + /** + * An Async wrapper for DeleteInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteInvestigationGroupAsync(const DeleteInvestigationGroupRequestT& request, const DeleteInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::DeleteInvestigationGroup, request, handler, context); + } + + /** + *

Removes the IAM resource policy from being associated with the investigation + * group that you specify.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteInvestigationGroupPolicyOutcome DeleteInvestigationGroupPolicy(const Model::DeleteInvestigationGroupPolicyRequest& request) const; + + /** + * A Callable wrapper for DeleteInvestigationGroupPolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteInvestigationGroupPolicyOutcomeCallable DeleteInvestigationGroupPolicyCallable(const DeleteInvestigationGroupPolicyRequestT& request) const + { + return SubmitCallable(&AIOpsClient::DeleteInvestigationGroupPolicy, request); + } + + /** + * An Async wrapper for DeleteInvestigationGroupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteInvestigationGroupPolicyAsync(const DeleteInvestigationGroupPolicyRequestT& request, const DeleteInvestigationGroupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::DeleteInvestigationGroupPolicy, request, handler, context); + } + + /** + *

Returns the configuration information for the specified investigation + * group.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetInvestigationGroupOutcome GetInvestigationGroup(const Model::GetInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for GetInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInvestigationGroupOutcomeCallable GetInvestigationGroupCallable(const GetInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::GetInvestigationGroup, request); + } + + /** + * An Async wrapper for GetInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInvestigationGroupAsync(const GetInvestigationGroupRequestT& request, const GetInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::GetInvestigationGroup, request, handler, context); + } + + /** + *

Returns the IAM resource policy that is associated with the specified + * investigation group.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetInvestigationGroupPolicyOutcome GetInvestigationGroupPolicy(const Model::GetInvestigationGroupPolicyRequest& request) const; + + /** + * A Callable wrapper for GetInvestigationGroupPolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInvestigationGroupPolicyOutcomeCallable GetInvestigationGroupPolicyCallable(const GetInvestigationGroupPolicyRequestT& request) const + { + return SubmitCallable(&AIOpsClient::GetInvestigationGroupPolicy, request); + } + + /** + * An Async wrapper for GetInvestigationGroupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInvestigationGroupPolicyAsync(const GetInvestigationGroupPolicyRequestT& request, const GetInvestigationGroupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::GetInvestigationGroupPolicy, request, handler, context); + } + + /** + *

Returns the ARN and name of each investigation group in the + * account.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListInvestigationGroupsOutcome ListInvestigationGroups(const Model::ListInvestigationGroupsRequest& request = {}) const; + + /** + * A Callable wrapper for ListInvestigationGroups that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListInvestigationGroupsOutcomeCallable ListInvestigationGroupsCallable(const ListInvestigationGroupsRequestT& request = {}) const + { + return SubmitCallable(&AIOpsClient::ListInvestigationGroups, request); + } + + /** + * An Async wrapper for ListInvestigationGroups that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListInvestigationGroupsAsync(const ListInvestigationGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListInvestigationGroupsRequestT& request = {}) const + { + return SubmitAsync(&AIOpsClient::ListInvestigationGroups, request, handler, context); + } + + /** + *

Displays the tags associated with a Amazon Q Developer operational + * investigations resource. Currently, investigation groups support + * tagging.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&AIOpsClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::ListTagsForResource, request, handler, context); + } + + /** + *

Creates an IAM resource policy and assigns it to the specified investigation + * group.

If you create your investigation group with + * CreateInvestigationGroup and you want to enable CloudWatch alarms + * to create investigations and add events to investigations, you must use this + * operation to create a policy similar to this example.

{ "Version": + * "2008-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": + * "aiops.alarms.cloudwatch.amazonaws.com" }, "Action": + * ["aiops:CreateInvestigation", "aiops:CreateInvestigationEvent"], "Resource": + * "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" + * }, "ArnLike": { "aws:SourceArn": + * "arn:aws:cloudwatch:region:account-id:alarm:*" } } }] } + *

See Also:

AWS + * API Reference

+ */ + virtual Model::PutInvestigationGroupPolicyOutcome PutInvestigationGroupPolicy(const Model::PutInvestigationGroupPolicyRequest& request) const; + + /** + * A Callable wrapper for PutInvestigationGroupPolicy that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutInvestigationGroupPolicyOutcomeCallable PutInvestigationGroupPolicyCallable(const PutInvestigationGroupPolicyRequestT& request) const + { + return SubmitCallable(&AIOpsClient::PutInvestigationGroupPolicy, request); + } + + /** + * An Async wrapper for PutInvestigationGroupPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutInvestigationGroupPolicyAsync(const PutInvestigationGroupPolicyRequestT& request, const PutInvestigationGroupPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::PutInvestigationGroupPolicy, request, handler, context); + } + + /** + *

Assigns one or more tags (key-value pairs) to the specified resource.

+ *

Tags can help you organize and categorize your resources. You can also use + * them to scope user permissions by granting a user permission to access or change + * only resources with certain tag values.

Tags don't have any semantic + * meaning to Amazon Web Services and are interpreted strictly as strings of + * characters.

You can associate as many as 50 tags with a + * resource.

See Also:

AWS + * API Reference

+ */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&AIOpsClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::TagResource, request, handler, context); + } + + /** + *

Removes one or more tags from the specified resource.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&AIOpsClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::UntagResource, request, handler, context); + } + + /** + *

Updates the configuration of the specified investigation group.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::UpdateInvestigationGroupOutcome UpdateInvestigationGroup(const Model::UpdateInvestigationGroupRequest& request) const; + + /** + * A Callable wrapper for UpdateInvestigationGroup that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateInvestigationGroupOutcomeCallable UpdateInvestigationGroupCallable(const UpdateInvestigationGroupRequestT& request) const + { + return SubmitCallable(&AIOpsClient::UpdateInvestigationGroup, request); + } + + /** + * An Async wrapper for UpdateInvestigationGroup that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateInvestigationGroupAsync(const UpdateInvestigationGroupRequestT& request, const UpdateInvestigationGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AIOpsClient::UpdateInvestigationGroup, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const AIOpsClientConfiguration& clientConfiguration); + + AIOpsClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h new file mode 100644 index 00000000000..0db7dd8cbc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace AIOps +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using AIOpsClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using AIOpsClientConfiguration = Aws::Client::GenericClientConfiguration; +using AIOpsBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the AIOps Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using AIOpsEndpointProviderBase = + EndpointProviderBase; + +using AIOpsDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_AIOPS_API AIOpsEndpointProvider : public AIOpsDefaultEpProviderBase +{ +public: + using AIOpsResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + AIOpsEndpointProvider() + : AIOpsDefaultEpProviderBase(Aws::AIOps::AIOpsEndpointRules::GetRulesBlob(), Aws::AIOps::AIOpsEndpointRules::RulesBlobSize) + {} + + ~AIOpsEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h new file mode 100644 index 00000000000..8c4cb24298a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AIOps +{ +class AIOpsEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h new file mode 100644 index 00000000000..66fd626c6d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_AIOPS_API AIOpsErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h new file mode 100644 index 00000000000..ff9ab0f49d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsErrors.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +enum class AIOpsErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + FORBIDDEN, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_AIOPS_API AIOpsError : public Aws::Client::AWSError +{ +public: + AIOpsError() {} + AIOpsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + AIOpsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + AIOpsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + AIOpsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace AIOpsErrorMapper +{ + AWS_AIOPS_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h new file mode 100644 index 00000000000..b36f403ca8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ + class AWS_AIOPS_API AIOpsRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~AIOpsRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2018-05-10")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h new file mode 100644 index 00000000000..f6f1175ee44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in AIOpsClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in AIOpsClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace AIOps + { + using AIOpsClientConfiguration = Aws::Client::GenericClientConfiguration; + using AIOpsEndpointProviderBase = Aws::AIOps::Endpoint::AIOpsEndpointProviderBase; + using AIOpsEndpointProvider = Aws::AIOps::Endpoint::AIOpsEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in AIOpsClient header */ + class CreateInvestigationGroupRequest; + class DeleteInvestigationGroupRequest; + class DeleteInvestigationGroupPolicyRequest; + class GetInvestigationGroupRequest; + class GetInvestigationGroupPolicyRequest; + class ListInvestigationGroupsRequest; + class ListTagsForResourceRequest; + class PutInvestigationGroupPolicyRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateInvestigationGroupRequest; + /* End of service model forward declarations required in AIOpsClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CreateInvestigationGroupOutcome; + typedef Aws::Utils::Outcome DeleteInvestigationGroupOutcome; + typedef Aws::Utils::Outcome DeleteInvestigationGroupPolicyOutcome; + typedef Aws::Utils::Outcome GetInvestigationGroupOutcome; + typedef Aws::Utils::Outcome GetInvestigationGroupPolicyOutcome; + typedef Aws::Utils::Outcome ListInvestigationGroupsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome PutInvestigationGroupPolicyOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateInvestigationGroupOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CreateInvestigationGroupOutcomeCallable; + typedef std::future DeleteInvestigationGroupOutcomeCallable; + typedef std::future DeleteInvestigationGroupPolicyOutcomeCallable; + typedef std::future GetInvestigationGroupOutcomeCallable; + typedef std::future GetInvestigationGroupPolicyOutcomeCallable; + typedef std::future ListInvestigationGroupsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future PutInvestigationGroupPolicyOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateInvestigationGroupOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class AIOpsClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CreateInvestigationGroupResponseReceivedHandler; + typedef std::function&) > DeleteInvestigationGroupResponseReceivedHandler; + typedef std::function&) > DeleteInvestigationGroupPolicyResponseReceivedHandler; + typedef std::function&) > GetInvestigationGroupResponseReceivedHandler; + typedef std::function&) > GetInvestigationGroupPolicyResponseReceivedHandler; + typedef std::function&) > ListInvestigationGroupsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > PutInvestigationGroupPolicyResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateInvestigationGroupResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h new file mode 100644 index 00000000000..bffe4aab1a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOps_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_AIOPS_EXPORTS + #define AWS_AIOPS_API __declspec(dllexport) + #else + #define AWS_AIOPS_API __declspec(dllimport) + #endif /* AWS_AIOPS_EXPORTS */ + #define AWS_AIOPS_EXTERN + #else + #define AWS_AIOPS_API + #define AWS_AIOPS_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_AIOPS_API + #define AWS_AIOPS_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h new file mode 100644 index 00000000000..439e330a938 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupRequest.h @@ -0,0 +1,209 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class CreateInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API CreateInvestigationGroupRequest() = default; + + // 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 "CreateInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

A name for the investigation group.

+ */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateInvestigationGroupRequest& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Specify the ARN of the IAM role that Amazon Q Developer operational + * investigations will use when it gathers investigation data. The permissions in + * this role determine which of your resources that Amazon Q Developer operational + * investigations will have access to during investigations.

For more + * information, see How + * to control what data Amazon Q has access to during investigations.

+ */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + CreateInvestigationGroupRequest& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Use this structure if you want to use a customer managed KMS key to encrypt + * your investigation data. If you omit this parameter, Amazon Q Developer + * operational investigations will use an Amazon Web Services key to encrypt the + * data. For more information, see Encryption + * of investigation data.

+ */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + template + void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward(value); } + template + CreateInvestigationGroupRequest& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Specify how long that investigation data is kept. For more information, see + * Operational + * investigation data retention.

If you omit this parameter, the + * default of 90 days is used.

+ */ + inline long long GetRetentionInDays() const { return m_retentionInDays; } + inline bool RetentionInDaysHasBeenSet() const { return m_retentionInDaysHasBeenSet; } + inline void SetRetentionInDays(long long value) { m_retentionInDaysHasBeenSet = true; m_retentionInDays = value; } + inline CreateInvestigationGroupRequest& WithRetentionInDays(long long value) { SetRetentionInDays(value); return *this;} + ///@} + + ///@{ + /** + *

A list of key-value pairs to associate with the investigation group. You can + * associate as many as 50 tags with an investigation group. To be able to + * associate tags when you create the investigation group, you must have the + * cloudwatch:TagResource permission.

Tags can help you + * organize and categorize your resources. You can also use them to scope user + * permissions by granting a user permission to access or change only resources + * with certain tag values.

+ */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateInvestigationGroupRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateInvestigationGroupRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

Enter the existing custom tag keys for custom applications in your system. + * Resource tags help Amazon Q narrow the search space when it is unable to + * discover definite relationships between resources. For example, to discover that + * an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover + * this relationship using data sources such as X-Ray and CloudWatch Application + * Signals. However, if you haven't deployed these features, Amazon Q will attempt + * to identify possible relationships. Tag boundaries can be used to narrow the + * resources that will be discovered by Amazon Q in these cases.

You don't + * need to enter tags created by myApplications or CloudFormation, because Amazon Q + * can automatically detect those tags.

+ */ + inline const Aws::Vector& GetTagKeyBoundaries() const { return m_tagKeyBoundaries; } + inline bool TagKeyBoundariesHasBeenSet() const { return m_tagKeyBoundariesHasBeenSet; } + template> + void SetTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries = std::forward(value); } + template> + CreateInvestigationGroupRequest& WithTagKeyBoundaries(TagKeyBoundariesT&& value) { SetTagKeyBoundaries(std::forward(value)); return *this;} + template + CreateInvestigationGroupRequest& AddTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

Use this structure to integrate Amazon Q Developer operational investigations + * with Amazon Q in chat applications. This structure is a string array. For the + * first string, specify the ARN of an Amazon SNS topic. For the array of strings, + * specify the ARNs of one or more Amazon Q in chat applications configurations + * that you want to associate with that topic. For more information about these + * configuration ARNs, see Getting + * started with Amazon Q in chat applications and Resource + * type defined by Amazon Web Services Chatbot.

+ */ + inline const Aws::Map>& GetChatbotNotificationChannel() const { return m_chatbotNotificationChannel; } + inline bool ChatbotNotificationChannelHasBeenSet() const { return m_chatbotNotificationChannelHasBeenSet; } + template>> + void SetChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel = std::forward(value); } + template>> + CreateInvestigationGroupRequest& WithChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { SetChatbotNotificationChannel(std::forward(value)); return *this;} + template> + CreateInvestigationGroupRequest& AddChatbotNotificationChannel(ChatbotNotificationChannelKeyT&& key, ChatbotNotificationChannelValueT&& value) { + m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

Specify true to enable Amazon Q Developer operational + * investigations to have access to change events that are recorded by CloudTrail. + * The default is true.

+ */ + inline bool GetIsCloudTrailEventHistoryEnabled() const { return m_isCloudTrailEventHistoryEnabled; } + inline bool IsCloudTrailEventHistoryEnabledHasBeenSet() const { return m_isCloudTrailEventHistoryEnabledHasBeenSet; } + inline void SetIsCloudTrailEventHistoryEnabled(bool value) { m_isCloudTrailEventHistoryEnabledHasBeenSet = true; m_isCloudTrailEventHistoryEnabled = value; } + inline CreateInvestigationGroupRequest& WithIsCloudTrailEventHistoryEnabled(bool value) { SetIsCloudTrailEventHistoryEnabled(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + long long m_retentionInDays{0}; + bool m_retentionInDaysHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::Vector m_tagKeyBoundaries; + bool m_tagKeyBoundariesHasBeenSet = false; + + Aws::Map> m_chatbotNotificationChannel; + bool m_chatbotNotificationChannelHasBeenSet = false; + + bool m_isCloudTrailEventHistoryEnabled{false}; + bool m_isCloudTrailEventHistoryEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h new file mode 100644 index 00000000000..3c040776bba --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/CreateInvestigationGroupResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class CreateInvestigationGroupResult + { + public: + AWS_AIOPS_API CreateInvestigationGroupResult() = default; + AWS_AIOPS_API CreateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API CreateInvestigationGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The ARN of the investigation group that you just created.

+ */ + inline const Aws::String& GetArn() const { return m_arn; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + CreateInvestigationGroupResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateInvestigationGroupResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h new file mode 100644 index 00000000000..de91e8e33f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyRequest.h @@ -0,0 +1,55 @@ +/** + * 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 AIOps +{ +namespace Model +{ + + /** + */ + class DeleteInvestigationGroupPolicyRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API DeleteInvestigationGroupPolicyRequest() = default; + + // 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 "DeleteInvestigationGroupPolicy"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Specify either the name or the ARN of the investigation group that you want + * to remove the policy from.

+ */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + DeleteInvestigationGroupPolicyRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h new file mode 100644 index 00000000000..e9c7a6cf19a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupPolicyResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class DeleteInvestigationGroupPolicyResult + { + public: + AWS_AIOPS_API DeleteInvestigationGroupPolicyResult() = default; + AWS_AIOPS_API DeleteInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API DeleteInvestigationGroupPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteInvestigationGroupPolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h new file mode 100644 index 00000000000..4f6cc0b42e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/DeleteInvestigationGroupRequest.h @@ -0,0 +1,55 @@ +/** + * 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 AIOps +{ +namespace Model +{ + + /** + */ + class DeleteInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API DeleteInvestigationGroupRequest() = default; + + // 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 "DeleteInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Specify either the name or the ARN of the investigation group that you want + * to delete.

+ */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + DeleteInvestigationGroupRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h new file mode 100644 index 00000000000..a9937a9fdf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfiguration.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + + /** + *

Use this structure to specify a customer managed KMS key to use to encrypt + * investigation data.

See Also:

AWS + * API Reference

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

Displays whether investigation data is encrypted by a customer managed key or + * an Amazon Web Services owned kay.

+ */ + inline EncryptionConfigurationType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(EncryptionConfigurationType value) { m_typeHasBeenSet = true; m_type = value; } + inline EncryptionConfiguration& WithType(EncryptionConfigurationType value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

If the investigation group uses a customer managed key for encryption, this + * field displays the ID of that key.

+ */ + inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + template + void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward(value); } + template + EncryptionConfiguration& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward(value)); return *this;} + ///@} + private: + + EncryptionConfigurationType m_type{EncryptionConfigurationType::NOT_SET}; + bool m_typeHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.h new file mode 100644 index 00000000000..555c6a2f070 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/EncryptionConfigurationType.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 AIOps +{ +namespace Model +{ + enum class EncryptionConfigurationType + { + NOT_SET, + AWS_OWNED_KEY, + CUSTOMER_MANAGED_KMS_KEY + }; + +namespace EncryptionConfigurationTypeMapper +{ +AWS_AIOPS_API EncryptionConfigurationType GetEncryptionConfigurationTypeForName(const Aws::String& name); + +AWS_AIOPS_API Aws::String GetNameForEncryptionConfigurationType(EncryptionConfigurationType value); +} // namespace EncryptionConfigurationTypeMapper +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h new file mode 100644 index 00000000000..6b336ebf0cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyRequest.h @@ -0,0 +1,55 @@ +/** + * 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 AIOps +{ +namespace Model +{ + + /** + */ + class GetInvestigationGroupPolicyRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API GetInvestigationGroupPolicyRequest() = default; + + // 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 "GetInvestigationGroupPolicy"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Specify either the name or the ARN of the investigation group that you want + * to view the policy of.

+ */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + GetInvestigationGroupPolicyRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h new file mode 100644 index 00000000000..0ed82077554 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupPolicyResult.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class GetInvestigationGroupPolicyResult + { + public: + AWS_AIOPS_API GetInvestigationGroupPolicyResult() = default; + AWS_AIOPS_API GetInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API GetInvestigationGroupPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the investigation group that you want to + * view the policy of.

+ */ + inline const Aws::String& GetInvestigationGroupArn() const { return m_investigationGroupArn; } + template + void SetInvestigationGroupArn(InvestigationGroupArnT&& value) { m_investigationGroupArnHasBeenSet = true; m_investigationGroupArn = std::forward(value); } + template + GetInvestigationGroupPolicyResult& WithInvestigationGroupArn(InvestigationGroupArnT&& value) { SetInvestigationGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The policy, in JSON format.

+ */ + inline const Aws::String& GetPolicy() const { return m_policy; } + template + void SetPolicy(PolicyT&& value) { m_policyHasBeenSet = true; m_policy = std::forward(value); } + template + GetInvestigationGroupPolicyResult& WithPolicy(PolicyT&& value) { SetPolicy(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetInvestigationGroupPolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_investigationGroupArn; + bool m_investigationGroupArnHasBeenSet = false; + + Aws::String m_policy; + bool m_policyHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h new file mode 100644 index 00000000000..1838f8104fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupRequest.h @@ -0,0 +1,55 @@ +/** + * 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 AIOps +{ +namespace Model +{ + + /** + */ + class GetInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API GetInvestigationGroupRequest() = default; + + // 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 "GetInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Specify either the name or the ARN of the investigation group that you want + * to view.

+ */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + GetInvestigationGroupRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h new file mode 100644 index 00000000000..0cec6724693 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/GetInvestigationGroupResult.h @@ -0,0 +1,240 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class GetInvestigationGroupResult + { + public: + AWS_AIOPS_API GetInvestigationGroupResult() = default; + AWS_AIOPS_API GetInvestigationGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API GetInvestigationGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The name of the user who created the investigation group.

+ */ + inline const Aws::String& GetCreatedBy() const { return m_createdBy; } + template + void SetCreatedBy(CreatedByT&& value) { m_createdByHasBeenSet = true; m_createdBy = std::forward(value); } + template + GetInvestigationGroupResult& WithCreatedBy(CreatedByT&& value) { SetCreatedBy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The date and time that the investigation group was created.

+ */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetInvestigationGroupResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The name of the user who created the investigation group.

+ */ + inline const Aws::String& GetLastModifiedBy() const { return m_lastModifiedBy; } + template + void SetLastModifiedBy(LastModifiedByT&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::forward(value); } + template + GetInvestigationGroupResult& WithLastModifiedBy(LastModifiedByT&& value) { SetLastModifiedBy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The date and time that the investigation group was most recently + * modified.

+ */ + inline const Aws::Utils::DateTime& GetLastModifiedAt() const { return m_lastModifiedAt; } + template + void SetLastModifiedAt(LastModifiedAtT&& value) { m_lastModifiedAtHasBeenSet = true; m_lastModifiedAt = std::forward(value); } + template + GetInvestigationGroupResult& WithLastModifiedAt(LastModifiedAtT&& value) { SetLastModifiedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The name of the investigation group.

+ */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetInvestigationGroupResult& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the investigation group.

+ */ + inline const Aws::String& GetArn() const { return m_arn; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + GetInvestigationGroupResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The ARN of the IAM role that the investigation group uses for permissions to + * gather data.

+ */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + GetInvestigationGroupResult& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Specifies the customer managed KMS key that the investigation group uses to + * encrypt data, if there is one. If not, the investigation group uses an Amazon + * Web Services key to encrypt the data.

+ */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; } + template + void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward(value); } + template + GetInvestigationGroupResult& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Specifies how long that investigation data is kept.

+ */ + inline long long GetRetentionInDays() const { return m_retentionInDays; } + inline void SetRetentionInDays(long long value) { m_retentionInDaysHasBeenSet = true; m_retentionInDays = value; } + inline GetInvestigationGroupResult& WithRetentionInDays(long long value) { SetRetentionInDays(value); return *this;} + ///@} + + ///@{ + /** + *

This structure is a string array. The first string is the ARN of a Amazon SNS + * topic. The array of strings display the ARNs of Amazon Q in chat applications + * configurations that are associated with that topic. For more information about + * these configuration ARNs, see Getting + * started with Amazon Q in chat applications and Resource + * type defined by Amazon Web Services Chatbot.

+ */ + inline const Aws::Map>& GetChatbotNotificationChannel() const { return m_chatbotNotificationChannel; } + template>> + void SetChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel = std::forward(value); } + template>> + GetInvestigationGroupResult& WithChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { SetChatbotNotificationChannel(std::forward(value)); return *this;} + template> + GetInvestigationGroupResult& AddChatbotNotificationChannel(ChatbotNotificationChannelKeyT&& key, ChatbotNotificationChannelValueT&& value) { + m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

Displays the custom tag keys for custom applications in your system that you + * have specified in the investigation group. Resource tags help Amazon Q narrow + * the search space when it is unable to discover definite relationships between + * resources.

+ */ + inline const Aws::Vector& GetTagKeyBoundaries() const { return m_tagKeyBoundaries; } + template> + void SetTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries = std::forward(value); } + template> + GetInvestigationGroupResult& WithTagKeyBoundaries(TagKeyBoundariesT&& value) { SetTagKeyBoundaries(std::forward(value)); return *this;} + template + GetInvestigationGroupResult& AddTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

Specifies whether Amazon Q Developer operational investigationshas access to + * change events that are recorded by CloudTrail.

+ */ + inline bool GetIsCloudTrailEventHistoryEnabled() const { return m_isCloudTrailEventHistoryEnabled; } + inline void SetIsCloudTrailEventHistoryEnabled(bool value) { m_isCloudTrailEventHistoryEnabledHasBeenSet = true; m_isCloudTrailEventHistoryEnabled = value; } + inline GetInvestigationGroupResult& WithIsCloudTrailEventHistoryEnabled(bool value) { SetIsCloudTrailEventHistoryEnabled(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetInvestigationGroupResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_createdBy; + bool m_createdByHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::String m_lastModifiedBy; + bool m_lastModifiedByHasBeenSet = false; + + Aws::Utils::DateTime m_lastModifiedAt{}; + bool m_lastModifiedAtHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + long long m_retentionInDays{0}; + bool m_retentionInDaysHasBeenSet = false; + + Aws::Map> m_chatbotNotificationChannel; + bool m_chatbotNotificationChannelHasBeenSet = false; + + Aws::Vector m_tagKeyBoundaries; + bool m_tagKeyBoundariesHasBeenSet = false; + + bool m_isCloudTrailEventHistoryEnabled{false}; + bool m_isCloudTrailEventHistoryEnabledHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h new file mode 100644 index 00000000000..711b25c6265 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsModel.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + + /** + *

This structure contains information about one investigation group in the + * account.

See Also:

AWS + * API Reference

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

The Amazon Resource Name (ARN) of the investigation group.

+ */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + ListInvestigationGroupsModel& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The name of the investigation group.

+ */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ListInvestigationGroupsModel& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h new file mode 100644 index 00000000000..98d07f58bcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace AIOps +{ +namespace Model +{ + + /** + */ + class ListInvestigationGroupsRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API ListInvestigationGroupsRequest() = default; + + // 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 "ListInvestigationGroups"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + AWS_AIOPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

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

+ */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInvestigationGroupsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + 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 ListInvestigationGroupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h new file mode 100644 index 00000000000..d09ccc35b59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListInvestigationGroupsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class ListInvestigationGroupsResult + { + public: + AWS_AIOPS_API ListInvestigationGroupsResult() = default; + AWS_AIOPS_API ListInvestigationGroupsResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API ListInvestigationGroupsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

Include this value in your next use of this operation to get the next set of + * service operations.

+ */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInvestigationGroupsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

An array of structures, where each structure contains the information about + * one investigation group in the account.

+ */ + inline const Aws::Vector& GetInvestigationGroups() const { return m_investigationGroups; } + template> + void SetInvestigationGroups(InvestigationGroupsT&& value) { m_investigationGroupsHasBeenSet = true; m_investigationGroups = std::forward(value); } + template> + ListInvestigationGroupsResult& WithInvestigationGroups(InvestigationGroupsT&& value) { SetInvestigationGroups(std::forward(value)); return *this;} + template + ListInvestigationGroupsResult& AddInvestigationGroups(InvestigationGroupsT&& value) { m_investigationGroupsHasBeenSet = true; m_investigationGroups.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListInvestigationGroupsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_investigationGroups; + bool m_investigationGroupsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..9d7c95a4a2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceRequest.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 AIOps +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API ListTagsForResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The ARN of the Amazon Q Developer operational investigations resource that + * you want to view tags for. You can use the ListInvestigationGroups + * operation to find the ARNs of investigation groups.

The ARN format for an + * investigation group is + * arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id + * .

+ */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + ListTagsForResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..2bf79045026 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ListTagsForResourceResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_AIOPS_API ListTagsForResourceResult() = default; + AWS_AIOPS_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The list of tag keys and values associated with the resource you + * specified.

+ */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + ListTagsForResourceResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + ListTagsForResourceResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListTagsForResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h new file mode 100644 index 00000000000..1c9acf23170 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class PutInvestigationGroupPolicyRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API PutInvestigationGroupPolicyRequest() = default; + + // 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 "PutInvestigationGroupPolicy"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Specify either the name or the ARN of the investigation group that you want + * to assign the policy to.

+ */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + PutInvestigationGroupPolicyRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The policy, in JSON format.

+ */ + inline const Aws::String& GetPolicy() const { return m_policy; } + inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; } + template + void SetPolicy(PolicyT&& value) { m_policyHasBeenSet = true; m_policy = std::forward(value); } + template + PutInvestigationGroupPolicyRequest& WithPolicy(PolicyT&& value) { SetPolicy(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + Aws::String m_policy; + bool m_policyHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h new file mode 100644 index 00000000000..74f1d1b9845 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/PutInvestigationGroupPolicyResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class PutInvestigationGroupPolicyResult + { + public: + AWS_AIOPS_API PutInvestigationGroupPolicyResult() = default; + AWS_AIOPS_API PutInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API PutInvestigationGroupPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The ARN of the investigation group that will use this policy.

+ */ + inline const Aws::String& GetInvestigationGroupArn() const { return m_investigationGroupArn; } + template + void SetInvestigationGroupArn(InvestigationGroupArnT&& value) { m_investigationGroupArnHasBeenSet = true; m_investigationGroupArn = std::forward(value); } + template + PutInvestigationGroupPolicyResult& WithInvestigationGroupArn(InvestigationGroupArnT&& value) { SetInvestigationGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + PutInvestigationGroupPolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_investigationGroupArn; + bool m_investigationGroupArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..c465468b030 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/ServiceQuotaExceededException.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + + /** + *

This request exceeds a service quota.

See Also:

AWS + * API Reference

+ */ + class ServiceQuotaExceededException + { + public: + AWS_AIOPS_API ServiceQuotaExceededException() = default; + AWS_AIOPS_API ServiceQuotaExceededException(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API ServiceQuotaExceededException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_AIOPS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ServiceQuotaExceededException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The resource that caused the quota exception.

+ */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The type of resource that caused the quota exception.

+ */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

This name of the service associated with the error.

+ */ + inline const Aws::String& GetServiceCode() const { return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + template + void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward(value); } + template + ServiceQuotaExceededException& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

This quota that was exceeded.

+ */ + inline const Aws::String& GetQuotaCode() const { return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + template + void SetQuotaCode(QuotaCodeT&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::forward(value); } + template + ServiceQuotaExceededException& WithQuotaCode(QuotaCodeT&& value) { SetQuotaCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h new file mode 100644 index 00000000000..362b024a53d --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceRequest.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API TagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the resource that you want to apply the + * tags to. You can use the ListInvestigationGroups + * operation to find the ARNs of investigation groups.

+ */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + TagResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The list of key-value pairs to associate with the resource.

+ */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagResourceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagResourceRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h new file mode 100644 index 00000000000..71f3c575ddb --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/TagResourceResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_AIOPS_API TagResourceResult() = default; + AWS_AIOPS_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + TagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h new file mode 100644 index 00000000000..04b51a2a605 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceRequest.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace AIOps +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API UntagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + AWS_AIOPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the resource that you want to remove the + * tags from. You can use the ListInvestigationGroups + * operation to find the ARNs of investigation groups.

+ */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + UntagResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

The list of tag keys to remove from the resource.

+ */ + inline const Aws::Vector& GetTagKeys() const { return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + template> + void SetTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::forward(value); } + template> + UntagResourceRequest& WithTagKeys(TagKeysT&& value) { SetTagKeys(std::forward(value)); return *this;} + template + UntagResourceRequest& AddTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h new file mode 100644 index 00000000000..c4672d9461e --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UntagResourceResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_AIOPS_API UntagResourceResult() = default; + AWS_AIOPS_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UntagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h new file mode 100644 index 00000000000..b268b28f7b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupRequest.h @@ -0,0 +1,169 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + + /** + */ + class UpdateInvestigationGroupRequest : public AIOpsRequest + { + public: + AWS_AIOPS_API UpdateInvestigationGroupRequest() = default; + + // 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 "UpdateInvestigationGroup"; } + + AWS_AIOPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

Specify either the name or the ARN of the investigation group that you want + * to modify.

+ */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + UpdateInvestigationGroupRequest& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Specify this field if you want to change the IAM role that Amazon Q Developer + * operational investigations will use when it gathers investigation data. To do + * so, specify the ARN of the new role.

The permissions in this role + * determine which of your resources that Amazon Q Developer operational + * investigations will have access to during investigations.

For more + * information, see EHow + * to control what data Amazon Q has access to during investigations.

+ */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + UpdateInvestigationGroupRequest& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Use this structure if you want to use a customer managed KMS key to encrypt + * your investigation data. If you omit this parameter, Amazon Q Developer + * operational investigations will use an Amazon Web Services key to encrypt the + * data. For more information, see Encryption + * of investigation data.

+ */ + inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; } + inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } + template + void SetEncryptionConfiguration(EncryptionConfigurationT&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::forward(value); } + template + UpdateInvestigationGroupRequest& WithEncryptionConfiguration(EncryptionConfigurationT&& value) { SetEncryptionConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

Enter the existing custom tag keys for custom applications in your system. + * Resource tags help Amazon Q narrow the search space when it is unable to + * discover definite relationships between resources. For example, to discover that + * an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover + * this relationship using data sources such as X-Ray and CloudWatch Application + * Signals. However, if you haven't deployed these features, Amazon Q will attempt + * to identify possible relationships. Tag boundaries can be used to narrow the + * resources that will be discovered by Amazon Q in these cases.

You don't + * need to enter tags created by myApplications or CloudFormation, because Amazon Q + * can automatically detect those tags.

+ */ + inline const Aws::Vector& GetTagKeyBoundaries() const { return m_tagKeyBoundaries; } + inline bool TagKeyBoundariesHasBeenSet() const { return m_tagKeyBoundariesHasBeenSet; } + template> + void SetTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries = std::forward(value); } + template> + UpdateInvestigationGroupRequest& WithTagKeyBoundaries(TagKeyBoundariesT&& value) { SetTagKeyBoundaries(std::forward(value)); return *this;} + template + UpdateInvestigationGroupRequest& AddTagKeyBoundaries(TagKeyBoundariesT&& value) { m_tagKeyBoundariesHasBeenSet = true; m_tagKeyBoundaries.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

Use this structure to integrate Amazon Q Developer operational investigations + * with Amazon Q in chat applications. This structure is a string array. For the + * first string, specify the ARN of an Amazon SNS topic. For the array of strings, + * specify the ARNs of one or more Amazon Q in chat applications configurations + * that you want to associate with that topic. For more information about these + * configuration ARNs, see Getting + * started with Amazon Q in chat applications and Resource + * type defined by Amazon Web Services Chatbot.

+ */ + inline const Aws::Map>& GetChatbotNotificationChannel() const { return m_chatbotNotificationChannel; } + inline bool ChatbotNotificationChannelHasBeenSet() const { return m_chatbotNotificationChannelHasBeenSet; } + template>> + void SetChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel = std::forward(value); } + template>> + UpdateInvestigationGroupRequest& WithChatbotNotificationChannel(ChatbotNotificationChannelT&& value) { SetChatbotNotificationChannel(std::forward(value)); return *this;} + template> + UpdateInvestigationGroupRequest& AddChatbotNotificationChannel(ChatbotNotificationChannelKeyT&& key, ChatbotNotificationChannelValueT&& value) { + m_chatbotNotificationChannelHasBeenSet = true; m_chatbotNotificationChannel.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

Specify true to enable Amazon Q Developer operational + * investigations to have access to change events that are recorded by CloudTrail. + * The default is true.

+ */ + inline bool GetIsCloudTrailEventHistoryEnabled() const { return m_isCloudTrailEventHistoryEnabled; } + inline bool IsCloudTrailEventHistoryEnabledHasBeenSet() const { return m_isCloudTrailEventHistoryEnabledHasBeenSet; } + inline void SetIsCloudTrailEventHistoryEnabled(bool value) { m_isCloudTrailEventHistoryEnabledHasBeenSet = true; m_isCloudTrailEventHistoryEnabled = value; } + inline UpdateInvestigationGroupRequest& WithIsCloudTrailEventHistoryEnabled(bool value) { SetIsCloudTrailEventHistoryEnabled(value); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + EncryptionConfiguration m_encryptionConfiguration; + bool m_encryptionConfigurationHasBeenSet = false; + + Aws::Vector m_tagKeyBoundaries; + bool m_tagKeyBoundariesHasBeenSet = false; + + Aws::Map> m_chatbotNotificationChannel; + bool m_chatbotNotificationChannelHasBeenSet = false; + + bool m_isCloudTrailEventHistoryEnabled{false}; + bool m_isCloudTrailEventHistoryEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h new file mode 100644 index 00000000000..7138989b8b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/model/UpdateInvestigationGroupResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AIOps +{ +namespace Model +{ + class UpdateInvestigationGroupResult + { + public: + AWS_AIOPS_API UpdateInvestigationGroupResult() = default; + AWS_AIOPS_API UpdateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result); + AWS_AIOPS_API UpdateInvestigationGroupResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateInvestigationGroupResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp new file mode 100644 index 00000000000..e4b1e1f5c2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp @@ -0,0 +1,536 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::AIOps; +using namespace Aws::AIOps::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace AIOps + { + const char SERVICE_NAME[] = "aiops"; + const char ALLOCATION_TAG[] = "AIOpsClient"; + } +} +const char* AIOpsClient::GetServiceName() {return SERVICE_NAME;} +const char* AIOpsClient::GetAllocationTag() {return ALLOCATION_TAG;} + +AIOpsClient::AIOpsClient(const AIOps::AIOpsClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const AIOps::AIOpsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const AIOps::AIOpsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + AIOpsClient::AIOpsClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +AIOpsClient::AIOpsClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +AIOpsClient::~AIOpsClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& AIOpsClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void AIOpsClient::init(const AIOps::AIOpsClientConfiguration& config) +{ + AWSClient::SetServiceClientName("AIOps"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void AIOpsClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CreateInvestigationGroupOutcome AIOpsClient::CreateInvestigationGroup(const CreateInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(CreateInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateInvestigationGroup", + {{ 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( + [&]()-> CreateInvestigationGroupOutcome { + 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, CreateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups"); + return CreateInvestigationGroupOutcome(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()}}); +} + +DeleteInvestigationGroupOutcome AIOpsClient::DeleteInvestigationGroup(const DeleteInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteInvestigationGroup", "Required field: Identifier, is not set"); + return DeleteInvestigationGroupOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteInvestigationGroup", + {{ 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( + [&]()-> DeleteInvestigationGroupOutcome { + 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, DeleteInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return DeleteInvestigationGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteInvestigationGroupPolicyOutcome AIOpsClient::DeleteInvestigationGroupPolicy(const DeleteInvestigationGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteInvestigationGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteInvestigationGroupPolicy", "Required field: Identifier, is not set"); + return DeleteInvestigationGroupPolicyOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteInvestigationGroupPolicy", + {{ 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( + [&]()-> DeleteInvestigationGroupPolicyOutcome { + 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, DeleteInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy"); + return DeleteInvestigationGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetInvestigationGroupOutcome AIOpsClient::GetInvestigationGroup(const GetInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(GetInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetInvestigationGroup", "Required field: Identifier, is not set"); + return GetInvestigationGroupOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInvestigationGroup", + {{ 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( + [&]()-> GetInvestigationGroupOutcome { + 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, GetInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return GetInvestigationGroupOutcome(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()}}); +} + +GetInvestigationGroupPolicyOutcome AIOpsClient::GetInvestigationGroupPolicy(const GetInvestigationGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(GetInvestigationGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetInvestigationGroupPolicy", "Required field: Identifier, is not set"); + return GetInvestigationGroupPolicyOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInvestigationGroupPolicy", + {{ 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( + [&]()-> GetInvestigationGroupPolicyOutcome { + 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, GetInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy"); + return GetInvestigationGroupPolicyOutcome(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()}}); +} + +ListInvestigationGroupsOutcome AIOpsClient::ListInvestigationGroups(const ListInvestigationGroupsRequest& request) const +{ + AWS_OPERATION_GUARD(ListInvestigationGroups); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListInvestigationGroups, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListInvestigationGroups, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListInvestigationGroups, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListInvestigationGroups", + {{ 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( + [&]()-> ListInvestigationGroupsOutcome { + 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, ListInvestigationGroups, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups"); + return ListInvestigationGroupsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome AIOpsClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +PutInvestigationGroupPolicyOutcome AIOpsClient::PutInvestigationGroupPolicy(const PutInvestigationGroupPolicyRequest& request) const +{ + AWS_OPERATION_GUARD(PutInvestigationGroupPolicy); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutInvestigationGroupPolicy", "Required field: Identifier, is not set"); + return PutInvestigationGroupPolicyOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutInvestigationGroupPolicy", + {{ 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( + [&]()-> PutInvestigationGroupPolicyOutcome { + 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, PutInvestigationGroupPolicy, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy"); + return PutInvestigationGroupPolicyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome AIOpsClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome AIOpsClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + if (!request.TagKeysHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateInvestigationGroupOutcome AIOpsClient::UpdateInvestigationGroup(const UpdateInvestigationGroupRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateInvestigationGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateInvestigationGroup", "Required field: Identifier, is not set"); + return UpdateInvestigationGroupOutcome(Aws::Client::AWSError(AIOpsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateInvestigationGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateInvestigationGroup", + {{ 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( + [&]()-> UpdateInvestigationGroupOutcome { + 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, UpdateInvestigationGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/investigationGroups/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return UpdateInvestigationGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp new file mode 100644 index 00000000000..19bce6f075b --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace AIOps +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp new file mode 100644 index 00000000000..4bf0f031e1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointRules.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace AIOps +{ +const size_t AIOpsEndpointRules::RulesBlobStrLen = 3720; +const size_t AIOpsEndpointRules::RulesBlobSize = 3721; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', +':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', +':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T', +'h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s', +'p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a', +'l','S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', +'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', +'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e', +' ','d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c', +'k',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s', +'t',' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"', +'t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S', +'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P', +'S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', +'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e', +'q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a', +'n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', +'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', +'o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l', +'i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n', +'g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n', +' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e', +'a','n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', +'e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', +':','"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u', +'s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t', +'r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':', +'"','h','t','t','p','s',':','/','/','a','i','o','p','s','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l', +'S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', +'I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a', +'b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ', +'d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b', +'o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S', +'"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','i','o','p','s','-','f','i','p', +'s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r', +'t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F', +'I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y', +'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u', +'p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r', +'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','a','i','o','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e', +'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a', +'c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','a','i','o','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n', +'v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s', +'i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* AIOpsEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp new file mode 100644 index 00000000000..427dd2057b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::AIOps; + +AWSError AIOpsErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = AIOpsErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp new file mode 100644 index 00000000000..e906c715afd --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsErrors.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::AIOps; +using namespace Aws::AIOps::Model; + +namespace Aws +{ +namespace AIOps +{ +template<> AWS_AIOPS_API ServiceQuotaExceededException AIOpsError::GetModeledError() +{ + assert(this->GetErrorType() == AIOpsErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +namespace AIOpsErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int FORBIDDEN_HASH = HashingUtils::HashString("ForbiddenException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(AIOpsErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(AIOpsErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(AIOpsErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + else if (hashCode == FORBIDDEN_HASH) + { + return AWSError(static_cast(AIOpsErrors::FORBIDDEN), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace AIOpsErrorMapper +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp new file mode 100644 index 00000000000..e16cfba1d07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace AIOps +{ +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..98afa3ed9de --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupRequest.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateInvestigationGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + + if(m_retentionInDaysHasBeenSet) + { + payload.WithInt64("retentionInDays", m_retentionInDays); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_tagKeyBoundariesHasBeenSet) + { + Aws::Utils::Array tagKeyBoundariesJsonList(m_tagKeyBoundaries.size()); + for(unsigned tagKeyBoundariesIndex = 0; tagKeyBoundariesIndex < tagKeyBoundariesJsonList.GetLength(); ++tagKeyBoundariesIndex) + { + tagKeyBoundariesJsonList[tagKeyBoundariesIndex].AsString(m_tagKeyBoundaries[tagKeyBoundariesIndex]); + } + payload.WithArray("tagKeyBoundaries", std::move(tagKeyBoundariesJsonList)); + + } + + if(m_chatbotNotificationChannelHasBeenSet) + { + JsonValue chatbotNotificationChannelJsonMap; + for(auto& chatbotNotificationChannelItem : m_chatbotNotificationChannel) + { + Aws::Utils::Array chatConfigurationArnsJsonList(chatbotNotificationChannelItem.second.size()); + for(unsigned chatConfigurationArnsIndex = 0; chatConfigurationArnsIndex < chatConfigurationArnsJsonList.GetLength(); ++chatConfigurationArnsIndex) + { + chatConfigurationArnsJsonList[chatConfigurationArnsIndex].AsString(chatbotNotificationChannelItem.second[chatConfigurationArnsIndex]); + } + chatbotNotificationChannelJsonMap.WithArray(chatbotNotificationChannelItem.first, std::move(chatConfigurationArnsJsonList)); + } + payload.WithObject("chatbotNotificationChannel", std::move(chatbotNotificationChannelJsonMap)); + + } + + if(m_isCloudTrailEventHistoryEnabledHasBeenSet) + { + payload.WithBool("isCloudTrailEventHistoryEnabled", m_isCloudTrailEventHistoryEnabled); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp new file mode 100644 index 00000000000..7a2d031b6cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/CreateInvestigationGroupResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateInvestigationGroupResult::CreateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateInvestigationGroupResult& CreateInvestigationGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp new file mode 100644 index 00000000000..fe349806e48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteInvestigationGroupPolicyRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp new file mode 100644 index 00000000000..8d7dcf4d860 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupPolicyResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteInvestigationGroupPolicyResult::DeleteInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteInvestigationGroupPolicyResult& DeleteInvestigationGroupPolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..cf91a9bbfc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/DeleteInvestigationGroupRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteInvestigationGroupRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp new file mode 100644 index 00000000000..d1f794d895d --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfiguration.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + +EncryptionConfiguration::EncryptionConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +EncryptionConfiguration& EncryptionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("type")) + { + m_type = EncryptionConfigurationTypeMapper::GetEncryptionConfigurationTypeForName(jsonValue.GetString("type")); + m_typeHasBeenSet = true; + } + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + m_kmsKeyIdHasBeenSet = true; + } + return *this; +} + +JsonValue EncryptionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("type", EncryptionConfigurationTypeMapper::GetNameForEncryptionConfigurationType(m_type)); + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + return payload; +} + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.cpp new file mode 100644 index 00000000000..715bd9dfe09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/EncryptionConfigurationType.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 AIOps + { + namespace Model + { + namespace EncryptionConfigurationTypeMapper + { + + 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"); + + + EncryptionConfigurationType GetEncryptionConfigurationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_OWNED_KEY_HASH) + { + return EncryptionConfigurationType::AWS_OWNED_KEY; + } + else if (hashCode == CUSTOMER_MANAGED_KMS_KEY_HASH) + { + return EncryptionConfigurationType::CUSTOMER_MANAGED_KMS_KEY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EncryptionConfigurationType::NOT_SET; + } + + Aws::String GetNameForEncryptionConfigurationType(EncryptionConfigurationType enumValue) + { + switch(enumValue) + { + case EncryptionConfigurationType::NOT_SET: + return {}; + case EncryptionConfigurationType::AWS_OWNED_KEY: + return "AWS_OWNED_KEY"; + case EncryptionConfigurationType::CUSTOMER_MANAGED_KMS_KEY: + return "CUSTOMER_MANAGED_KMS_KEY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EncryptionConfigurationTypeMapper + } // namespace Model + } // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp new file mode 100644 index 00000000000..acacbb3883d --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetInvestigationGroupPolicyRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.cpp new file mode 100644 index 00000000000..7d25b90d9b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupPolicyResult.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 + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInvestigationGroupPolicyResult::GetInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetInvestigationGroupPolicyResult& GetInvestigationGroupPolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("investigationGroupArn")) + { + m_investigationGroupArn = jsonValue.GetString("investigationGroupArn"); + m_investigationGroupArnHasBeenSet = true; + } + if(jsonValue.ValueExists("policy")) + { + m_policy = jsonValue.GetString("policy"); + m_policyHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..ba827971be3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetInvestigationGroupRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp new file mode 100644 index 00000000000..c9915c66f49 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/GetInvestigationGroupResult.cpp @@ -0,0 +1,114 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInvestigationGroupResult::GetInvestigationGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetInvestigationGroupResult& GetInvestigationGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("createdBy")) + { + m_createdBy = jsonValue.GetString("createdBy"); + m_createdByHasBeenSet = true; + } + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("lastModifiedBy")) + { + m_lastModifiedBy = jsonValue.GetString("lastModifiedBy"); + m_lastModifiedByHasBeenSet = true; + } + if(jsonValue.ValueExists("lastModifiedAt")) + { + m_lastModifiedAt = jsonValue.GetDouble("lastModifiedAt"); + m_lastModifiedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("roleArn")) + { + m_roleArn = jsonValue.GetString("roleArn"); + m_roleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("encryptionConfiguration")) + { + m_encryptionConfiguration = jsonValue.GetObject("encryptionConfiguration"); + m_encryptionConfigurationHasBeenSet = true; + } + if(jsonValue.ValueExists("retentionInDays")) + { + m_retentionInDays = jsonValue.GetInt64("retentionInDays"); + m_retentionInDaysHasBeenSet = true; + } + if(jsonValue.ValueExists("chatbotNotificationChannel")) + { + Aws::Map chatbotNotificationChannelJsonMap = jsonValue.GetObject("chatbotNotificationChannel").GetAllObjects(); + for(auto& chatbotNotificationChannelItem : chatbotNotificationChannelJsonMap) + { + Aws::Utils::Array chatConfigurationArnsJsonList = chatbotNotificationChannelItem.second.AsArray(); + Aws::Vector chatConfigurationArnsList; + chatConfigurationArnsList.reserve((size_t)chatConfigurationArnsJsonList.GetLength()); + for(unsigned chatConfigurationArnsIndex = 0; chatConfigurationArnsIndex < chatConfigurationArnsJsonList.GetLength(); ++chatConfigurationArnsIndex) + { + chatConfigurationArnsList.push_back(chatConfigurationArnsJsonList[chatConfigurationArnsIndex].AsString()); + } + m_chatbotNotificationChannel[chatbotNotificationChannelItem.first] = std::move(chatConfigurationArnsList); + } + m_chatbotNotificationChannelHasBeenSet = true; + } + if(jsonValue.ValueExists("tagKeyBoundaries")) + { + Aws::Utils::Array tagKeyBoundariesJsonList = jsonValue.GetArray("tagKeyBoundaries"); + for(unsigned tagKeyBoundariesIndex = 0; tagKeyBoundariesIndex < tagKeyBoundariesJsonList.GetLength(); ++tagKeyBoundariesIndex) + { + m_tagKeyBoundaries.push_back(tagKeyBoundariesJsonList[tagKeyBoundariesIndex].AsString()); + } + m_tagKeyBoundariesHasBeenSet = true; + } + if(jsonValue.ValueExists("isCloudTrailEventHistoryEnabled")) + { + m_isCloudTrailEventHistoryEnabled = jsonValue.GetBool("isCloudTrailEventHistoryEnabled"); + m_isCloudTrailEventHistoryEnabledHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp new file mode 100644 index 00000000000..3adb38f8445 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsModel.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + +ListInvestigationGroupsModel::ListInvestigationGroupsModel(JsonView jsonValue) +{ + *this = jsonValue; +} + +ListInvestigationGroupsModel& ListInvestigationGroupsModel::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + return *this; +} + +JsonValue ListInvestigationGroupsModel::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp new file mode 100644 index 00000000000..0196600777b --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListInvestigationGroupsRequest::SerializePayload() const +{ + return {}; +} + +void ListInvestigationGroupsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp new file mode 100644 index 00000000000..851acc446a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListInvestigationGroupsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListInvestigationGroupsResult::ListInvestigationGroupsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListInvestigationGroupsResult& ListInvestigationGroupsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("investigationGroups")) + { + Aws::Utils::Array investigationGroupsJsonList = jsonValue.GetArray("investigationGroups"); + for(unsigned investigationGroupsIndex = 0; investigationGroupsIndex < investigationGroupsJsonList.GetLength(); ++investigationGroupsIndex) + { + m_investigationGroups.push_back(investigationGroupsJsonList[investigationGroupsIndex].AsObject()); + } + m_investigationGroupsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..9707eb8f87a --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..80e914204c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp new file mode 100644 index 00000000000..af8c3a228ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String PutInvestigationGroupPolicyRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_policyHasBeenSet) + { + payload.WithString("policy", m_policy); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp new file mode 100644 index 00000000000..af28eae0873 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/PutInvestigationGroupPolicyResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutInvestigationGroupPolicyResult::PutInvestigationGroupPolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutInvestigationGroupPolicyResult& PutInvestigationGroupPolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("investigationGroupArn")) + { + m_investigationGroupArn = jsonValue.GetString("investigationGroupArn"); + m_investigationGroupArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..49c33f7e588 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AIOps +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceType")) + { + m_resourceType = jsonValue.GetString("resourceType"); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("serviceCode")) + { + m_serviceCode = jsonValue.GetString("serviceCode"); + m_serviceCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("quotaCode")) + { + m_quotaCode = jsonValue.GetString("quotaCode"); + m_quotaCodeHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("resourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("serviceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("quotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..e11ad017555 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceRequest.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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..6789342d19c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/TagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..120c7544a6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceRequest.cpp @@ -0,0 +1,39 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String UntagResourceRequest::SerializePayload() const +{ + return {}; +} + +void UntagResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_tagKeysHasBeenSet) + { + for(const auto& item : m_tagKeys) + { + ss << item; + uri.AddQueryStringParameter("tagKeys", ss.str()); + ss.str(""); + } + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..eb3f0f9ce74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UntagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp new file mode 100644 index 00000000000..478f59e806c --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupRequest.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateInvestigationGroupRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_encryptionConfigurationHasBeenSet) + { + payload.WithObject("encryptionConfiguration", m_encryptionConfiguration.Jsonize()); + + } + + if(m_tagKeyBoundariesHasBeenSet) + { + Aws::Utils::Array tagKeyBoundariesJsonList(m_tagKeyBoundaries.size()); + for(unsigned tagKeyBoundariesIndex = 0; tagKeyBoundariesIndex < tagKeyBoundariesJsonList.GetLength(); ++tagKeyBoundariesIndex) + { + tagKeyBoundariesJsonList[tagKeyBoundariesIndex].AsString(m_tagKeyBoundaries[tagKeyBoundariesIndex]); + } + payload.WithArray("tagKeyBoundaries", std::move(tagKeyBoundariesJsonList)); + + } + + if(m_chatbotNotificationChannelHasBeenSet) + { + JsonValue chatbotNotificationChannelJsonMap; + for(auto& chatbotNotificationChannelItem : m_chatbotNotificationChannel) + { + Aws::Utils::Array chatConfigurationArnsJsonList(chatbotNotificationChannelItem.second.size()); + for(unsigned chatConfigurationArnsIndex = 0; chatConfigurationArnsIndex < chatConfigurationArnsJsonList.GetLength(); ++chatConfigurationArnsIndex) + { + chatConfigurationArnsJsonList[chatConfigurationArnsIndex].AsString(chatbotNotificationChannelItem.second[chatConfigurationArnsIndex]); + } + chatbotNotificationChannelJsonMap.WithArray(chatbotNotificationChannelItem.first, std::move(chatConfigurationArnsJsonList)); + } + payload.WithObject("chatbotNotificationChannel", std::move(chatbotNotificationChannelJsonMap)); + + } + + if(m_isCloudTrailEventHistoryEnabledHasBeenSet) + { + payload.WithBool("isCloudTrailEventHistoryEnabled", m_isCloudTrailEventHistoryEnabled); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp new file mode 100644 index 00000000000..e29105520fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/model/UpdateInvestigationGroupResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::AIOps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateInvestigationGroupResult::UpdateInvestigationGroupResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateInvestigationGroupResult& UpdateInvestigationGroupResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/CreateDomainNameResult.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/CreateDomainNameResult.h index bf31c767895..b2ab30ec293 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/CreateDomainNameResult.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/CreateDomainNameResult.h @@ -71,8 +71,7 @@ namespace Model ///@{ /** - *

The ARN of the domain name. Supported only for private custom domain names. - *

+ *

The ARN of the domain name.

*/ inline const Aws::String& GetDomainNameArn() const { return m_domainNameArn; } template diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/DomainName.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/DomainName.h index 32a58527fd5..023bfa88451 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/DomainName.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/DomainName.h @@ -73,8 +73,7 @@ namespace Model ///@{ /** - *

The ARN of the domain name. Supported only for private custom domain names. - *

+ *

The ARN of the domain name.

*/ inline const Aws::String& GetDomainNameArn() const { return m_domainNameArn; } inline bool DomainNameArnHasBeenSet() const { return m_domainNameArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetDomainNameResult.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetDomainNameResult.h index 86da3ace864..4e1cda67190 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetDomainNameResult.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetDomainNameResult.h @@ -71,8 +71,7 @@ namespace Model ///@{ /** - *

The ARN of the domain name. Supported only for private custom domain names. - *

+ *

The ARN of the domain name.

*/ inline const Aws::String& GetDomainNameArn() const { return m_domainNameArn; } template diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetIntegrationResult.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetIntegrationResult.h index 0b76a528884..6c3331def01 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetIntegrationResult.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/GetIntegrationResult.h @@ -230,7 +230,8 @@ namespace Model ///@{ /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is - * 29,000 milliseconds or 29 seconds.

+ * 29,000 milliseconds or 29 seconds. You can increase the default value to longer + * than 29 seconds for Regional or private APIs only.

*/ inline int GetTimeoutInMillis() const { return m_timeoutInMillis; } inline void SetTimeoutInMillis(int value) { m_timeoutInMillisHasBeenSet = true; m_timeoutInMillis = value; } diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/Integration.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/Integration.h index bc69b26889d..5f8b22eb9aa 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/Integration.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/Integration.h @@ -240,7 +240,8 @@ namespace Model ///@{ /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is - * 29,000 milliseconds or 29 seconds.

+ * 29,000 milliseconds or 29 seconds. You can increase the default value to longer + * than 29 seconds for Regional or private APIs only.

*/ inline int GetTimeoutInMillis() const { return m_timeoutInMillis; } inline bool TimeoutInMillisHasBeenSet() const { return m_timeoutInMillisHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationRequest.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationRequest.h index 560fc5e76d4..00217d5f284 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationRequest.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationRequest.h @@ -277,7 +277,8 @@ namespace Model ///@{ /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is - * 29,000 milliseconds or 29 seconds.

+ * 29,000 milliseconds or 29 seconds. You can increase the default value to longer + * than 29 seconds for Regional or private APIs only.

*/ inline int GetTimeoutInMillis() const { return m_timeoutInMillis; } inline bool TimeoutInMillisHasBeenSet() const { return m_timeoutInMillisHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationResult.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationResult.h index edeea6d092e..3a99e977dd1 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationResult.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/PutIntegrationResult.h @@ -230,7 +230,8 @@ namespace Model ///@{ /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is - * 29,000 milliseconds or 29 seconds.

+ * 29,000 milliseconds or 29 seconds. You can increase the default value to longer + * than 29 seconds for Regional or private APIs only.

*/ inline int GetTimeoutInMillis() const { return m_timeoutInMillis; } inline void SetTimeoutInMillis(int value) { m_timeoutInMillisHasBeenSet = true; m_timeoutInMillis = value; } diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateDomainNameResult.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateDomainNameResult.h index 6f17795e9fb..38aa51bb2a1 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateDomainNameResult.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateDomainNameResult.h @@ -71,8 +71,7 @@ namespace Model ///@{ /** - *

The ARN of the domain name. Supported only for private custom domain names. - *

+ *

The ARN of the domain name.

*/ inline const Aws::String& GetDomainNameArn() const { return m_domainNameArn; } template diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateIntegrationResult.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateIntegrationResult.h index 8bd47e76b8d..ab5b7b8481c 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateIntegrationResult.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/model/UpdateIntegrationResult.h @@ -230,7 +230,8 @@ namespace Model ///@{ /** *

Custom timeout between 50 and 29,000 milliseconds. The default value is - * 29,000 milliseconds or 29 seconds.

+ * 29,000 milliseconds or 29 seconds. You can increase the default value to longer + * than 29 seconds for Regional or private APIs only.

*/ inline int GetTimeoutInMillis() const { return m_timeoutInMillis; } inline void SetTimeoutInMillis(int value) { m_timeoutInMillisHasBeenSet = true; m_timeoutInMillis = value; } diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h index f3dc6900b6e..5cbfb892e8f 100644 --- a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h +++ b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h @@ -327,7 +327,7 @@ namespace ApiGatewayV2 } /** - *

Creates a RoutingRule

See Also:

Creates a RoutingRule.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h index 24f7d148e41..21e70f69a96 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiCacheRequest.h @@ -62,28 +62,6 @@ namespace Model inline CreateApiCacheRequest& WithTtl(long long value) { SetTtl(value); return *this;} ///@} - ///@{ - /** - *

Transit encryption flag when connecting to cache. You cannot update this - * setting after creation.

- */ - inline bool GetTransitEncryptionEnabled() const { return m_transitEncryptionEnabled; } - inline bool TransitEncryptionEnabledHasBeenSet() const { return m_transitEncryptionEnabledHasBeenSet; } - inline void SetTransitEncryptionEnabled(bool value) { m_transitEncryptionEnabledHasBeenSet = true; m_transitEncryptionEnabled = value; } - inline CreateApiCacheRequest& WithTransitEncryptionEnabled(bool value) { SetTransitEncryptionEnabled(value); return *this;} - ///@} - - ///@{ - /** - *

At-rest encryption flag for cache. You cannot update this setting after - * creation.

- */ - inline bool GetAtRestEncryptionEnabled() const { return m_atRestEncryptionEnabled; } - inline bool AtRestEncryptionEnabledHasBeenSet() const { return m_atRestEncryptionEnabledHasBeenSet; } - inline void SetAtRestEncryptionEnabled(bool value) { m_atRestEncryptionEnabledHasBeenSet = true; m_atRestEncryptionEnabled = value; } - inline CreateApiCacheRequest& WithAtRestEncryptionEnabled(bool value) { SetAtRestEncryptionEnabled(value); return *this;} - ///@} - ///@{ /** *

Caching behavior.

  • FULL_REQUEST_CACHING: All requests @@ -147,12 +125,6 @@ namespace Model long long m_ttl{0}; bool m_ttlHasBeenSet = false; - bool m_transitEncryptionEnabled{false}; - bool m_transitEncryptionEnabledHasBeenSet = false; - - bool m_atRestEncryptionEnabled{false}; - bool m_atRestEncryptionEnabledHasBeenSet = false; - ApiCachingBehavior m_apiCachingBehavior{ApiCachingBehavior::NOT_SET}; bool m_apiCachingBehaviorHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiCacheRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiCacheRequest.cpp index 41b76591e2b..86938ab51ea 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiCacheRequest.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiCacheRequest.cpp @@ -22,18 +22,6 @@ Aws::String CreateApiCacheRequest::SerializePayload() const } - if(m_transitEncryptionEnabledHasBeenSet) - { - payload.WithBool("transitEncryptionEnabled", m_transitEncryptionEnabled); - - } - - if(m_atRestEncryptionEnabledHasBeenSet) - { - payload.WithBool("atRestEncryptionEnabled", m_atRestEncryptionEnabled); - - } - if(m_apiCachingBehaviorHasBeenSet) { payload.WithString("apiCachingBehavior", ApiCachingBehaviorMapper::GetNameForApiCachingBehavior(m_apiCachingBehavior)); diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h index 6aaa19f367b..a298c5e62e2 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h @@ -17,10 +17,16 @@ namespace Aws namespace AutoScaling { /** - * Amazon EC2 Auto Scaling

    Amazon EC2 Auto Scaling is - * designed to automatically launch and terminate EC2 instances based on - * user-defined scaling policies, scheduled actions, and health checks.

    For - * more information, see the Amazon EC2 Auto Scaling

    The DescribeAutoScalingGroups + * API operation might be throttled when retrieving details for an Auto Scaling + * group that contains many instances. By default, this operation returns details + * for all instances in the group. To help prevent throttling, you can set the + * IncludeInstances parameter to false to exclude + * instance details from the response.

    Amazon EC2 Auto Scaling is designed + * to automatically launch and terminate EC2 instances based on user-defined + * scaling policies, scheduled actions, and health checks.

    For more + * information, see the Amazon * EC2 Auto Scaling User Guide and the Amazon diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h index 936e701ffb3..7a4d57a055d 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/model/DescribeAutoScalingGroupsRequest.h @@ -55,6 +55,18 @@ namespace Model DescribeAutoScalingGroupsRequest& AddAutoScalingGroupNames(AutoScalingGroupNamesT&& value) { m_autoScalingGroupNamesHasBeenSet = true; m_autoScalingGroupNames.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

    Specifies whether to include information about Amazon EC2 instances in the + * response. When set to true (default), the response includes + * instance details.

    + */ + inline bool GetIncludeInstances() const { return m_includeInstances; } + inline bool IncludeInstancesHasBeenSet() const { return m_includeInstancesHasBeenSet; } + inline void SetIncludeInstances(bool value) { m_includeInstancesHasBeenSet = true; m_includeInstances = value; } + inline DescribeAutoScalingGroupsRequest& WithIncludeInstances(bool value) { SetIncludeInstances(value); return *this;} + ///@} + ///@{ /** *

    The token for the next set of items to return. (You received this token from @@ -97,6 +109,9 @@ namespace Model Aws::Vector m_autoScalingGroupNames; bool m_autoScalingGroupNamesHasBeenSet = false; + bool m_includeInstances{false}; + bool m_includeInstancesHasBeenSet = false; + Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp b/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp index 6152fc55ac9..9d9f2282376 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp +++ b/generated/src/aws-cpp-sdk-autoscaling/source/model/DescribeAutoScalingGroupsRequest.cpp @@ -32,6 +32,11 @@ Aws::String DescribeAutoScalingGroupsRequest::SerializePayload() const } } + if(m_includeInstancesHasBeenSet) + { + ss << "IncludeInstances=" << std::boolalpha << m_includeInstances << "&"; + } + if(m_nextTokenHasBeenSet) { ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h index ba4e79825fd..00c5696e6b0 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h @@ -79,6 +79,32 @@ namespace Backup /* End of legacy constructors due deprecation */ virtual ~BackupClient(); + /** + *

    Associates an MPA approval team with a backup vault.

    See Also:

    + *
    AWS + * API Reference

    + */ + virtual Model::AssociateBackupVaultMpaApprovalTeamOutcome AssociateBackupVaultMpaApprovalTeam(const Model::AssociateBackupVaultMpaApprovalTeamRequest& request) const; + + /** + * A Callable wrapper for AssociateBackupVaultMpaApprovalTeam that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssociateBackupVaultMpaApprovalTeamOutcomeCallable AssociateBackupVaultMpaApprovalTeamCallable(const AssociateBackupVaultMpaApprovalTeamRequestT& request) const + { + return SubmitCallable(&BackupClient::AssociateBackupVaultMpaApprovalTeam, request); + } + + /** + * An Async wrapper for AssociateBackupVaultMpaApprovalTeam that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssociateBackupVaultMpaApprovalTeamAsync(const AssociateBackupVaultMpaApprovalTeamRequestT& request, const AssociateBackupVaultMpaApprovalTeamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BackupClient::AssociateBackupVaultMpaApprovalTeam, request, handler, context); + } + /** *

    Removes the specified legal hold on a recovery point. This action can only be * performed by a user with sufficient permissions.

    See Also:

    Creates a restore access backup vault that provides temporary access to + * recovery points in a logically air-gapped backup vault, subject to MPA + * approval.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateRestoreAccessBackupVaultOutcome CreateRestoreAccessBackupVault(const Model::CreateRestoreAccessBackupVaultRequest& request) const; + + /** + * A Callable wrapper for CreateRestoreAccessBackupVault that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateRestoreAccessBackupVaultOutcomeCallable CreateRestoreAccessBackupVaultCallable(const CreateRestoreAccessBackupVaultRequestT& request) const + { + return SubmitCallable(&BackupClient::CreateRestoreAccessBackupVault, request); + } + + /** + * An Async wrapper for CreateRestoreAccessBackupVault that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateRestoreAccessBackupVaultAsync(const CreateRestoreAccessBackupVaultRequestT& request, const CreateRestoreAccessBackupVaultResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BackupClient::CreateRestoreAccessBackupVault, request, handler, context); + } + /** *

    Creates a restore testing plan.

    The first of two steps to create a * restore testing plan. After this request is successful, finish the procedure @@ -968,6 +1021,33 @@ namespace Backup return SubmitAsync(&BackupClient::DescribeRestoreJob, request, handler, context); } + /** + *

    Removes the association between an MPA approval team and a backup vault, + * disabling the MPA approval workflow for restore operations.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::DisassociateBackupVaultMpaApprovalTeamOutcome DisassociateBackupVaultMpaApprovalTeam(const Model::DisassociateBackupVaultMpaApprovalTeamRequest& request) const; + + /** + * A Callable wrapper for DisassociateBackupVaultMpaApprovalTeam that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisassociateBackupVaultMpaApprovalTeamOutcomeCallable DisassociateBackupVaultMpaApprovalTeamCallable(const DisassociateBackupVaultMpaApprovalTeamRequestT& request) const + { + return SubmitCallable(&BackupClient::DisassociateBackupVaultMpaApprovalTeam, request); + } + + /** + * An Async wrapper for DisassociateBackupVaultMpaApprovalTeam that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisassociateBackupVaultMpaApprovalTeamAsync(const DisassociateBackupVaultMpaApprovalTeamRequestT& request, const DisassociateBackupVaultMpaApprovalTeamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BackupClient::DisassociateBackupVaultMpaApprovalTeam, request, handler, context); + } + /** *

    Deletes the specified continuous backup recovery point from Backup and * releases control of that continuous backup to the source service, such as Amazon @@ -1928,6 +2008,32 @@ namespace Backup return SubmitAsync(&BackupClient::ListReportPlans, request, handler, context); } + /** + *

    Returns a list of restore access backup vaults associated with a specified + * backup vault.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::ListRestoreAccessBackupVaultsOutcome ListRestoreAccessBackupVaults(const Model::ListRestoreAccessBackupVaultsRequest& request) const; + + /** + * A Callable wrapper for ListRestoreAccessBackupVaults that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRestoreAccessBackupVaultsOutcomeCallable ListRestoreAccessBackupVaultsCallable(const ListRestoreAccessBackupVaultsRequestT& request) const + { + return SubmitCallable(&BackupClient::ListRestoreAccessBackupVaults, request); + } + + /** + * An Async wrapper for ListRestoreAccessBackupVaults that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRestoreAccessBackupVaultsAsync(const ListRestoreAccessBackupVaultsRequestT& request, const ListRestoreAccessBackupVaultsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BackupClient::ListRestoreAccessBackupVaults, request, handler, context); + } + /** *

    This request obtains a summary of restore jobs created or running within the * the most recent 30 days. You can include parameters AccountID, State, @@ -2222,6 +2328,33 @@ namespace Backup return SubmitAsync(&BackupClient::PutRestoreValidationResult, request, handler, context); } + /** + *

    Revokes access to a restore access backup vault, removing the ability to + * restore from its recovery points and permanently deleting the + * vault.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::RevokeRestoreAccessBackupVaultOutcome RevokeRestoreAccessBackupVault(const Model::RevokeRestoreAccessBackupVaultRequest& request) const; + + /** + * A Callable wrapper for RevokeRestoreAccessBackupVault that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RevokeRestoreAccessBackupVaultOutcomeCallable RevokeRestoreAccessBackupVaultCallable(const RevokeRestoreAccessBackupVaultRequestT& request) const + { + return SubmitCallable(&BackupClient::RevokeRestoreAccessBackupVault, request); + } + + /** + * An Async wrapper for RevokeRestoreAccessBackupVault that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RevokeRestoreAccessBackupVaultAsync(const RevokeRestoreAccessBackupVaultRequestT& request, const RevokeRestoreAccessBackupVaultResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BackupClient::RevokeRestoreAccessBackupVault, request, handler, context); + } + /** *

    Starts an on-demand backup job for the specified resource.

    See * Also:

    #include #include +#include #include #include #include @@ -74,6 +75,7 @@ #include #include #include +#include #include #include #include @@ -153,6 +155,7 @@ namespace Aws namespace Model { /* Service model forward declarations required in BackupClient header */ + class AssociateBackupVaultMpaApprovalTeamRequest; class CancelLegalHoldRequest; class CreateBackupPlanRequest; class CreateBackupSelectionRequest; @@ -161,6 +164,7 @@ namespace Aws class CreateLegalHoldRequest; class CreateLogicallyAirGappedBackupVaultRequest; class CreateReportPlanRequest; + class CreateRestoreAccessBackupVaultRequest; class CreateRestoreTestingPlanRequest; class CreateRestoreTestingSelectionRequest; class DeleteBackupPlanRequest; @@ -185,6 +189,7 @@ namespace Aws class DescribeReportJobRequest; class DescribeReportPlanRequest; class DescribeRestoreJobRequest; + class DisassociateBackupVaultMpaApprovalTeamRequest; class DisassociateRecoveryPointRequest; class DisassociateRecoveryPointFromParentRequest; class ExportBackupPlanTemplateRequest; @@ -221,6 +226,7 @@ namespace Aws class ListRecoveryPointsByResourceRequest; class ListReportJobsRequest; class ListReportPlansRequest; + class ListRestoreAccessBackupVaultsRequest; class ListRestoreJobSummariesRequest; class ListRestoreJobsRequest; class ListRestoreJobsByProtectedResourceRequest; @@ -231,6 +237,7 @@ namespace Aws class PutBackupVaultLockConfigurationRequest; class PutBackupVaultNotificationsRequest; class PutRestoreValidationResultRequest; + class RevokeRestoreAccessBackupVaultRequest; class StartBackupJobRequest; class StartCopyJobRequest; class StartReportJobRequest; @@ -250,6 +257,7 @@ namespace Aws /* End of service model forward declarations required in BackupClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AssociateBackupVaultMpaApprovalTeamOutcome; typedef Aws::Utils::Outcome CancelLegalHoldOutcome; typedef Aws::Utils::Outcome CreateBackupPlanOutcome; typedef Aws::Utils::Outcome CreateBackupSelectionOutcome; @@ -258,6 +266,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateLegalHoldOutcome; typedef Aws::Utils::Outcome CreateLogicallyAirGappedBackupVaultOutcome; typedef Aws::Utils::Outcome CreateReportPlanOutcome; + typedef Aws::Utils::Outcome CreateRestoreAccessBackupVaultOutcome; typedef Aws::Utils::Outcome CreateRestoreTestingPlanOutcome; typedef Aws::Utils::Outcome CreateRestoreTestingSelectionOutcome; typedef Aws::Utils::Outcome DeleteBackupPlanOutcome; @@ -282,6 +291,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeReportJobOutcome; typedef Aws::Utils::Outcome DescribeReportPlanOutcome; typedef Aws::Utils::Outcome DescribeRestoreJobOutcome; + typedef Aws::Utils::Outcome DisassociateBackupVaultMpaApprovalTeamOutcome; typedef Aws::Utils::Outcome DisassociateRecoveryPointOutcome; typedef Aws::Utils::Outcome DisassociateRecoveryPointFromParentOutcome; typedef Aws::Utils::Outcome ExportBackupPlanTemplateOutcome; @@ -318,6 +328,7 @@ namespace Aws typedef Aws::Utils::Outcome ListRecoveryPointsByResourceOutcome; typedef Aws::Utils::Outcome ListReportJobsOutcome; typedef Aws::Utils::Outcome ListReportPlansOutcome; + typedef Aws::Utils::Outcome ListRestoreAccessBackupVaultsOutcome; typedef Aws::Utils::Outcome ListRestoreJobSummariesOutcome; typedef Aws::Utils::Outcome ListRestoreJobsOutcome; typedef Aws::Utils::Outcome ListRestoreJobsByProtectedResourceOutcome; @@ -328,6 +339,7 @@ namespace Aws typedef Aws::Utils::Outcome PutBackupVaultLockConfigurationOutcome; typedef Aws::Utils::Outcome PutBackupVaultNotificationsOutcome; typedef Aws::Utils::Outcome PutRestoreValidationResultOutcome; + typedef Aws::Utils::Outcome RevokeRestoreAccessBackupVaultOutcome; typedef Aws::Utils::Outcome StartBackupJobOutcome; typedef Aws::Utils::Outcome StartCopyJobOutcome; typedef Aws::Utils::Outcome StartReportJobOutcome; @@ -347,6 +359,7 @@ namespace Aws /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future AssociateBackupVaultMpaApprovalTeamOutcomeCallable; typedef std::future CancelLegalHoldOutcomeCallable; typedef std::future CreateBackupPlanOutcomeCallable; typedef std::future CreateBackupSelectionOutcomeCallable; @@ -355,6 +368,7 @@ namespace Aws typedef std::future CreateLegalHoldOutcomeCallable; typedef std::future CreateLogicallyAirGappedBackupVaultOutcomeCallable; typedef std::future CreateReportPlanOutcomeCallable; + typedef std::future CreateRestoreAccessBackupVaultOutcomeCallable; typedef std::future CreateRestoreTestingPlanOutcomeCallable; typedef std::future CreateRestoreTestingSelectionOutcomeCallable; typedef std::future DeleteBackupPlanOutcomeCallable; @@ -379,6 +393,7 @@ namespace Aws typedef std::future DescribeReportJobOutcomeCallable; typedef std::future DescribeReportPlanOutcomeCallable; typedef std::future DescribeRestoreJobOutcomeCallable; + typedef std::future DisassociateBackupVaultMpaApprovalTeamOutcomeCallable; typedef std::future DisassociateRecoveryPointOutcomeCallable; typedef std::future DisassociateRecoveryPointFromParentOutcomeCallable; typedef std::future ExportBackupPlanTemplateOutcomeCallable; @@ -415,6 +430,7 @@ namespace Aws typedef std::future ListRecoveryPointsByResourceOutcomeCallable; typedef std::future ListReportJobsOutcomeCallable; typedef std::future ListReportPlansOutcomeCallable; + typedef std::future ListRestoreAccessBackupVaultsOutcomeCallable; typedef std::future ListRestoreJobSummariesOutcomeCallable; typedef std::future ListRestoreJobsOutcomeCallable; typedef std::future ListRestoreJobsByProtectedResourceOutcomeCallable; @@ -425,6 +441,7 @@ namespace Aws typedef std::future PutBackupVaultLockConfigurationOutcomeCallable; typedef std::future PutBackupVaultNotificationsOutcomeCallable; typedef std::future PutRestoreValidationResultOutcomeCallable; + typedef std::future RevokeRestoreAccessBackupVaultOutcomeCallable; typedef std::future StartBackupJobOutcomeCallable; typedef std::future StartCopyJobOutcomeCallable; typedef std::future StartReportJobOutcomeCallable; @@ -447,6 +464,7 @@ namespace Aws class BackupClient; /* Service model async handlers definitions */ + typedef std::function&) > AssociateBackupVaultMpaApprovalTeamResponseReceivedHandler; typedef std::function&) > CancelLegalHoldResponseReceivedHandler; typedef std::function&) > CreateBackupPlanResponseReceivedHandler; typedef std::function&) > CreateBackupSelectionResponseReceivedHandler; @@ -455,6 +473,7 @@ namespace Aws typedef std::function&) > CreateLegalHoldResponseReceivedHandler; typedef std::function&) > CreateLogicallyAirGappedBackupVaultResponseReceivedHandler; typedef std::function&) > CreateReportPlanResponseReceivedHandler; + typedef std::function&) > CreateRestoreAccessBackupVaultResponseReceivedHandler; typedef std::function&) > CreateRestoreTestingPlanResponseReceivedHandler; typedef std::function&) > CreateRestoreTestingSelectionResponseReceivedHandler; typedef std::function&) > DeleteBackupPlanResponseReceivedHandler; @@ -479,6 +498,7 @@ namespace Aws typedef std::function&) > DescribeReportJobResponseReceivedHandler; typedef std::function&) > DescribeReportPlanResponseReceivedHandler; typedef std::function&) > DescribeRestoreJobResponseReceivedHandler; + typedef std::function&) > DisassociateBackupVaultMpaApprovalTeamResponseReceivedHandler; typedef std::function&) > DisassociateRecoveryPointResponseReceivedHandler; typedef std::function&) > DisassociateRecoveryPointFromParentResponseReceivedHandler; typedef std::function&) > ExportBackupPlanTemplateResponseReceivedHandler; @@ -515,6 +535,7 @@ namespace Aws typedef std::function&) > ListRecoveryPointsByResourceResponseReceivedHandler; typedef std::function&) > ListReportJobsResponseReceivedHandler; typedef std::function&) > ListReportPlansResponseReceivedHandler; + typedef std::function&) > ListRestoreAccessBackupVaultsResponseReceivedHandler; typedef std::function&) > ListRestoreJobSummariesResponseReceivedHandler; typedef std::function&) > ListRestoreJobsResponseReceivedHandler; typedef std::function&) > ListRestoreJobsByProtectedResourceResponseReceivedHandler; @@ -525,6 +546,7 @@ namespace Aws typedef std::function&) > PutBackupVaultLockConfigurationResponseReceivedHandler; typedef std::function&) > PutBackupVaultNotificationsResponseReceivedHandler; typedef std::function&) > PutRestoreValidationResultResponseReceivedHandler; + typedef std::function&) > RevokeRestoreAccessBackupVaultResponseReceivedHandler; typedef std::function&) > StartBackupJobResponseReceivedHandler; typedef std::function&) > StartCopyJobResponseReceivedHandler; typedef std::function&) > StartReportJobResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/AssociateBackupVaultMpaApprovalTeamRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/AssociateBackupVaultMpaApprovalTeamRequest.h new file mode 100644 index 00000000000..304a81fa23b --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/AssociateBackupVaultMpaApprovalTeamRequest.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Backup +{ +namespace Model +{ + + /** + */ + class AssociateBackupVaultMpaApprovalTeamRequest : public BackupRequest + { + public: + AWS_BACKUP_API AssociateBackupVaultMpaApprovalTeamRequest() = default; + + // 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 "AssociateBackupVaultMpaApprovalTeam"; } + + AWS_BACKUP_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The name of the backup vault to associate with the MPA approval team.

    + */ + inline const Aws::String& GetBackupVaultName() const { return m_backupVaultName; } + inline bool BackupVaultNameHasBeenSet() const { return m_backupVaultNameHasBeenSet; } + template + void SetBackupVaultName(BackupVaultNameT&& value) { m_backupVaultNameHasBeenSet = true; m_backupVaultName = std::forward(value); } + template + AssociateBackupVaultMpaApprovalTeamRequest& WithBackupVaultName(BackupVaultNameT&& value) { SetBackupVaultName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the MPA approval team to associate with the + * backup vault.

    + */ + inline const Aws::String& GetMpaApprovalTeamArn() const { return m_mpaApprovalTeamArn; } + inline bool MpaApprovalTeamArnHasBeenSet() const { return m_mpaApprovalTeamArnHasBeenSet; } + template + void SetMpaApprovalTeamArn(MpaApprovalTeamArnT&& value) { m_mpaApprovalTeamArnHasBeenSet = true; m_mpaApprovalTeamArn = std::forward(value); } + template + AssociateBackupVaultMpaApprovalTeamRequest& WithMpaApprovalTeamArn(MpaApprovalTeamArnT&& value) { SetMpaApprovalTeamArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A comment provided by the requester explaining the association request.

    + */ + inline const Aws::String& GetRequesterComment() const { return m_requesterComment; } + inline bool RequesterCommentHasBeenSet() const { return m_requesterCommentHasBeenSet; } + template + void SetRequesterComment(RequesterCommentT&& value) { m_requesterCommentHasBeenSet = true; m_requesterComment = std::forward(value); } + template + AssociateBackupVaultMpaApprovalTeamRequest& WithRequesterComment(RequesterCommentT&& value) { SetRequesterComment(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_backupVaultName; + bool m_backupVaultNameHasBeenSet = false; + + Aws::String m_mpaApprovalTeamArn; + bool m_mpaApprovalTeamArnHasBeenSet = false; + + Aws::String m_requesterComment; + bool m_requesterCommentHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/BackupVaultEvent.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/BackupVaultEvent.h index 73f321722ca..60360976d46 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/BackupVaultEvent.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/BackupVaultEvent.h @@ -33,6 +33,7 @@ namespace Model BACKUP_PLAN_MODIFIED, S3_BACKUP_OBJECT_FAILED, S3_RESTORE_OBJECT_FAILED, + CONTINUOUS_BACKUP_INTERRUPTED, RECOVERY_POINT_INDEX_COMPLETED, RECOVERY_POINT_INDEX_DELETED, RECOVERY_POINT_INDEXING_FAILED diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupPlanRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupPlanRequest.h index 993efd64c83..205f40b3445 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupPlanRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupPlanRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include namespace Aws { @@ -86,8 +87,8 @@ namespace Model Aws::Map m_backupPlanTags; bool m_backupPlanTagsHasBeenSet = false; - Aws::String m_creatorRequestId; - bool m_creatorRequestIdHasBeenSet = false; + Aws::String m_creatorRequestId{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_creatorRequestIdHasBeenSet = true; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupSelectionRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupSelectionRequest.h index bb2e98f806c..8efdcaf81c5 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupSelectionRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupSelectionRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace Aws { @@ -79,8 +80,8 @@ namespace Model BackupSelection m_backupSelection; bool m_backupSelectionHasBeenSet = false; - Aws::String m_creatorRequestId; - bool m_creatorRequestIdHasBeenSet = false; + Aws::String m_creatorRequestId{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_creatorRequestIdHasBeenSet = true; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupVaultRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupVaultRequest.h index cf3efb87bfe..8c4251ff67e 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupVaultRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateBackupVaultRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace Aws { @@ -103,8 +104,8 @@ namespace Model Aws::String m_encryptionKeyArn; bool m_encryptionKeyArnHasBeenSet = false; - Aws::String m_creatorRequestId; - bool m_creatorRequestIdHasBeenSet = false; + Aws::String m_creatorRequestId{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_creatorRequestIdHasBeenSet = true; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLegalHoldRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLegalHoldRequest.h index 716060732f7..c2cff941291 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLegalHoldRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLegalHoldRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include namespace Aws { @@ -110,8 +111,8 @@ namespace Model Aws::String m_description; bool m_descriptionHasBeenSet = false; - Aws::String m_idempotencyToken; - bool m_idempotencyTokenHasBeenSet = false; + Aws::String m_idempotencyToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_idempotencyTokenHasBeenSet = true; RecoveryPointSelection m_recoveryPointSelection; bool m_recoveryPointSelectionHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLogicallyAirGappedBackupVaultRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLogicallyAirGappedBackupVaultRequest.h index 5530cbca8f5..996891220f5 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLogicallyAirGappedBackupVaultRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateLogicallyAirGappedBackupVaultRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace Aws { @@ -104,8 +105,8 @@ namespace Model Aws::Map m_backupVaultTags; bool m_backupVaultTagsHasBeenSet = false; - Aws::String m_creatorRequestId; - bool m_creatorRequestIdHasBeenSet = false; + Aws::String m_creatorRequestId{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_creatorRequestIdHasBeenSet = true; long long m_minRetentionDays{0}; bool m_minRetentionDaysHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateRestoreAccessBackupVaultRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateRestoreAccessBackupVaultRequest.h new file mode 100644 index 00000000000..9ba5102d3f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateRestoreAccessBackupVaultRequest.h @@ -0,0 +1,123 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Backup +{ +namespace Model +{ + + /** + */ + class CreateRestoreAccessBackupVaultRequest : public BackupRequest + { + public: + AWS_BACKUP_API CreateRestoreAccessBackupVaultRequest() = default; + + // 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 "CreateRestoreAccessBackupVault"; } + + AWS_BACKUP_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The ARN of the source backup vault containing the recovery points to which + * temporary access is requested.

    + */ + inline const Aws::String& GetSourceBackupVaultArn() const { return m_sourceBackupVaultArn; } + inline bool SourceBackupVaultArnHasBeenSet() const { return m_sourceBackupVaultArnHasBeenSet; } + template + void SetSourceBackupVaultArn(SourceBackupVaultArnT&& value) { m_sourceBackupVaultArnHasBeenSet = true; m_sourceBackupVaultArn = std::forward(value); } + template + CreateRestoreAccessBackupVaultRequest& WithSourceBackupVaultArn(SourceBackupVaultArnT&& value) { SetSourceBackupVaultArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The name of the backup vault to associate with an MPA approval team.

    + */ + inline const Aws::String& GetBackupVaultName() const { return m_backupVaultName; } + inline bool BackupVaultNameHasBeenSet() const { return m_backupVaultNameHasBeenSet; } + template + void SetBackupVaultName(BackupVaultNameT&& value) { m_backupVaultNameHasBeenSet = true; m_backupVaultName = std::forward(value); } + template + CreateRestoreAccessBackupVaultRequest& WithBackupVaultName(BackupVaultNameT&& value) { SetBackupVaultName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Optional tags to assign to the restore access backup vault.

    + */ + inline const Aws::Map& GetBackupVaultTags() const { return m_backupVaultTags; } + inline bool BackupVaultTagsHasBeenSet() const { return m_backupVaultTagsHasBeenSet; } + template> + void SetBackupVaultTags(BackupVaultTagsT&& value) { m_backupVaultTagsHasBeenSet = true; m_backupVaultTags = std::forward(value); } + template> + CreateRestoreAccessBackupVaultRequest& WithBackupVaultTags(BackupVaultTagsT&& value) { SetBackupVaultTags(std::forward(value)); return *this;} + template + CreateRestoreAccessBackupVaultRequest& AddBackupVaultTags(BackupVaultTagsKeyT&& key, BackupVaultTagsValueT&& value) { + m_backupVaultTagsHasBeenSet = true; m_backupVaultTags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

    A unique string that identifies the request and allows failed requests to be + * retried without the risk of executing the operation twice.

    + */ + inline const Aws::String& GetCreatorRequestId() const { return m_creatorRequestId; } + inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; } + template + void SetCreatorRequestId(CreatorRequestIdT&& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = std::forward(value); } + template + CreateRestoreAccessBackupVaultRequest& WithCreatorRequestId(CreatorRequestIdT&& value) { SetCreatorRequestId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A comment explaining the reason for requesting restore access to the backup + * vault.

    + */ + inline const Aws::String& GetRequesterComment() const { return m_requesterComment; } + inline bool RequesterCommentHasBeenSet() const { return m_requesterCommentHasBeenSet; } + template + void SetRequesterComment(RequesterCommentT&& value) { m_requesterCommentHasBeenSet = true; m_requesterComment = std::forward(value); } + template + CreateRestoreAccessBackupVaultRequest& WithRequesterComment(RequesterCommentT&& value) { SetRequesterComment(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_sourceBackupVaultArn; + bool m_sourceBackupVaultArnHasBeenSet = false; + + Aws::String m_backupVaultName; + bool m_backupVaultNameHasBeenSet = false; + + Aws::Map m_backupVaultTags; + bool m_backupVaultTagsHasBeenSet = false; + + Aws::String m_creatorRequestId{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_creatorRequestIdHasBeenSet = true; + + Aws::String m_requesterComment; + bool m_requesterCommentHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateRestoreAccessBackupVaultResult.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateRestoreAccessBackupVaultResult.h new file mode 100644 index 00000000000..374d7a1a9a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/CreateRestoreAccessBackupVaultResult.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Backup +{ +namespace Model +{ + class CreateRestoreAccessBackupVaultResult + { + public: + AWS_BACKUP_API CreateRestoreAccessBackupVaultResult() = default; + AWS_BACKUP_API CreateRestoreAccessBackupVaultResult(const Aws::AmazonWebServiceResult& result); + AWS_BACKUP_API CreateRestoreAccessBackupVaultResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The ARN that uniquely identifies the created restore access backup vault.

    + */ + inline const Aws::String& GetRestoreAccessBackupVaultArn() const { return m_restoreAccessBackupVaultArn; } + template + void SetRestoreAccessBackupVaultArn(RestoreAccessBackupVaultArnT&& value) { m_restoreAccessBackupVaultArnHasBeenSet = true; m_restoreAccessBackupVaultArn = std::forward(value); } + template + CreateRestoreAccessBackupVaultResult& WithRestoreAccessBackupVaultArn(RestoreAccessBackupVaultArnT&& value) { SetRestoreAccessBackupVaultArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The current state of the restore access backup vault.

    + */ + inline VaultState GetVaultState() const { return m_vaultState; } + inline void SetVaultState(VaultState value) { m_vaultStateHasBeenSet = true; m_vaultState = value; } + inline CreateRestoreAccessBackupVaultResult& WithVaultState(VaultState value) { SetVaultState(value); return *this;} + ///@} + + ///@{ + /** + *

    The name of the created restore access backup vault.

    + */ + inline const Aws::String& GetRestoreAccessBackupVaultName() const { return m_restoreAccessBackupVaultName; } + template + void SetRestoreAccessBackupVaultName(RestoreAccessBackupVaultNameT&& value) { m_restoreAccessBackupVaultNameHasBeenSet = true; m_restoreAccessBackupVaultName = std::forward(value); } + template + CreateRestoreAccessBackupVaultResult& WithRestoreAccessBackupVaultName(RestoreAccessBackupVaultNameT&& value) { SetRestoreAccessBackupVaultName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    >The date and time when the restore access backup vault was created, in + * Unix format and Coordinated Universal Time

    + */ + inline const Aws::Utils::DateTime& GetCreationDate() const { return m_creationDate; } + template + void SetCreationDate(CreationDateT&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::forward(value); } + template + CreateRestoreAccessBackupVaultResult& WithCreationDate(CreationDateT&& value) { SetCreationDate(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateRestoreAccessBackupVaultResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_restoreAccessBackupVaultArn; + bool m_restoreAccessBackupVaultArnHasBeenSet = false; + + VaultState m_vaultState{VaultState::NOT_SET}; + bool m_vaultStateHasBeenSet = false; + + Aws::String m_restoreAccessBackupVaultName; + bool m_restoreAccessBackupVaultNameHasBeenSet = false; + + Aws::Utils::DateTime m_creationDate{}; + bool m_creationDateHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeBackupVaultResult.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeBackupVaultResult.h index 86dfaf6eeec..37f29d6afbc 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeBackupVaultResult.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeBackupVaultResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Aws @@ -196,6 +197,52 @@ namespace Model DescribeBackupVaultResult& WithLockDate(LockDateT&& value) { SetLockDate(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    The ARN of the source backup vault from which this restore access backup + * vault was created.

    + */ + inline const Aws::String& GetSourceBackupVaultArn() const { return m_sourceBackupVaultArn; } + template + void SetSourceBackupVaultArn(SourceBackupVaultArnT&& value) { m_sourceBackupVaultArnHasBeenSet = true; m_sourceBackupVaultArn = std::forward(value); } + template + DescribeBackupVaultResult& WithSourceBackupVaultArn(SourceBackupVaultArnT&& value) { SetSourceBackupVaultArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the MPA approval team associated with this backup vault.

    + */ + inline const Aws::String& GetMpaApprovalTeamArn() const { return m_mpaApprovalTeamArn; } + template + void SetMpaApprovalTeamArn(MpaApprovalTeamArnT&& value) { m_mpaApprovalTeamArnHasBeenSet = true; m_mpaApprovalTeamArn = std::forward(value); } + template + DescribeBackupVaultResult& WithMpaApprovalTeamArn(MpaApprovalTeamArnT&& value) { SetMpaApprovalTeamArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the MPA session associated with this backup vault.

    + */ + inline const Aws::String& GetMpaSessionArn() const { return m_mpaSessionArn; } + template + void SetMpaSessionArn(MpaSessionArnT&& value) { m_mpaSessionArnHasBeenSet = true; m_mpaSessionArn = std::forward(value); } + template + DescribeBackupVaultResult& WithMpaSessionArn(MpaSessionArnT&& value) { SetMpaSessionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    Information about the latest update to the MPA approval team association for + * this backup vault.

    + */ + inline const LatestMpaApprovalTeamUpdate& GetLatestMpaApprovalTeamUpdate() const { return m_latestMpaApprovalTeamUpdate; } + template + void SetLatestMpaApprovalTeamUpdate(LatestMpaApprovalTeamUpdateT&& value) { m_latestMpaApprovalTeamUpdateHasBeenSet = true; m_latestMpaApprovalTeamUpdate = std::forward(value); } + template + DescribeBackupVaultResult& WithLatestMpaApprovalTeamUpdate(LatestMpaApprovalTeamUpdateT&& value) { SetLatestMpaApprovalTeamUpdate(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -242,6 +289,18 @@ namespace Model Aws::Utils::DateTime m_lockDate{}; bool m_lockDateHasBeenSet = false; + Aws::String m_sourceBackupVaultArn; + bool m_sourceBackupVaultArnHasBeenSet = false; + + Aws::String m_mpaApprovalTeamArn; + bool m_mpaApprovalTeamArnHasBeenSet = false; + + Aws::String m_mpaSessionArn; + bool m_mpaSessionArnHasBeenSet = false; + + LatestMpaApprovalTeamUpdate m_latestMpaApprovalTeamUpdate; + bool m_latestMpaApprovalTeamUpdateHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeRecoveryPointResult.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeRecoveryPointResult.h index 931cb90c992..585f88a0569 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeRecoveryPointResult.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DescribeRecoveryPointResult.h @@ -209,6 +209,18 @@ namespace Model DescribeRecoveryPointResult& WithCreationDate(CreationDateT&& value) { SetCreationDate(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    The date and time when the backup job that created this recovery point was + * initiated, in Unix format and Coordinated Universal Time (UTC).

    + */ + inline const Aws::Utils::DateTime& GetInitiationDate() const { return m_initiationDate; } + template + void SetInitiationDate(InitiationDateT&& value) { m_initiationDateHasBeenSet = true; m_initiationDate = std::forward(value); } + template + DescribeRecoveryPointResult& WithInitiationDate(InitiationDateT&& value) { SetInitiationDate(std::forward(value)); return *this;} + ///@} + ///@{ /** *

    The date and time that a job to create a recovery point is completed, in Unix @@ -438,6 +450,9 @@ namespace Model Aws::Utils::DateTime m_creationDate{}; bool m_creationDateHasBeenSet = false; + Aws::Utils::DateTime m_initiationDate{}; + bool m_initiationDateHasBeenSet = false; + Aws::Utils::DateTime m_completionDate{}; bool m_completionDateHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DisassociateBackupVaultMpaApprovalTeamRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DisassociateBackupVaultMpaApprovalTeamRequest.h new file mode 100644 index 00000000000..5737579b51c --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/DisassociateBackupVaultMpaApprovalTeamRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Backup +{ +namespace Model +{ + + /** + */ + class DisassociateBackupVaultMpaApprovalTeamRequest : public BackupRequest + { + public: + AWS_BACKUP_API DisassociateBackupVaultMpaApprovalTeamRequest() = default; + + // 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 "DisassociateBackupVaultMpaApprovalTeam"; } + + AWS_BACKUP_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    The name of the backup vault from which to disassociate the MPA approval + * team.

    + */ + inline const Aws::String& GetBackupVaultName() const { return m_backupVaultName; } + inline bool BackupVaultNameHasBeenSet() const { return m_backupVaultNameHasBeenSet; } + template + void SetBackupVaultName(BackupVaultNameT&& value) { m_backupVaultNameHasBeenSet = true; m_backupVaultName = std::forward(value); } + template + DisassociateBackupVaultMpaApprovalTeamRequest& WithBackupVaultName(BackupVaultNameT&& value) { SetBackupVaultName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    An optional comment explaining the reason for disassociating the MPA approval + * team from the backup vault.

    + */ + inline const Aws::String& GetRequesterComment() const { return m_requesterComment; } + inline bool RequesterCommentHasBeenSet() const { return m_requesterCommentHasBeenSet; } + template + void SetRequesterComment(RequesterCommentT&& value) { m_requesterCommentHasBeenSet = true; m_requesterComment = std::forward(value); } + template + DisassociateBackupVaultMpaApprovalTeamRequest& WithRequesterComment(RequesterCommentT&& value) { SetRequesterComment(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_backupVaultName; + bool m_backupVaultNameHasBeenSet = false; + + Aws::String m_requesterComment; + bool m_requesterCommentHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/LatestMpaApprovalTeamUpdate.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/LatestMpaApprovalTeamUpdate.h new file mode 100644 index 00000000000..ee54e505603 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/LatestMpaApprovalTeamUpdate.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Backup +{ +namespace Model +{ + + /** + *

    Contains information about the latest update to an MPA approval team + * association.

    See Also:

    AWS + * API Reference

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

    The ARN of the MPA session associated with this update.

    + */ + inline const Aws::String& GetMpaSessionArn() const { return m_mpaSessionArn; } + inline bool MpaSessionArnHasBeenSet() const { return m_mpaSessionArnHasBeenSet; } + template + void SetMpaSessionArn(MpaSessionArnT&& value) { m_mpaSessionArnHasBeenSet = true; m_mpaSessionArn = std::forward(value); } + template + LatestMpaApprovalTeamUpdate& WithMpaSessionArn(MpaSessionArnT&& value) { SetMpaSessionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The current status of the MPA approval team update.

    + */ + inline MpaSessionStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(MpaSessionStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline LatestMpaApprovalTeamUpdate& WithStatus(MpaSessionStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    A message describing the current status of the MPA approval team update.

    + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + LatestMpaApprovalTeamUpdate& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the MPA approval team update was initiated.

    + */ + inline const Aws::Utils::DateTime& GetInitiationDate() const { return m_initiationDate; } + inline bool InitiationDateHasBeenSet() const { return m_initiationDateHasBeenSet; } + template + void SetInitiationDate(InitiationDateT&& value) { m_initiationDateHasBeenSet = true; m_initiationDate = std::forward(value); } + template + LatestMpaApprovalTeamUpdate& WithInitiationDate(InitiationDateT&& value) { SetInitiationDate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the MPA approval team update will expire.

    + */ + inline const Aws::Utils::DateTime& GetExpiryDate() const { return m_expiryDate; } + inline bool ExpiryDateHasBeenSet() const { return m_expiryDateHasBeenSet; } + template + void SetExpiryDate(ExpiryDateT&& value) { m_expiryDateHasBeenSet = true; m_expiryDate = std::forward(value); } + template + LatestMpaApprovalTeamUpdate& WithExpiryDate(ExpiryDateT&& value) { SetExpiryDate(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_mpaSessionArn; + bool m_mpaSessionArnHasBeenSet = false; + + MpaSessionStatus m_status{MpaSessionStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + Aws::Utils::DateTime m_initiationDate{}; + bool m_initiationDateHasBeenSet = false; + + Aws::Utils::DateTime m_expiryDate{}; + bool m_expiryDateHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/LatestRevokeRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/LatestRevokeRequest.h new file mode 100644 index 00000000000..584d10c4817 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/LatestRevokeRequest.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Backup +{ +namespace Model +{ + + /** + *

    Contains information about the latest request to revoke access to a backup + * vault.

    See Also:

    AWS + * API Reference

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

    The ARN of the MPA session associated with this revoke request.

    + */ + inline const Aws::String& GetMpaSessionArn() const { return m_mpaSessionArn; } + inline bool MpaSessionArnHasBeenSet() const { return m_mpaSessionArnHasBeenSet; } + template + void SetMpaSessionArn(MpaSessionArnT&& value) { m_mpaSessionArnHasBeenSet = true; m_mpaSessionArn = std::forward(value); } + template + LatestRevokeRequest& WithMpaSessionArn(MpaSessionArnT&& value) { SetMpaSessionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The current status of the revoke request.

    + */ + inline MpaRevokeSessionStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(MpaRevokeSessionStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline LatestRevokeRequest& WithStatus(MpaRevokeSessionStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    A message describing the current status of the revoke request.

    + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + LatestRevokeRequest& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the revoke request was initiated.

    + */ + inline const Aws::Utils::DateTime& GetInitiationDate() const { return m_initiationDate; } + inline bool InitiationDateHasBeenSet() const { return m_initiationDateHasBeenSet; } + template + void SetInitiationDate(InitiationDateT&& value) { m_initiationDateHasBeenSet = true; m_initiationDate = std::forward(value); } + template + LatestRevokeRequest& WithInitiationDate(InitiationDateT&& value) { SetInitiationDate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the revoke request will expire.

    + */ + inline const Aws::Utils::DateTime& GetExpiryDate() const { return m_expiryDate; } + inline bool ExpiryDateHasBeenSet() const { return m_expiryDateHasBeenSet; } + template + void SetExpiryDate(ExpiryDateT&& value) { m_expiryDateHasBeenSet = true; m_expiryDate = std::forward(value); } + template + LatestRevokeRequest& WithExpiryDate(ExpiryDateT&& value) { SetExpiryDate(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_mpaSessionArn; + bool m_mpaSessionArnHasBeenSet = false; + + MpaRevokeSessionStatus m_status{MpaRevokeSessionStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + Aws::Utils::DateTime m_initiationDate{}; + bool m_initiationDateHasBeenSet = false; + + Aws::Utils::DateTime m_expiryDate{}; + bool m_expiryDateHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/ListRestoreAccessBackupVaultsRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/ListRestoreAccessBackupVaultsRequest.h new file mode 100644 index 00000000000..450c7e88fc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/ListRestoreAccessBackupVaultsRequest.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace Backup +{ +namespace Model +{ + + /** + */ + class ListRestoreAccessBackupVaultsRequest : public BackupRequest + { + public: + AWS_BACKUP_API ListRestoreAccessBackupVaultsRequest() = default; + + // 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 "ListRestoreAccessBackupVaults"; } + + AWS_BACKUP_API Aws::String SerializePayload() const override; + + AWS_BACKUP_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The name of the backup vault for which to list associated restore access + * backup vaults.

    + */ + inline const Aws::String& GetBackupVaultName() const { return m_backupVaultName; } + inline bool BackupVaultNameHasBeenSet() const { return m_backupVaultNameHasBeenSet; } + template + void SetBackupVaultName(BackupVaultNameT&& value) { m_backupVaultNameHasBeenSet = true; m_backupVaultName = std::forward(value); } + template + ListRestoreAccessBackupVaultsRequest& WithBackupVaultName(BackupVaultNameT&& value) { SetBackupVaultName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The pagination token from a previous request to retrieve the next set of + * results.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListRestoreAccessBackupVaultsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The maximum number of items to return in the response.

    + */ + 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 ListRestoreAccessBackupVaultsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_backupVaultName; + bool m_backupVaultNameHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/ListRestoreAccessBackupVaultsResult.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/ListRestoreAccessBackupVaultsResult.h new file mode 100644 index 00000000000..1edcafa0c2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/ListRestoreAccessBackupVaultsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Backup +{ +namespace Model +{ + class ListRestoreAccessBackupVaultsResult + { + public: + AWS_BACKUP_API ListRestoreAccessBackupVaultsResult() = default; + AWS_BACKUP_API ListRestoreAccessBackupVaultsResult(const Aws::AmazonWebServiceResult& result); + AWS_BACKUP_API ListRestoreAccessBackupVaultsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The pagination token to use in a subsequent request to retrieve the next set + * of results.

    + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListRestoreAccessBackupVaultsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of restore access backup vaults associated with the specified backup + * vault.

    + */ + inline const Aws::Vector& GetRestoreAccessBackupVaults() const { return m_restoreAccessBackupVaults; } + template> + void SetRestoreAccessBackupVaults(RestoreAccessBackupVaultsT&& value) { m_restoreAccessBackupVaultsHasBeenSet = true; m_restoreAccessBackupVaults = std::forward(value); } + template> + ListRestoreAccessBackupVaultsResult& WithRestoreAccessBackupVaults(RestoreAccessBackupVaultsT&& value) { SetRestoreAccessBackupVaults(std::forward(value)); return *this;} + template + ListRestoreAccessBackupVaultsResult& AddRestoreAccessBackupVaults(RestoreAccessBackupVaultsT&& value) { m_restoreAccessBackupVaultsHasBeenSet = true; m_restoreAccessBackupVaults.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListRestoreAccessBackupVaultsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_restoreAccessBackupVaults; + bool m_restoreAccessBackupVaultsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/MpaRevokeSessionStatus.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/MpaRevokeSessionStatus.h new file mode 100644 index 00000000000..839a0462120 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/MpaRevokeSessionStatus.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 Backup +{ +namespace Model +{ + enum class MpaRevokeSessionStatus + { + NOT_SET, + PENDING, + FAILED + }; + +namespace MpaRevokeSessionStatusMapper +{ +AWS_BACKUP_API MpaRevokeSessionStatus GetMpaRevokeSessionStatusForName(const Aws::String& name); + +AWS_BACKUP_API Aws::String GetNameForMpaRevokeSessionStatus(MpaRevokeSessionStatus value); +} // namespace MpaRevokeSessionStatusMapper +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/MpaSessionStatus.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/MpaSessionStatus.h new file mode 100644 index 00000000000..f1a61c4294c --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/MpaSessionStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Backup +{ +namespace Model +{ + enum class MpaSessionStatus + { + NOT_SET, + PENDING, + APPROVED, + FAILED + }; + +namespace MpaSessionStatusMapper +{ +AWS_BACKUP_API MpaSessionStatus GetMpaSessionStatusForName(const Aws::String& name); + +AWS_BACKUP_API Aws::String GetNameForMpaSessionStatus(MpaSessionStatus value); +} // namespace MpaSessionStatusMapper +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/PutBackupVaultNotificationsRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/PutBackupVaultNotificationsRequest.h index a3e380b7541..0b773833032 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/PutBackupVaultNotificationsRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/PutBackupVaultNotificationsRequest.h @@ -65,22 +65,10 @@ namespace Model ///@{ /** *

    An array of events that indicate the status of jobs to back up resources to - * the backup vault.

    For common use cases and code samples, see Using - * Amazon SNS to track Backup events.

    The following events are - * supported:

    • BACKUP_JOB_STARTED | - * BACKUP_JOB_COMPLETED | BACKUP_JOB_FAILED

    • - *
    • COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | - * COPY_JOB_FAILED

    • - * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | - * RECOVERY_POINT_MODIFIED

    • - * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED - *

    • RECOVERY_POINT_INDEX_COMPLETED | - * RECOVERY_POINT_INDEX_DELETED | - * RECOVERY_POINT_INDEXING_FAILED

    The list - * below includes both supported events and deprecated events that are no longer in - * use (for reference). Deprecated events do not return statuses or notifications. - * Refer to the list above for the supported events.

    + * the backup vault. For the list of supported events, common use cases, and code + * samples, see Notification + * options with Backup.

    */ inline const Aws::Vector& GetBackupVaultEvents() const { return m_backupVaultEvents; } inline bool BackupVaultEventsHasBeenSet() const { return m_backupVaultEventsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RecoveryPointByBackupVault.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RecoveryPointByBackupVault.h index 097d500a5bd..2fc4e7cc6c1 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RecoveryPointByBackupVault.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RecoveryPointByBackupVault.h @@ -193,6 +193,19 @@ namespace Model RecoveryPointByBackupVault& WithCreationDate(CreationDateT&& value) { SetCreationDate(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    The date and time when the backup job that created this recovery point was + * initiated, in Unix format and Coordinated Universal Time (UTC).

    + */ + inline const Aws::Utils::DateTime& GetInitiationDate() const { return m_initiationDate; } + inline bool InitiationDateHasBeenSet() const { return m_initiationDateHasBeenSet; } + template + void SetInitiationDate(InitiationDateT&& value) { m_initiationDateHasBeenSet = true; m_initiationDate = std::forward(value); } + template + RecoveryPointByBackupVault& WithInitiationDate(InitiationDateT&& value) { SetInitiationDate(std::forward(value)); return *this;} + ///@} + ///@{ /** *

    The date and time a job to restore a recovery point is completed, in Unix @@ -416,6 +429,9 @@ namespace Model Aws::Utils::DateTime m_creationDate{}; bool m_creationDateHasBeenSet = false; + Aws::Utils::DateTime m_initiationDate{}; + bool m_initiationDateHasBeenSet = false; + Aws::Utils::DateTime m_completionDate{}; bool m_completionDateHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RestoreAccessBackupVaultListMember.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RestoreAccessBackupVaultListMember.h new file mode 100644 index 00000000000..a354d8a6393 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RestoreAccessBackupVaultListMember.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Backup +{ +namespace Model +{ + + /** + *

    Contains information about a restore access backup vault.

    See + * Also:

    AWS + * API Reference

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

    The ARN of the restore access backup vault.

    + */ + inline const Aws::String& GetRestoreAccessBackupVaultArn() const { return m_restoreAccessBackupVaultArn; } + inline bool RestoreAccessBackupVaultArnHasBeenSet() const { return m_restoreAccessBackupVaultArnHasBeenSet; } + template + void SetRestoreAccessBackupVaultArn(RestoreAccessBackupVaultArnT&& value) { m_restoreAccessBackupVaultArnHasBeenSet = true; m_restoreAccessBackupVaultArn = std::forward(value); } + template + RestoreAccessBackupVaultListMember& WithRestoreAccessBackupVaultArn(RestoreAccessBackupVaultArnT&& value) { SetRestoreAccessBackupVaultArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the restore access backup vault was created.

    + */ + inline const Aws::Utils::DateTime& GetCreationDate() const { return m_creationDate; } + inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } + template + void SetCreationDate(CreationDateT&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::forward(value); } + template + RestoreAccessBackupVaultListMember& WithCreationDate(CreationDateT&& value) { SetCreationDate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The date and time when the restore access backup vault was approved.

    + */ + inline const Aws::Utils::DateTime& GetApprovalDate() const { return m_approvalDate; } + inline bool ApprovalDateHasBeenSet() const { return m_approvalDateHasBeenSet; } + template + void SetApprovalDate(ApprovalDateT&& value) { m_approvalDateHasBeenSet = true; m_approvalDate = std::forward(value); } + template + RestoreAccessBackupVaultListMember& WithApprovalDate(ApprovalDateT&& value) { SetApprovalDate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The current state of the restore access backup vault.

    + */ + inline VaultState GetVaultState() const { return m_vaultState; } + inline bool VaultStateHasBeenSet() const { return m_vaultStateHasBeenSet; } + inline void SetVaultState(VaultState value) { m_vaultStateHasBeenSet = true; m_vaultState = value; } + inline RestoreAccessBackupVaultListMember& WithVaultState(VaultState value) { SetVaultState(value); return *this;} + ///@} + + ///@{ + /** + *

    Information about the latest request to revoke access to this backup + * vault.

    + */ + inline const LatestRevokeRequest& GetLatestRevokeRequest() const { return m_latestRevokeRequest; } + inline bool LatestRevokeRequestHasBeenSet() const { return m_latestRevokeRequestHasBeenSet; } + template + void SetLatestRevokeRequest(LatestRevokeRequestT&& value) { m_latestRevokeRequestHasBeenSet = true; m_latestRevokeRequest = std::forward(value); } + template + RestoreAccessBackupVaultListMember& WithLatestRevokeRequest(LatestRevokeRequestT&& value) { SetLatestRevokeRequest(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_restoreAccessBackupVaultArn; + bool m_restoreAccessBackupVaultArnHasBeenSet = false; + + Aws::Utils::DateTime m_creationDate{}; + bool m_creationDateHasBeenSet = false; + + Aws::Utils::DateTime m_approvalDate{}; + bool m_approvalDateHasBeenSet = false; + + VaultState m_vaultState{VaultState::NOT_SET}; + bool m_vaultStateHasBeenSet = false; + + LatestRevokeRequest m_latestRevokeRequest; + bool m_latestRevokeRequestHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RevokeRestoreAccessBackupVaultRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RevokeRestoreAccessBackupVaultRequest.h new file mode 100644 index 00000000000..f2b8095e804 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/RevokeRestoreAccessBackupVaultRequest.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace Backup +{ +namespace Model +{ + + /** + */ + class RevokeRestoreAccessBackupVaultRequest : public BackupRequest + { + public: + AWS_BACKUP_API RevokeRestoreAccessBackupVaultRequest() = default; + + // 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 "RevokeRestoreAccessBackupVault"; } + + AWS_BACKUP_API Aws::String SerializePayload() const override; + + AWS_BACKUP_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

    The name of the source backup vault associated with the restore access backup + * vault to be revoked.

    + */ + inline const Aws::String& GetBackupVaultName() const { return m_backupVaultName; } + inline bool BackupVaultNameHasBeenSet() const { return m_backupVaultNameHasBeenSet; } + template + void SetBackupVaultName(BackupVaultNameT&& value) { m_backupVaultNameHasBeenSet = true; m_backupVaultName = std::forward(value); } + template + RevokeRestoreAccessBackupVaultRequest& WithBackupVaultName(BackupVaultNameT&& value) { SetBackupVaultName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The ARN of the restore access backup vault to revoke.

    + */ + inline const Aws::String& GetRestoreAccessBackupVaultArn() const { return m_restoreAccessBackupVaultArn; } + inline bool RestoreAccessBackupVaultArnHasBeenSet() const { return m_restoreAccessBackupVaultArnHasBeenSet; } + template + void SetRestoreAccessBackupVaultArn(RestoreAccessBackupVaultArnT&& value) { m_restoreAccessBackupVaultArnHasBeenSet = true; m_restoreAccessBackupVaultArn = std::forward(value); } + template + RevokeRestoreAccessBackupVaultRequest& WithRestoreAccessBackupVaultArn(RestoreAccessBackupVaultArnT&& value) { SetRestoreAccessBackupVaultArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A comment explaining the reason for revoking access to the restore access + * backup vault.

    + */ + inline const Aws::String& GetRequesterComment() const { return m_requesterComment; } + inline bool RequesterCommentHasBeenSet() const { return m_requesterCommentHasBeenSet; } + template + void SetRequesterComment(RequesterCommentT&& value) { m_requesterCommentHasBeenSet = true; m_requesterComment = std::forward(value); } + template + RevokeRestoreAccessBackupVaultRequest& WithRequesterComment(RequesterCommentT&& value) { SetRequesterComment(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_backupVaultName; + bool m_backupVaultNameHasBeenSet = false; + + Aws::String m_restoreAccessBackupVaultArn; + bool m_restoreAccessBackupVaultArnHasBeenSet = false; + + Aws::String m_requesterComment; + bool m_requesterCommentHasBeenSet = false; + }; + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartBackupJobRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartBackupJobRequest.h index bf5834bc433..d58562e78d3 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartBackupJobRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartBackupJobRequest.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace Aws { @@ -214,8 +215,8 @@ namespace Model Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; - Aws::String m_idempotencyToken; - bool m_idempotencyTokenHasBeenSet = false; + Aws::String m_idempotencyToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_idempotencyTokenHasBeenSet = true; long long m_startWindowMinutes{0}; bool m_startWindowMinutesHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartCopyJobRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartCopyJobRequest.h index 16653a1047d..0817cf9fff5 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartCopyJobRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartCopyJobRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace Aws { @@ -127,8 +128,8 @@ namespace Model Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; - Aws::String m_idempotencyToken; - bool m_idempotencyTokenHasBeenSet = false; + Aws::String m_idempotencyToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_idempotencyTokenHasBeenSet = true; Lifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartRestoreJobRequest.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartRestoreJobRequest.h index f679a1601c6..d9970872316 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartRestoreJobRequest.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/StartRestoreJobRequest.h @@ -9,6 +9,7 @@ #include #include #include +#include namespace Aws { @@ -174,8 +175,8 @@ namespace Model Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; - Aws::String m_idempotencyToken; - bool m_idempotencyTokenHasBeenSet = false; + Aws::String m_idempotencyToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_idempotencyTokenHasBeenSet = true; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/UpdateRecoveryPointLifecycleResult.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/UpdateRecoveryPointLifecycleResult.h index 2fbf00eb4bf..12d27e6abaf 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/UpdateRecoveryPointLifecycleResult.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/UpdateRecoveryPointLifecycleResult.h @@ -66,7 +66,7 @@ namespace Model * automatically according to the lifecycle that you define.

    Backups * transitioned to cold storage must be stored in cold storage for a minimum of 90 * days. Therefore, the “retention” setting must be 90 days greater than the - * ��transition to cold after days” setting. The “transition to cold after days” + * “transition to cold after days” setting. The “transition to cold after days” * setting cannot be changed after a backup has been transitioned to cold.

    *

    Resource types that can transition to cold storage are listed in the Feature diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/VaultType.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/VaultType.h index 3cf4a35097f..4959a46a56c 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/VaultType.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/model/VaultType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, BACKUP_VAULT, - LOGICALLY_AIR_GAPPED_BACKUP_VAULT + LOGICALLY_AIR_GAPPED_BACKUP_VAULT, + RESTORE_ACCESS_BACKUP_VAULT }; namespace VaultTypeMapper diff --git a/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp b/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp index ff9d2ae2796..3d7ff3e49bf 100644 --- a/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -29,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -89,6 +92,7 @@ #include #include #include +#include #include #include #include @@ -99,6 +103,7 @@ #include #include #include +#include #include #include #include @@ -258,6 +263,40 @@ void BackupClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +AssociateBackupVaultMpaApprovalTeamOutcome BackupClient::AssociateBackupVaultMpaApprovalTeam(const AssociateBackupVaultMpaApprovalTeamRequest& request) const +{ + AWS_OPERATION_GUARD(AssociateBackupVaultMpaApprovalTeam); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BackupVaultNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("AssociateBackupVaultMpaApprovalTeam", "Required field: BackupVaultName, is not set"); + return AssociateBackupVaultMpaApprovalTeamOutcome(Aws::Client::AWSError(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AssociateBackupVaultMpaApprovalTeam", + {{ 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( + [&]()-> AssociateBackupVaultMpaApprovalTeamOutcome { + 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, AssociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/backup-vaults/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBackupVaultName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/mpaApprovalTeam"); + return AssociateBackupVaultMpaApprovalTeamOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CancelLegalHoldOutcome BackupClient::CancelLegalHold(const CancelLegalHoldRequest& request) const { AWS_OPERATION_GUARD(CancelLegalHold); @@ -504,6 +543,33 @@ CreateReportPlanOutcome BackupClient::CreateReportPlan(const CreateReportPlanReq {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateRestoreAccessBackupVaultOutcome BackupClient::CreateRestoreAccessBackupVault(const CreateRestoreAccessBackupVaultRequest& request) const +{ + AWS_OPERATION_GUARD(CreateRestoreAccessBackupVault); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateRestoreAccessBackupVault, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateRestoreAccessBackupVault, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateRestoreAccessBackupVault, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateRestoreAccessBackupVault", + {{ 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( + [&]()-> CreateRestoreAccessBackupVaultOutcome { + 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, CreateRestoreAccessBackupVault, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/restore-access-backup-vaults"); + return CreateRestoreAccessBackupVaultOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateRestoreTestingPlanOutcome BackupClient::CreateRestoreTestingPlan(const CreateRestoreTestingPlanRequest& request) const { AWS_OPERATION_GUARD(CreateRestoreTestingPlan); @@ -1310,6 +1376,43 @@ DescribeRestoreJobOutcome BackupClient::DescribeRestoreJob(const DescribeRestore {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisassociateBackupVaultMpaApprovalTeamOutcome BackupClient::DisassociateBackupVaultMpaApprovalTeam(const DisassociateBackupVaultMpaApprovalTeamRequest& request) const +{ + AWS_OPERATION_GUARD(DisassociateBackupVaultMpaApprovalTeam); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisassociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BackupVaultNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DisassociateBackupVaultMpaApprovalTeam", "Required field: BackupVaultName, is not set"); + return DisassociateBackupVaultMpaApprovalTeamOutcome(Aws::Client::AWSError(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisassociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisassociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisassociateBackupVaultMpaApprovalTeam", + {{ 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( + [&]()-> DisassociateBackupVaultMpaApprovalTeamOutcome { + 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, DisassociateBackupVaultMpaApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/backup-vaults/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBackupVaultName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/mpaApprovalTeam"); + ss.str("?delete"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return DisassociateBackupVaultMpaApprovalTeamOutcome(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()}}); +} + DisassociateRecoveryPointOutcome BackupClient::DisassociateRecoveryPoint(const DisassociateRecoveryPointRequest& request) const { AWS_OPERATION_GUARD(DisassociateRecoveryPoint); @@ -2469,6 +2572,40 @@ ListReportPlansOutcome BackupClient::ListReportPlans(const ListReportPlansReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListRestoreAccessBackupVaultsOutcome BackupClient::ListRestoreAccessBackupVaults(const ListRestoreAccessBackupVaultsRequest& request) const +{ + AWS_OPERATION_GUARD(ListRestoreAccessBackupVaults); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRestoreAccessBackupVaults, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BackupVaultNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListRestoreAccessBackupVaults", "Required field: BackupVaultName, is not set"); + return ListRestoreAccessBackupVaultsOutcome(Aws::Client::AWSError(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRestoreAccessBackupVaults, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRestoreAccessBackupVaults, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRestoreAccessBackupVaults", + {{ 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( + [&]()-> ListRestoreAccessBackupVaultsOutcome { + 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, ListRestoreAccessBackupVaults, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/logically-air-gapped-backup-vaults/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBackupVaultName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/restore-access-backup-vaults/"); + return ListRestoreAccessBackupVaultsOutcome(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()}}); +} + ListRestoreJobSummariesOutcome BackupClient::ListRestoreJobSummaries(const ListRestoreJobSummariesRequest& request) const { AWS_OPERATION_GUARD(ListRestoreJobSummaries); @@ -2787,6 +2924,46 @@ PutRestoreValidationResultOutcome BackupClient::PutRestoreValidationResult(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RevokeRestoreAccessBackupVaultOutcome BackupClient::RevokeRestoreAccessBackupVault(const RevokeRestoreAccessBackupVaultRequest& request) const +{ + AWS_OPERATION_GUARD(RevokeRestoreAccessBackupVault); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RevokeRestoreAccessBackupVault, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BackupVaultNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RevokeRestoreAccessBackupVault", "Required field: BackupVaultName, is not set"); + return RevokeRestoreAccessBackupVaultOutcome(Aws::Client::AWSError(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false)); + } + if (!request.RestoreAccessBackupVaultArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RevokeRestoreAccessBackupVault", "Required field: RestoreAccessBackupVaultArn, is not set"); + return RevokeRestoreAccessBackupVaultOutcome(Aws::Client::AWSError(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RestoreAccessBackupVaultArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RevokeRestoreAccessBackupVault, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RevokeRestoreAccessBackupVault, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RevokeRestoreAccessBackupVault", + {{ 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( + [&]()-> RevokeRestoreAccessBackupVaultOutcome { + 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, RevokeRestoreAccessBackupVault, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/logically-air-gapped-backup-vaults/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetBackupVaultName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/restore-access-backup-vaults/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetRestoreAccessBackupVaultArn()); + return RevokeRestoreAccessBackupVaultOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + StartBackupJobOutcome BackupClient::StartBackupJob(const StartBackupJobRequest& request) const { AWS_OPERATION_GUARD(StartBackupJob); diff --git a/generated/src/aws-cpp-sdk-backup/source/model/AssociateBackupVaultMpaApprovalTeamRequest.cpp b/generated/src/aws-cpp-sdk-backup/source/model/AssociateBackupVaultMpaApprovalTeamRequest.cpp new file mode 100644 index 00000000000..e9c6e67af1f --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/AssociateBackupVaultMpaApprovalTeamRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String AssociateBackupVaultMpaApprovalTeamRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_mpaApprovalTeamArnHasBeenSet) + { + payload.WithString("MpaApprovalTeamArn", m_mpaApprovalTeamArn); + + } + + if(m_requesterCommentHasBeenSet) + { + payload.WithString("RequesterComment", m_requesterComment); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-backup/source/model/BackupVaultEvent.cpp b/generated/src/aws-cpp-sdk-backup/source/model/BackupVaultEvent.cpp index 2880a535f6a..fbe1ac320ba 100644 --- a/generated/src/aws-cpp-sdk-backup/source/model/BackupVaultEvent.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/model/BackupVaultEvent.cpp @@ -37,6 +37,7 @@ namespace Aws static const int BACKUP_PLAN_MODIFIED_HASH = HashingUtils::HashString("BACKUP_PLAN_MODIFIED"); static const int S3_BACKUP_OBJECT_FAILED_HASH = HashingUtils::HashString("S3_BACKUP_OBJECT_FAILED"); static const int S3_RESTORE_OBJECT_FAILED_HASH = HashingUtils::HashString("S3_RESTORE_OBJECT_FAILED"); + static const int CONTINUOUS_BACKUP_INTERRUPTED_HASH = HashingUtils::HashString("CONTINUOUS_BACKUP_INTERRUPTED"); static const int RECOVERY_POINT_INDEX_COMPLETED_HASH = HashingUtils::HashString("RECOVERY_POINT_INDEX_COMPLETED"); static const int RECOVERY_POINT_INDEX_DELETED_HASH = HashingUtils::HashString("RECOVERY_POINT_INDEX_DELETED"); static const int RECOVERY_POINT_INDEXING_FAILED_HASH = HashingUtils::HashString("RECOVERY_POINT_INDEXING_FAILED"); @@ -113,6 +114,10 @@ namespace Aws { return BackupVaultEvent::S3_RESTORE_OBJECT_FAILED; } + else if (hashCode == CONTINUOUS_BACKUP_INTERRUPTED_HASH) + { + return BackupVaultEvent::CONTINUOUS_BACKUP_INTERRUPTED; + } else if (hashCode == RECOVERY_POINT_INDEX_COMPLETED_HASH) { return BackupVaultEvent::RECOVERY_POINT_INDEX_COMPLETED; @@ -175,6 +180,8 @@ namespace Aws return "S3_BACKUP_OBJECT_FAILED"; case BackupVaultEvent::S3_RESTORE_OBJECT_FAILED: return "S3_RESTORE_OBJECT_FAILED"; + case BackupVaultEvent::CONTINUOUS_BACKUP_INTERRUPTED: + return "CONTINUOUS_BACKUP_INTERRUPTED"; case BackupVaultEvent::RECOVERY_POINT_INDEX_COMPLETED: return "RECOVERY_POINT_INDEX_COMPLETED"; case BackupVaultEvent::RECOVERY_POINT_INDEX_DELETED: diff --git a/generated/src/aws-cpp-sdk-backup/source/model/CreateRestoreAccessBackupVaultRequest.cpp b/generated/src/aws-cpp-sdk-backup/source/model/CreateRestoreAccessBackupVaultRequest.cpp new file mode 100644 index 00000000000..a4e7d38ea87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/CreateRestoreAccessBackupVaultRequest.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::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateRestoreAccessBackupVaultRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_sourceBackupVaultArnHasBeenSet) + { + payload.WithString("SourceBackupVaultArn", m_sourceBackupVaultArn); + + } + + if(m_backupVaultNameHasBeenSet) + { + payload.WithString("BackupVaultName", m_backupVaultName); + + } + + if(m_backupVaultTagsHasBeenSet) + { + JsonValue backupVaultTagsJsonMap; + for(auto& backupVaultTagsItem : m_backupVaultTags) + { + backupVaultTagsJsonMap.WithString(backupVaultTagsItem.first, backupVaultTagsItem.second); + } + payload.WithObject("BackupVaultTags", std::move(backupVaultTagsJsonMap)); + + } + + if(m_creatorRequestIdHasBeenSet) + { + payload.WithString("CreatorRequestId", m_creatorRequestId); + + } + + if(m_requesterCommentHasBeenSet) + { + payload.WithString("RequesterComment", m_requesterComment); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-backup/source/model/CreateRestoreAccessBackupVaultResult.cpp b/generated/src/aws-cpp-sdk-backup/source/model/CreateRestoreAccessBackupVaultResult.cpp new file mode 100644 index 00000000000..1b68061501f --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/CreateRestoreAccessBackupVaultResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateRestoreAccessBackupVaultResult::CreateRestoreAccessBackupVaultResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateRestoreAccessBackupVaultResult& CreateRestoreAccessBackupVaultResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RestoreAccessBackupVaultArn")) + { + m_restoreAccessBackupVaultArn = jsonValue.GetString("RestoreAccessBackupVaultArn"); + m_restoreAccessBackupVaultArnHasBeenSet = true; + } + if(jsonValue.ValueExists("VaultState")) + { + m_vaultState = VaultStateMapper::GetVaultStateForName(jsonValue.GetString("VaultState")); + m_vaultStateHasBeenSet = true; + } + if(jsonValue.ValueExists("RestoreAccessBackupVaultName")) + { + m_restoreAccessBackupVaultName = jsonValue.GetString("RestoreAccessBackupVaultName"); + m_restoreAccessBackupVaultNameHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationDate")) + { + m_creationDate = jsonValue.GetDouble("CreationDate"); + m_creationDateHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-backup/source/model/DescribeBackupVaultResult.cpp b/generated/src/aws-cpp-sdk-backup/source/model/DescribeBackupVaultResult.cpp index 33886abbf04..4011c4fe022 100644 --- a/generated/src/aws-cpp-sdk-backup/source/model/DescribeBackupVaultResult.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/model/DescribeBackupVaultResult.cpp @@ -85,6 +85,26 @@ DescribeBackupVaultResult& DescribeBackupVaultResult::operator =(const Aws::Amaz m_lockDate = jsonValue.GetDouble("LockDate"); m_lockDateHasBeenSet = true; } + if(jsonValue.ValueExists("SourceBackupVaultArn")) + { + m_sourceBackupVaultArn = jsonValue.GetString("SourceBackupVaultArn"); + m_sourceBackupVaultArnHasBeenSet = true; + } + if(jsonValue.ValueExists("MpaApprovalTeamArn")) + { + m_mpaApprovalTeamArn = jsonValue.GetString("MpaApprovalTeamArn"); + m_mpaApprovalTeamArnHasBeenSet = true; + } + if(jsonValue.ValueExists("MpaSessionArn")) + { + m_mpaSessionArn = jsonValue.GetString("MpaSessionArn"); + m_mpaSessionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("LatestMpaApprovalTeamUpdate")) + { + m_latestMpaApprovalTeamUpdate = jsonValue.GetObject("LatestMpaApprovalTeamUpdate"); + m_latestMpaApprovalTeamUpdateHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-backup/source/model/DescribeRecoveryPointResult.cpp b/generated/src/aws-cpp-sdk-backup/source/model/DescribeRecoveryPointResult.cpp index f3e581cc2b9..f055b7b7f87 100644 --- a/generated/src/aws-cpp-sdk-backup/source/model/DescribeRecoveryPointResult.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/model/DescribeRecoveryPointResult.cpp @@ -80,6 +80,11 @@ DescribeRecoveryPointResult& DescribeRecoveryPointResult::operator =(const Aws:: m_creationDate = jsonValue.GetDouble("CreationDate"); m_creationDateHasBeenSet = true; } + if(jsonValue.ValueExists("InitiationDate")) + { + m_initiationDate = jsonValue.GetDouble("InitiationDate"); + m_initiationDateHasBeenSet = true; + } if(jsonValue.ValueExists("CompletionDate")) { m_completionDate = jsonValue.GetDouble("CompletionDate"); diff --git a/generated/src/aws-cpp-sdk-backup/source/model/DisassociateBackupVaultMpaApprovalTeamRequest.cpp b/generated/src/aws-cpp-sdk-backup/source/model/DisassociateBackupVaultMpaApprovalTeamRequest.cpp new file mode 100644 index 00000000000..8a12f76518c --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/DisassociateBackupVaultMpaApprovalTeamRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DisassociateBackupVaultMpaApprovalTeamRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_requesterCommentHasBeenSet) + { + payload.WithString("RequesterComment", m_requesterComment); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-backup/source/model/LatestMpaApprovalTeamUpdate.cpp b/generated/src/aws-cpp-sdk-backup/source/model/LatestMpaApprovalTeamUpdate.cpp new file mode 100644 index 00000000000..9c3e42e0937 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/LatestMpaApprovalTeamUpdate.cpp @@ -0,0 +1,92 @@ +/** + * 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 Backup +{ +namespace Model +{ + +LatestMpaApprovalTeamUpdate::LatestMpaApprovalTeamUpdate(JsonView jsonValue) +{ + *this = jsonValue; +} + +LatestMpaApprovalTeamUpdate& LatestMpaApprovalTeamUpdate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MpaSessionArn")) + { + m_mpaSessionArn = jsonValue.GetString("MpaSessionArn"); + m_mpaSessionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = MpaSessionStatusMapper::GetMpaSessionStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + if(jsonValue.ValueExists("InitiationDate")) + { + m_initiationDate = jsonValue.GetDouble("InitiationDate"); + m_initiationDateHasBeenSet = true; + } + if(jsonValue.ValueExists("ExpiryDate")) + { + m_expiryDate = jsonValue.GetDouble("ExpiryDate"); + m_expiryDateHasBeenSet = true; + } + return *this; +} + +JsonValue LatestMpaApprovalTeamUpdate::Jsonize() const +{ + JsonValue payload; + + if(m_mpaSessionArnHasBeenSet) + { + payload.WithString("MpaSessionArn", m_mpaSessionArn); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", MpaSessionStatusMapper::GetNameForMpaSessionStatus(m_status)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + if(m_initiationDateHasBeenSet) + { + payload.WithDouble("InitiationDate", m_initiationDate.SecondsWithMSPrecision()); + } + + if(m_expiryDateHasBeenSet) + { + payload.WithDouble("ExpiryDate", m_expiryDate.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/source/model/LatestRevokeRequest.cpp b/generated/src/aws-cpp-sdk-backup/source/model/LatestRevokeRequest.cpp new file mode 100644 index 00000000000..808f5d98188 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/LatestRevokeRequest.cpp @@ -0,0 +1,92 @@ +/** + * 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 Backup +{ +namespace Model +{ + +LatestRevokeRequest::LatestRevokeRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +LatestRevokeRequest& LatestRevokeRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MpaSessionArn")) + { + m_mpaSessionArn = jsonValue.GetString("MpaSessionArn"); + m_mpaSessionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = MpaRevokeSessionStatusMapper::GetMpaRevokeSessionStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + if(jsonValue.ValueExists("InitiationDate")) + { + m_initiationDate = jsonValue.GetDouble("InitiationDate"); + m_initiationDateHasBeenSet = true; + } + if(jsonValue.ValueExists("ExpiryDate")) + { + m_expiryDate = jsonValue.GetDouble("ExpiryDate"); + m_expiryDateHasBeenSet = true; + } + return *this; +} + +JsonValue LatestRevokeRequest::Jsonize() const +{ + JsonValue payload; + + if(m_mpaSessionArnHasBeenSet) + { + payload.WithString("MpaSessionArn", m_mpaSessionArn); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", MpaRevokeSessionStatusMapper::GetNameForMpaRevokeSessionStatus(m_status)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + if(m_initiationDateHasBeenSet) + { + payload.WithDouble("InitiationDate", m_initiationDate.SecondsWithMSPrecision()); + } + + if(m_expiryDateHasBeenSet) + { + payload.WithDouble("ExpiryDate", m_expiryDate.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/source/model/ListRestoreAccessBackupVaultsRequest.cpp b/generated/src/aws-cpp-sdk-backup/source/model/ListRestoreAccessBackupVaultsRequest.cpp new file mode 100644 index 00000000000..9d308d71722 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/ListRestoreAccessBackupVaultsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListRestoreAccessBackupVaultsRequest::SerializePayload() const +{ + return {}; +} + +void ListRestoreAccessBackupVaultsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-backup/source/model/ListRestoreAccessBackupVaultsResult.cpp b/generated/src/aws-cpp-sdk-backup/source/model/ListRestoreAccessBackupVaultsResult.cpp new file mode 100644 index 00000000000..3d36a5bf780 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/ListRestoreAccessBackupVaultsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRestoreAccessBackupVaultsResult::ListRestoreAccessBackupVaultsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListRestoreAccessBackupVaultsResult& ListRestoreAccessBackupVaultsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("RestoreAccessBackupVaults")) + { + Aws::Utils::Array restoreAccessBackupVaultsJsonList = jsonValue.GetArray("RestoreAccessBackupVaults"); + for(unsigned restoreAccessBackupVaultsIndex = 0; restoreAccessBackupVaultsIndex < restoreAccessBackupVaultsJsonList.GetLength(); ++restoreAccessBackupVaultsIndex) + { + m_restoreAccessBackupVaults.push_back(restoreAccessBackupVaultsJsonList[restoreAccessBackupVaultsIndex].AsObject()); + } + m_restoreAccessBackupVaultsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-backup/source/model/MpaRevokeSessionStatus.cpp b/generated/src/aws-cpp-sdk-backup/source/model/MpaRevokeSessionStatus.cpp new file mode 100644 index 00000000000..c5367d777ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/MpaRevokeSessionStatus.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 Backup + { + namespace Model + { + namespace MpaRevokeSessionStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + MpaRevokeSessionStatus GetMpaRevokeSessionStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return MpaRevokeSessionStatus::PENDING; + } + else if (hashCode == FAILED_HASH) + { + return MpaRevokeSessionStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MpaRevokeSessionStatus::NOT_SET; + } + + Aws::String GetNameForMpaRevokeSessionStatus(MpaRevokeSessionStatus enumValue) + { + switch(enumValue) + { + case MpaRevokeSessionStatus::NOT_SET: + return {}; + case MpaRevokeSessionStatus::PENDING: + return "PENDING"; + case MpaRevokeSessionStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MpaRevokeSessionStatusMapper + } // namespace Model + } // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/source/model/MpaSessionStatus.cpp b/generated/src/aws-cpp-sdk-backup/source/model/MpaSessionStatus.cpp new file mode 100644 index 00000000000..22855bd8bbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/MpaSessionStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Backup + { + namespace Model + { + namespace MpaSessionStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int APPROVED_HASH = HashingUtils::HashString("APPROVED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + MpaSessionStatus GetMpaSessionStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return MpaSessionStatus::PENDING; + } + else if (hashCode == APPROVED_HASH) + { + return MpaSessionStatus::APPROVED; + } + else if (hashCode == FAILED_HASH) + { + return MpaSessionStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MpaSessionStatus::NOT_SET; + } + + Aws::String GetNameForMpaSessionStatus(MpaSessionStatus enumValue) + { + switch(enumValue) + { + case MpaSessionStatus::NOT_SET: + return {}; + case MpaSessionStatus::PENDING: + return "PENDING"; + case MpaSessionStatus::APPROVED: + return "APPROVED"; + case MpaSessionStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MpaSessionStatusMapper + } // namespace Model + } // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/source/model/RecoveryPointByBackupVault.cpp b/generated/src/aws-cpp-sdk-backup/source/model/RecoveryPointByBackupVault.cpp index ae004210f20..2061527f92e 100644 --- a/generated/src/aws-cpp-sdk-backup/source/model/RecoveryPointByBackupVault.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/model/RecoveryPointByBackupVault.cpp @@ -80,6 +80,11 @@ RecoveryPointByBackupVault& RecoveryPointByBackupVault::operator =(JsonView json m_creationDate = jsonValue.GetDouble("CreationDate"); m_creationDateHasBeenSet = true; } + if(jsonValue.ValueExists("InitiationDate")) + { + m_initiationDate = jsonValue.GetDouble("InitiationDate"); + m_initiationDateHasBeenSet = true; + } if(jsonValue.ValueExists("CompletionDate")) { m_completionDate = jsonValue.GetDouble("CompletionDate"); @@ -221,6 +226,11 @@ JsonValue RecoveryPointByBackupVault::Jsonize() const payload.WithDouble("CreationDate", m_creationDate.SecondsWithMSPrecision()); } + if(m_initiationDateHasBeenSet) + { + payload.WithDouble("InitiationDate", m_initiationDate.SecondsWithMSPrecision()); + } + if(m_completionDateHasBeenSet) { payload.WithDouble("CompletionDate", m_completionDate.SecondsWithMSPrecision()); diff --git a/generated/src/aws-cpp-sdk-backup/source/model/RestoreAccessBackupVaultListMember.cpp b/generated/src/aws-cpp-sdk-backup/source/model/RestoreAccessBackupVaultListMember.cpp new file mode 100644 index 00000000000..88022769607 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/RestoreAccessBackupVaultListMember.cpp @@ -0,0 +1,92 @@ +/** + * 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 Backup +{ +namespace Model +{ + +RestoreAccessBackupVaultListMember::RestoreAccessBackupVaultListMember(JsonView jsonValue) +{ + *this = jsonValue; +} + +RestoreAccessBackupVaultListMember& RestoreAccessBackupVaultListMember::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RestoreAccessBackupVaultArn")) + { + m_restoreAccessBackupVaultArn = jsonValue.GetString("RestoreAccessBackupVaultArn"); + m_restoreAccessBackupVaultArnHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationDate")) + { + m_creationDate = jsonValue.GetDouble("CreationDate"); + m_creationDateHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalDate")) + { + m_approvalDate = jsonValue.GetDouble("ApprovalDate"); + m_approvalDateHasBeenSet = true; + } + if(jsonValue.ValueExists("VaultState")) + { + m_vaultState = VaultStateMapper::GetVaultStateForName(jsonValue.GetString("VaultState")); + m_vaultStateHasBeenSet = true; + } + if(jsonValue.ValueExists("LatestRevokeRequest")) + { + m_latestRevokeRequest = jsonValue.GetObject("LatestRevokeRequest"); + m_latestRevokeRequestHasBeenSet = true; + } + return *this; +} + +JsonValue RestoreAccessBackupVaultListMember::Jsonize() const +{ + JsonValue payload; + + if(m_restoreAccessBackupVaultArnHasBeenSet) + { + payload.WithString("RestoreAccessBackupVaultArn", m_restoreAccessBackupVaultArn); + + } + + if(m_creationDateHasBeenSet) + { + payload.WithDouble("CreationDate", m_creationDate.SecondsWithMSPrecision()); + } + + if(m_approvalDateHasBeenSet) + { + payload.WithDouble("ApprovalDate", m_approvalDate.SecondsWithMSPrecision()); + } + + if(m_vaultStateHasBeenSet) + { + payload.WithString("VaultState", VaultStateMapper::GetNameForVaultState(m_vaultState)); + } + + if(m_latestRevokeRequestHasBeenSet) + { + payload.WithObject("LatestRevokeRequest", m_latestRevokeRequest.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/source/model/RevokeRestoreAccessBackupVaultRequest.cpp b/generated/src/aws-cpp-sdk-backup/source/model/RevokeRestoreAccessBackupVaultRequest.cpp new file mode 100644 index 00000000000..40f001168e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/model/RevokeRestoreAccessBackupVaultRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Backup::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String RevokeRestoreAccessBackupVaultRequest::SerializePayload() const +{ + return {}; +} + +void RevokeRestoreAccessBackupVaultRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_requesterCommentHasBeenSet) + { + ss << m_requesterComment; + uri.AddQueryStringParameter("requesterComment", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-backup/source/model/VaultType.cpp b/generated/src/aws-cpp-sdk-backup/source/model/VaultType.cpp index 21d8cb5c8c9..97680a94ac0 100644 --- a/generated/src/aws-cpp-sdk-backup/source/model/VaultType.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/model/VaultType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int BACKUP_VAULT_HASH = HashingUtils::HashString("BACKUP_VAULT"); static const int LOGICALLY_AIR_GAPPED_BACKUP_VAULT_HASH = HashingUtils::HashString("LOGICALLY_AIR_GAPPED_BACKUP_VAULT"); + static const int RESTORE_ACCESS_BACKUP_VAULT_HASH = HashingUtils::HashString("RESTORE_ACCESS_BACKUP_VAULT"); VaultType GetVaultTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return VaultType::LOGICALLY_AIR_GAPPED_BACKUP_VAULT; } + else if (hashCode == RESTORE_ACCESS_BACKUP_VAULT_HASH) + { + return VaultType::RESTORE_ACCESS_BACKUP_VAULT; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "BACKUP_VAULT"; case VaultType::LOGICALLY_AIR_GAPPED_BACKUP_VAULT: return "LOGICALLY_AIR_GAPPED_BACKUP_VAULT"; + case VaultType::RESTORE_ACCESS_BACKUP_VAULT: + return "RESTORE_ACCESS_BACKUP_VAULT"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h index 20c95e6dd7e..5c48530b75d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h @@ -105,6 +105,49 @@ namespace Bedrock return SubmitAsync(&BedrockClient::BatchDeleteEvaluationJob, request, handler, context); } + /** + *

    Creates a new custom model in Amazon Bedrock. After the model is active, you + * can use it for inference.

    To use the model for inference, you must + * purchase Provisioned Throughput for it. You can't use On-demand inference with + * these custom models. For more information about Provisioned Throughput, see Provisioned + * Throughput.

    The model appears in ListCustomModels with a + * customizationType of imported. To track the status of + * the new model, you use the GetCustomModel API operation. The model + * can be in the following states:

    • Creating - + * Initial state during validation and registration

    • + * Active - Model is ready for use in inference

    • + * Failed - Creation process encountered an error

    + * Related APIs

    See Also:

    AWS + * API Reference

    + */ + virtual Model::CreateCustomModelOutcome CreateCustomModel(const Model::CreateCustomModelRequest& request) const; + + /** + * A Callable wrapper for CreateCustomModel that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateCustomModelOutcomeCallable CreateCustomModelCallable(const CreateCustomModelRequestT& request) const + { + return SubmitCallable(&BedrockClient::CreateCustomModel, request); + } + + /** + * An Async wrapper for CreateCustomModel that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateCustomModelAsync(const CreateCustomModelRequestT& request, const CreateCustomModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&BedrockClient::CreateCustomModel, request, handler, context); + } + /** *

    Creates an evaluation job.

    See Also:

    AWS @@ -701,7 +744,7 @@ namespace Bedrock /** *

    Get the properties associated with a Amazon Bedrock custom model that you - * have created.For more information, see Custom * models in the Amazon diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockServiceClientModel.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockServiceClientModel.h index 6c8792a2138..d87e52d7d74 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockServiceClientModel.h @@ -19,6 +19,7 @@ /* Service model headers required in BedrockClient header */ #include +#include #include #include #include @@ -133,6 +134,7 @@ namespace Aws { /* Service model forward declarations required in BedrockClient header */ class BatchDeleteEvaluationJobRequest; + class CreateCustomModelRequest; class CreateEvaluationJobRequest; class CreateGuardrailRequest; class CreateGuardrailVersionRequest; @@ -195,6 +197,7 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome BatchDeleteEvaluationJobOutcome; + typedef Aws::Utils::Outcome CreateCustomModelOutcome; typedef Aws::Utils::Outcome CreateEvaluationJobOutcome; typedef Aws::Utils::Outcome CreateGuardrailOutcome; typedef Aws::Utils::Outcome CreateGuardrailVersionOutcome; @@ -257,6 +260,7 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future BatchDeleteEvaluationJobOutcomeCallable; + typedef std::future CreateCustomModelOutcomeCallable; typedef std::future CreateEvaluationJobOutcomeCallable; typedef std::future CreateGuardrailOutcomeCallable; typedef std::future CreateGuardrailVersionOutcomeCallable; @@ -322,6 +326,7 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > BatchDeleteEvaluationJobResponseReceivedHandler; + typedef std::function&) > CreateCustomModelResponseReceivedHandler; typedef std::function&) > CreateEvaluationJobResponseReceivedHandler; typedef std::function&) > CreateGuardrailResponseReceivedHandler; typedef std::function&) > CreateGuardrailVersionResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateCustomModelRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateCustomModelRequest.h new file mode 100644 index 00000000000..f98ca37013a --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateCustomModelRequest.h @@ -0,0 +1,158 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + + /** + */ + class CreateCustomModelRequest : public BedrockRequest + { + public: + AWS_BEDROCK_API CreateCustomModelRequest() = default; + + // 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 "CreateCustomModel"; } + + AWS_BEDROCK_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

    A unique name for the custom model.

    + */ + inline const Aws::String& GetModelName() const { return m_modelName; } + inline bool ModelNameHasBeenSet() const { return m_modelNameHasBeenSet; } + template + void SetModelName(ModelNameT&& value) { m_modelNameHasBeenSet = true; m_modelName = std::forward(value); } + template + CreateCustomModelRequest& WithModelName(ModelNameT&& value) { SetModelName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The data source for the model. The Amazon S3 URI in the model source must be + * for the Amazon-managed Amazon S3 bucket containing your model artifacts.

    + */ + inline const ModelDataSource& GetModelSourceConfig() const { return m_modelSourceConfig; } + inline bool ModelSourceConfigHasBeenSet() const { return m_modelSourceConfigHasBeenSet; } + template + void SetModelSourceConfig(ModelSourceConfigT&& value) { m_modelSourceConfigHasBeenSet = true; m_modelSourceConfig = std::forward(value); } + template + CreateCustomModelRequest& WithModelSourceConfig(ModelSourceConfigT&& value) { SetModelSourceConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the customer managed KMS key to encrypt the + * custom model. If you don't provide a KMS key, Amazon Bedrock uses an Amazon Web + * Services-managed KMS key to encrypt the model.

    If you provide a customer + * managed KMS key, your Amazon Bedrock service role must have permissions to use + * it. For more information see Encryption + * of imported models.

    + */ + inline const Aws::String& GetModelKmsKeyArn() const { return m_modelKmsKeyArn; } + inline bool ModelKmsKeyArnHasBeenSet() const { return m_modelKmsKeyArnHasBeenSet; } + template + void SetModelKmsKeyArn(ModelKmsKeyArnT&& value) { m_modelKmsKeyArnHasBeenSet = true; m_modelKmsKeyArn = std::forward(value); } + template + CreateCustomModelRequest& WithModelKmsKeyArn(ModelKmsKeyArnT&& value) { SetModelKmsKeyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock + * assumes to perform tasks on your behalf. This role must have permissions to + * access the Amazon S3 bucket containing your model artifacts and the KMS key (if + * specified). For more information, see Setting + * up an IAM service role for importing models in the Amazon Bedrock User + * Guide.

    + */ + inline const Aws::String& GetRoleArn() const { return m_roleArn; } + inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } + template + void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward(value); } + template + CreateCustomModelRequest& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

    A list of key-value pairs to associate with the custom model resource. You + * can use these tags to organize and identify your resources.

    For more + * information, see Tagging + * resources in the Amazon + * Bedrock User Guide.

    + */ + inline const Aws::Vector& GetModelTags() const { return m_modelTags; } + inline bool ModelTagsHasBeenSet() const { return m_modelTagsHasBeenSet; } + template> + void SetModelTags(ModelTagsT&& value) { m_modelTagsHasBeenSet = true; m_modelTags = std::forward(value); } + template> + CreateCustomModelRequest& WithModelTags(ModelTagsT&& value) { SetModelTags(std::forward(value)); return *this;} + template + CreateCustomModelRequest& AddModelTags(ModelTagsT&& value) { m_modelTagsHasBeenSet = true; m_modelTags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

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

    + */ + inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; } + inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } + template + void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward(value); } + template + CreateCustomModelRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_modelName; + bool m_modelNameHasBeenSet = false; + + ModelDataSource m_modelSourceConfig; + bool m_modelSourceConfigHasBeenSet = false; + + Aws::String m_modelKmsKeyArn; + bool m_modelKmsKeyArnHasBeenSet = false; + + Aws::String m_roleArn; + bool m_roleArnHasBeenSet = false; + + Aws::Vector m_modelTags; + bool m_modelTagsHasBeenSet = false; + + Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientRequestTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateCustomModelResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateCustomModelResult.h new file mode 100644 index 00000000000..c3fe3e952b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CreateCustomModelResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + class CreateCustomModelResult + { + public: + AWS_BEDROCK_API CreateCustomModelResult() = default; + AWS_BEDROCK_API CreateCustomModelResult(const Aws::AmazonWebServiceResult& result); + AWS_BEDROCK_API CreateCustomModelResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

    The Amazon Resource Name (ARN) of the new custom model.

    + */ + inline const Aws::String& GetModelArn() const { return m_modelArn; } + template + void SetModelArn(ModelArnT&& value) { m_modelArnHasBeenSet = true; m_modelArn = std::forward(value); } + template + CreateCustomModelResult& WithModelArn(ModelArnT&& value) { SetModelArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateCustomModelResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_modelArn; + bool m_modelArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomModelSummary.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomModelSummary.h index 97b03eacc10..ae260c509ae 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomModelSummary.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomModelSummary.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -123,6 +124,20 @@ namespace Model template CustomModelSummary& WithOwnerAccountId(OwnerAccountIdT&& value) { SetOwnerAccountId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

    The current status of the custom model. Possible values include:

      + *
    • Creating - The model is being created and validated.

      + *
    • Active - The model has been successfully created and + * is ready for use.

    • Failed - The model creation + * process failed.

    + */ + inline ModelStatus GetModelStatus() const { return m_modelStatus; } + inline bool ModelStatusHasBeenSet() const { return m_modelStatusHasBeenSet; } + inline void SetModelStatus(ModelStatus value) { m_modelStatusHasBeenSet = true; m_modelStatus = value; } + inline CustomModelSummary& WithModelStatus(ModelStatus value) { SetModelStatus(value); return *this;} + ///@} private: Aws::String m_modelArn; @@ -145,6 +160,9 @@ namespace Model Aws::String m_ownerAccountId; bool m_ownerAccountIdHasBeenSet = false; + + ModelStatus m_modelStatus{ModelStatus::NOT_SET}; + bool m_modelStatusHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomizationType.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomizationType.h index dbb4631858e..40c4fda40d8 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomizationType.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/CustomizationType.h @@ -18,7 +18,8 @@ namespace Model NOT_SET, FINE_TUNING, CONTINUED_PRE_TRAINING, - DISTILLATION + DISTILLATION, + IMPORTED }; namespace CustomizationTypeMapper diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetCustomModelResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetCustomModelResult.h index f465b0fa22b..b0158a96f2a 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetCustomModelResult.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetCustomModelResult.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -77,7 +78,10 @@ namespace Model ///@{ /** - *

    Job Amazon Resource Name (ARN) associated with this model.

    + *

    Job Amazon Resource Name (ARN) associated with this model. For models that + * you create with the CreateCustomModel + * API operation, this is NULL.

    */ inline const Aws::String& GetJobArn() const { return m_jobArn; } template @@ -214,6 +218,32 @@ namespace Model GetCustomModelResult& WithCustomizationConfig(CustomizationConfigT&& value) { SetCustomizationConfig(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    The current status of the custom model. Possible values include:

      + *
    • Creating - The model is being created and validated.

      + *
    • Active - The model has been successfully created and + * is ready for use.

    • Failed - The model creation + * process failed. Check the failureMessage field for details.

      + *
    + */ + inline ModelStatus GetModelStatus() const { return m_modelStatus; } + inline void SetModelStatus(ModelStatus value) { m_modelStatusHasBeenSet = true; m_modelStatus = value; } + inline GetCustomModelResult& WithModelStatus(ModelStatus value) { SetModelStatus(value); return *this;} + ///@} + + ///@{ + /** + *

    A failure message for any issues that occurred when creating the custom + * model. This is included for only a failed CreateCustomModel operation.

    + */ + inline const Aws::String& GetFailureMessage() const { return m_failureMessage; } + template + void SetFailureMessage(FailureMessageT&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::forward(value); } + template + GetCustomModelResult& WithFailureMessage(FailureMessageT&& value) { SetFailureMessage(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -269,6 +299,12 @@ namespace Model CustomizationConfig m_customizationConfig; bool m_customizationConfigHasBeenSet = false; + ModelStatus m_modelStatus{ModelStatus::NOT_SET}; + bool m_modelStatusHasBeenSet = false; + + Aws::String m_failureMessage; + bool m_failureMessageHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetModelCustomizationJobResult.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetModelCustomizationJobResult.h index de0a865240a..d4a5a10cf86 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetModelCustomizationJobResult.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GetModelCustomizationJobResult.h @@ -123,17 +123,6 @@ namespace Model inline GetModelCustomizationJobResult& WithStatus(ModelCustomizationJobStatus value) { SetStatus(value); return *this;} ///@} - ///@{ - /** - *

    Information about why the job failed.

    - */ - inline const Aws::String& GetFailureMessage() const { return m_failureMessage; } - template - void SetFailureMessage(FailureMessageT&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::forward(value); } - template - GetModelCustomizationJobResult& WithFailureMessage(FailureMessageT&& value) { SetFailureMessage(std::forward(value)); return *this;} - ///@} - ///@{ /** *

    For a Distillation job, the details about the statuses of the sub-tasks of @@ -146,6 +135,17 @@ namespace Model GetModelCustomizationJobResult& WithStatusDetails(StatusDetailsT&& value) { SetStatusDetails(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    Information about why the job failed.

    + */ + inline const Aws::String& GetFailureMessage() const { return m_failureMessage; } + template + void SetFailureMessage(FailureMessageT&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::forward(value); } + template + GetModelCustomizationJobResult& WithFailureMessage(FailureMessageT&& value) { SetFailureMessage(std::forward(value)); return *this;} + ///@} + ///@{ /** *

    Time that the resource was created.

    @@ -339,12 +339,12 @@ namespace Model ModelCustomizationJobStatus m_status{ModelCustomizationJobStatus::NOT_SET}; bool m_statusHasBeenSet = false; - Aws::String m_failureMessage; - bool m_failureMessageHasBeenSet = false; - StatusDetails m_statusDetails; bool m_statusDetailsHasBeenSet = false; + Aws::String m_failureMessage; + bool m_failureMessageHasBeenSet = false; + Aws::Utils::DateTime m_creationTime{}; bool m_creationTimeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h new file mode 100644 index 00000000000..49d86381569 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTier.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

    The tier that your guardrail uses for content filters.

    See + * Also:

    AWS + * API Reference

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

    The tier that your guardrail uses for content filters. Valid values + * include:

    • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

      + *
    • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

    + */ + inline GuardrailContentFiltersTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailContentFiltersTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailContentFiltersTier& WithTierName(GuardrailContentFiltersTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailContentFiltersTierName m_tierName{GuardrailContentFiltersTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.h new file mode 100644 index 00000000000..df2ffaf24d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierConfig.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

    The tier that your guardrail uses for content filters. Consider using a tier + * that balances performance, accuracy, and compatibility with your existing + * generative AI workflows.

    See Also:

    AWS + * API Reference

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

    The tier that your guardrail uses for content filters. Valid values + * include:

    • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

      + *
    • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

    + */ + inline GuardrailContentFiltersTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailContentFiltersTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailContentFiltersTierConfig& WithTierName(GuardrailContentFiltersTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailContentFiltersTierName m_tierName{GuardrailContentFiltersTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h new file mode 100644 index 00000000000..7033fa351e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentFiltersTierName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class GuardrailContentFiltersTierName + { + NOT_SET, + CLASSIC, + STANDARD + }; + +namespace GuardrailContentFiltersTierNameMapper +{ +AWS_BEDROCK_API GuardrailContentFiltersTierName GetGuardrailContentFiltersTierNameForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForGuardrailContentFiltersTierName(GuardrailContentFiltersTierName value); +} // namespace GuardrailContentFiltersTierNameMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h index 82aa65aae20..d7a87a065c8 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicy.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -55,10 +56,25 @@ namespace Model template GuardrailContentPolicy& AddFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

    The tier that your guardrail uses for content filters.

    + */ + inline const GuardrailContentFiltersTier& GetTier() const { return m_tier; } + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + template + void SetTier(TierT&& value) { m_tierHasBeenSet = true; m_tier = std::forward(value); } + template + GuardrailContentPolicy& WithTier(TierT&& value) { SetTier(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_filters; bool m_filtersHasBeenSet = false; + + GuardrailContentFiltersTier m_tier; + bool m_tierHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h index 1f4df15ee62..31968ff0d21 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailContentPolicyConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -53,10 +54,25 @@ namespace Model template GuardrailContentPolicyConfig& AddFiltersConfig(FiltersConfigT&& value) { m_filtersConfigHasBeenSet = true; m_filtersConfig.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

    The tier that your guardrail uses for content filters.

    + */ + inline const GuardrailContentFiltersTierConfig& GetTierConfig() const { return m_tierConfig; } + inline bool TierConfigHasBeenSet() const { return m_tierConfigHasBeenSet; } + template + void SetTierConfig(TierConfigT&& value) { m_tierConfigHasBeenSet = true; m_tierConfig = std::forward(value); } + template + GuardrailContentPolicyConfig& WithTierConfig(TierConfigT&& value) { SetTierConfig(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_filtersConfig; bool m_filtersConfigHasBeenSet = false; + + GuardrailContentFiltersTierConfig m_tierConfig; + bool m_tierConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h index d03018f485b..9e8291decce 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicy.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -55,10 +56,25 @@ namespace Model template GuardrailTopicPolicy& AddTopics(TopicsT&& value) { m_topicsHasBeenSet = true; m_topics.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

    The tier that your guardrail uses for denied topic filters.

    + */ + inline const GuardrailTopicsTier& GetTier() const { return m_tier; } + inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } + template + void SetTier(TierT&& value) { m_tierHasBeenSet = true; m_tier = std::forward(value); } + template + GuardrailTopicPolicy& WithTier(TierT&& value) { SetTier(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_topics; bool m_topicsHasBeenSet = false; + + GuardrailTopicsTier m_tier; + bool m_tierHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h index 26246a0391f..d78c0f5c58d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicPolicyConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include @@ -52,10 +53,25 @@ namespace Model template GuardrailTopicPolicyConfig& AddTopicsConfig(TopicsConfigT&& value) { m_topicsConfigHasBeenSet = true; m_topicsConfig.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

    The tier that your guardrail uses for denied topic filters.

    + */ + inline const GuardrailTopicsTierConfig& GetTierConfig() const { return m_tierConfig; } + inline bool TierConfigHasBeenSet() const { return m_tierConfigHasBeenSet; } + template + void SetTierConfig(TierConfigT&& value) { m_tierConfigHasBeenSet = true; m_tierConfig = std::forward(value); } + template + GuardrailTopicPolicyConfig& WithTierConfig(TierConfigT&& value) { SetTierConfig(std::forward(value)); return *this;} + ///@} private: Aws::Vector m_topicsConfig; bool m_topicsConfigHasBeenSet = false; + + GuardrailTopicsTierConfig m_tierConfig; + bool m_tierConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h new file mode 100644 index 00000000000..4c9e86b0a81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTier.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

    The tier that your guardrail uses for denied topic filters.

    See + * Also:

    AWS + * API Reference

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

    The tier that your guardrail uses for denied topic filters. Valid values + * include:

    • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

      + *
    • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

    + */ + inline GuardrailTopicsTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailTopicsTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailTopicsTier& WithTierName(GuardrailTopicsTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailTopicsTierName m_tierName{GuardrailTopicsTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.h new file mode 100644 index 00000000000..89f879bf3f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierConfig.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Bedrock +{ +namespace Model +{ + + /** + *

    The tier that your guardrail uses for denied topic filters. Consider using a + * tier that balances performance, accuracy, and compatibility with your existing + * generative AI workflows.

    See Also:

    AWS + * API Reference

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

    The tier that your guardrail uses for denied topic filters. Valid values + * include:

    • CLASSIC tier – Provides established + * guardrails functionality supporting English, French, and Spanish languages.

      + *
    • STANDARD tier – Provides a more robust solution than + * the CLASSIC tier and has more comprehensive language support. This + * tier requires that your guardrail use cross-Region + * inference.

    + */ + inline GuardrailTopicsTierName GetTierName() const { return m_tierName; } + inline bool TierNameHasBeenSet() const { return m_tierNameHasBeenSet; } + inline void SetTierName(GuardrailTopicsTierName value) { m_tierNameHasBeenSet = true; m_tierName = value; } + inline GuardrailTopicsTierConfig& WithTierName(GuardrailTopicsTierName value) { SetTierName(value); return *this;} + ///@} + private: + + GuardrailTopicsTierName m_tierName{GuardrailTopicsTierName::NOT_SET}; + bool m_tierNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h new file mode 100644 index 00000000000..ba07d961eb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/GuardrailTopicsTierName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class GuardrailTopicsTierName + { + NOT_SET, + CLASSIC, + STANDARD + }; + +namespace GuardrailTopicsTierNameMapper +{ +AWS_BEDROCK_API GuardrailTopicsTierName GetGuardrailTopicsTierNameForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForGuardrailTopicsTierName(GuardrailTopicsTierName value); +} // namespace GuardrailTopicsTierNameMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListCustomModelsRequest.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListCustomModelsRequest.h index be2d5d62584..adea682a8f6 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListCustomModelsRequest.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ListCustomModelsRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -162,6 +163,22 @@ namespace Model inline void SetIsOwned(bool value) { m_isOwnedHasBeenSet = true; m_isOwned = value; } inline ListCustomModelsRequest& WithIsOwned(bool value) { SetIsOwned(value); return *this;} ///@} + + ///@{ + /** + *

    The status of them model to filter results by. Possible values include:

    + *
    • Creating - Include only models that are currently + * being created and validated.

    • Active - Include + * only models that have been successfully created and are ready for use.

    • + *
    • Failed - Include only models where the creation process + * failed.

    If you don't specify a status, the API returns models + * in all states.

    + */ + inline ModelStatus GetModelStatus() const { return m_modelStatus; } + inline bool ModelStatusHasBeenSet() const { return m_modelStatusHasBeenSet; } + inline void SetModelStatus(ModelStatus value) { m_modelStatusHasBeenSet = true; m_modelStatus = value; } + inline ListCustomModelsRequest& WithModelStatus(ModelStatus value) { SetModelStatus(value); return *this;} + ///@} private: Aws::Utils::DateTime m_creationTimeBefore{}; @@ -193,6 +210,9 @@ namespace Model bool m_isOwned{false}; bool m_isOwnedHasBeenSet = false; + + ModelStatus m_modelStatus{ModelStatus::NOT_SET}; + bool m_modelStatusHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelCustomizationJobSummary.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelCustomizationJobSummary.h index 6d5af8b8904..e2f9a73bd54 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelCustomizationJobSummary.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelCustomizationJobSummary.h @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include #include #include @@ -87,18 +87,6 @@ namespace Model inline ModelCustomizationJobSummary& WithStatus(ModelCustomizationJobStatus value) { SetStatus(value); return *this;} ///@} - ///@{ - /** - *

    Time that the customization job was last modified.

    - */ - inline const Aws::Utils::DateTime& GetLastModifiedTime() const { return m_lastModifiedTime; } - inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } - template - void SetLastModifiedTime(LastModifiedTimeT&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::forward(value); } - template - ModelCustomizationJobSummary& WithLastModifiedTime(LastModifiedTimeT&& value) { SetLastModifiedTime(std::forward(value)); return *this;} - ///@} - ///@{ /** *

    Details about the status of the data processing sub-task of the job.

    @@ -111,6 +99,18 @@ namespace Model ModelCustomizationJobSummary& WithStatusDetails(StatusDetailsT&& value) { SetStatusDetails(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

    Time that the customization job was last modified.

    + */ + inline const Aws::Utils::DateTime& GetLastModifiedTime() const { return m_lastModifiedTime; } + inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } + template + void SetLastModifiedTime(LastModifiedTimeT&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::forward(value); } + template + ModelCustomizationJobSummary& WithLastModifiedTime(LastModifiedTimeT&& value) { SetLastModifiedTime(std::forward(value)); return *this;} + ///@} + ///@{ /** *

    Creation time of the custom model.

    @@ -185,12 +185,12 @@ namespace Model ModelCustomizationJobStatus m_status{ModelCustomizationJobStatus::NOT_SET}; bool m_statusHasBeenSet = false; - Aws::Utils::DateTime m_lastModifiedTime{}; - bool m_lastModifiedTimeHasBeenSet = false; - StatusDetails m_statusDetails; bool m_statusDetailsHasBeenSet = false; + Aws::Utils::DateTime m_lastModifiedTime{}; + bool m_lastModifiedTimeHasBeenSet = false; + Aws::Utils::DateTime m_creationTime{}; bool m_creationTimeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelDataSource.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelDataSource.h index 1aa9d953463..8fcba0be8c2 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelDataSource.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelDataSource.h @@ -24,7 +24,7 @@ namespace Model { /** - *

    Data source for the imported model.

    See Also:

    The data source of the model to import.

    See Also:

    AWS * API Reference

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

    The Amazon S3 data source of the imported model.

    + *

    The Amazon S3 data source of the model to import.

    */ inline const S3DataSource& GetS3DataSource() const { return m_s3DataSource; } inline bool S3DataSourceHasBeenSet() const { return m_s3DataSourceHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelStatus.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelStatus.h new file mode 100644 index 00000000000..ab2bdc7565f --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/ModelStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + enum class ModelStatus + { + NOT_SET, + Active, + Creating, + Failed + }; + +namespace ModelStatusMapper +{ +AWS_BEDROCK_API ModelStatus GetModelStatusForName(const Aws::String& name); + +AWS_BEDROCK_API Aws::String GetNameForModelStatus(ModelStatus value); +} // namespace ModelStatusMapper +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3DataSource.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3DataSource.h index f872c6a48c8..bb93a40e825 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3DataSource.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/model/S3DataSource.h @@ -24,7 +24,8 @@ namespace Model { /** - *

    The Amazon S3 data source of the imported job.

    See Also:

    The Amazon S3 data source of the model to import.

    See Also:

    + *
    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp b/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp index c038011ad1b..061ad011538 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -250,6 +251,33 @@ BatchDeleteEvaluationJobOutcome BedrockClient::BatchDeleteEvaluationJob(const Ba {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateCustomModelOutcome BedrockClient::CreateCustomModel(const CreateCustomModelRequest& request) const +{ + AWS_OPERATION_GUARD(CreateCustomModel); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateCustomModel, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateCustomModel, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateCustomModel, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateCustomModel", + {{ 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( + [&]()-> CreateCustomModelOutcome { + 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, CreateCustomModel, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/custom-models/create-custom-model"); + return CreateCustomModelOutcome(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()}}); +} + CreateEvaluationJobOutcome BedrockClient::CreateEvaluationJob(const CreateEvaluationJobRequest& request) const { AWS_OPERATION_GUARD(CreateEvaluationJob); diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/CreateCustomModelRequest.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/CreateCustomModelRequest.cpp new file mode 100644 index 00000000000..bf72fd655b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/CreateCustomModelRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Bedrock::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateCustomModelRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_modelNameHasBeenSet) + { + payload.WithString("modelName", m_modelName); + + } + + if(m_modelSourceConfigHasBeenSet) + { + payload.WithObject("modelSourceConfig", m_modelSourceConfig.Jsonize()); + + } + + if(m_modelKmsKeyArnHasBeenSet) + { + payload.WithString("modelKmsKeyArn", m_modelKmsKeyArn); + + } + + if(m_roleArnHasBeenSet) + { + payload.WithString("roleArn", m_roleArn); + + } + + if(m_modelTagsHasBeenSet) + { + Aws::Utils::Array modelTagsJsonList(m_modelTags.size()); + for(unsigned modelTagsIndex = 0; modelTagsIndex < modelTagsJsonList.GetLength(); ++modelTagsIndex) + { + modelTagsJsonList[modelTagsIndex].AsObject(m_modelTags[modelTagsIndex].Jsonize()); + } + payload.WithArray("modelTags", std::move(modelTagsJsonList)); + + } + + if(m_clientRequestTokenHasBeenSet) + { + payload.WithString("clientRequestToken", m_clientRequestToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/CreateCustomModelResult.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/CreateCustomModelResult.cpp new file mode 100644 index 00000000000..bc01b4248ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/CreateCustomModelResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::Bedrock::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateCustomModelResult::CreateCustomModelResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateCustomModelResult& CreateCustomModelResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("modelArn")) + { + m_modelArn = jsonValue.GetString("modelArn"); + m_modelArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/CustomModelSummary.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/CustomModelSummary.cpp index 8b042bf03be..72a959023f5 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/CustomModelSummary.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/CustomModelSummary.cpp @@ -60,6 +60,11 @@ CustomModelSummary& CustomModelSummary::operator =(JsonView jsonValue) m_ownerAccountId = jsonValue.GetString("ownerAccountId"); m_ownerAccountIdHasBeenSet = true; } + if(jsonValue.ValueExists("modelStatus")) + { + m_modelStatus = ModelStatusMapper::GetModelStatusForName(jsonValue.GetString("modelStatus")); + m_modelStatusHasBeenSet = true; + } return *this; } @@ -107,6 +112,11 @@ JsonValue CustomModelSummary::Jsonize() const } + if(m_modelStatusHasBeenSet) + { + payload.WithString("modelStatus", ModelStatusMapper::GetNameForModelStatus(m_modelStatus)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/CustomizationType.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/CustomizationType.cpp index 622fe18075d..78610886451 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/CustomizationType.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/CustomizationType.cpp @@ -23,6 +23,7 @@ namespace Aws static const int FINE_TUNING_HASH = HashingUtils::HashString("FINE_TUNING"); static const int CONTINUED_PRE_TRAINING_HASH = HashingUtils::HashString("CONTINUED_PRE_TRAINING"); static const int DISTILLATION_HASH = HashingUtils::HashString("DISTILLATION"); + static const int IMPORTED_HASH = HashingUtils::HashString("IMPORTED"); CustomizationType GetCustomizationTypeForName(const Aws::String& name) @@ -40,6 +41,10 @@ namespace Aws { return CustomizationType::DISTILLATION; } + else if (hashCode == IMPORTED_HASH) + { + return CustomizationType::IMPORTED; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +67,8 @@ namespace Aws return "CONTINUED_PRE_TRAINING"; case CustomizationType::DISTILLATION: return "DISTILLATION"; + case CustomizationType::IMPORTED: + return "IMPORTED"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GetCustomModelResult.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GetCustomModelResult.cpp index fe0ab26f584..b61145f8d5d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GetCustomModelResult.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GetCustomModelResult.cpp @@ -108,6 +108,16 @@ GetCustomModelResult& GetCustomModelResult::operator =(const Aws::AmazonWebServi m_customizationConfig = jsonValue.GetObject("customizationConfig"); m_customizationConfigHasBeenSet = true; } + if(jsonValue.ValueExists("modelStatus")) + { + m_modelStatus = ModelStatusMapper::GetModelStatusForName(jsonValue.GetString("modelStatus")); + m_modelStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("failureMessage")) + { + m_failureMessage = jsonValue.GetString("failureMessage"); + m_failureMessageHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GetModelCustomizationJobResult.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GetModelCustomizationJobResult.cpp index 57ccc519bf2..7953ac1854b 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GetModelCustomizationJobResult.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GetModelCustomizationJobResult.cpp @@ -60,16 +60,16 @@ GetModelCustomizationJobResult& GetModelCustomizationJobResult::operator =(const m_status = ModelCustomizationJobStatusMapper::GetModelCustomizationJobStatusForName(jsonValue.GetString("status")); m_statusHasBeenSet = true; } - if(jsonValue.ValueExists("failureMessage")) - { - m_failureMessage = jsonValue.GetString("failureMessage"); - m_failureMessageHasBeenSet = true; - } if(jsonValue.ValueExists("statusDetails")) { m_statusDetails = jsonValue.GetObject("statusDetails"); m_statusDetailsHasBeenSet = true; } + if(jsonValue.ValueExists("failureMessage")) + { + m_failureMessage = jsonValue.GetString("failureMessage"); + m_failureMessageHasBeenSet = true; + } if(jsonValue.ValueExists("creationTime")) { m_creationTime = jsonValue.GetString("creationTime"); diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp new file mode 100644 index 00000000000..2c173766b04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTier.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailContentFiltersTier::GuardrailContentFiltersTier(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailContentFiltersTier& GuardrailContentFiltersTier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailContentFiltersTierNameMapper::GetGuardrailContentFiltersTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailContentFiltersTier::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailContentFiltersTierNameMapper::GetNameForGuardrailContentFiltersTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp new file mode 100644 index 00000000000..05f5fc34fdd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailContentFiltersTierConfig::GuardrailContentFiltersTierConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailContentFiltersTierConfig& GuardrailContentFiltersTierConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailContentFiltersTierNameMapper::GetGuardrailContentFiltersTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailContentFiltersTierConfig::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailContentFiltersTierNameMapper::GetNameForGuardrailContentFiltersTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp new file mode 100644 index 00000000000..0813b2ea4f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentFiltersTierName.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace GuardrailContentFiltersTierNameMapper + { + + static const int CLASSIC_HASH = HashingUtils::HashString("CLASSIC"); + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + + + GuardrailContentFiltersTierName GetGuardrailContentFiltersTierNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CLASSIC_HASH) + { + return GuardrailContentFiltersTierName::CLASSIC; + } + else if (hashCode == STANDARD_HASH) + { + return GuardrailContentFiltersTierName::STANDARD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailContentFiltersTierName::NOT_SET; + } + + Aws::String GetNameForGuardrailContentFiltersTierName(GuardrailContentFiltersTierName enumValue) + { + switch(enumValue) + { + case GuardrailContentFiltersTierName::NOT_SET: + return {}; + case GuardrailContentFiltersTierName::CLASSIC: + return "CLASSIC"; + case GuardrailContentFiltersTierName::STANDARD: + return "STANDARD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailContentFiltersTierNameMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp index 250c2eea85d..4ba407bd3fe 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicy.cpp @@ -34,6 +34,11 @@ GuardrailContentPolicy& GuardrailContentPolicy::operator =(JsonView jsonValue) } m_filtersHasBeenSet = true; } + if(jsonValue.ValueExists("tier")) + { + m_tier = jsonValue.GetObject("tier"); + m_tierHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailContentPolicy::Jsonize() const } + if(m_tierHasBeenSet) + { + payload.WithObject("tier", m_tier.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp index 9143d680daa..1d82c8b9c30 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailContentPolicyConfig.cpp @@ -34,6 +34,11 @@ GuardrailContentPolicyConfig& GuardrailContentPolicyConfig::operator =(JsonView } m_filtersConfigHasBeenSet = true; } + if(jsonValue.ValueExists("tierConfig")) + { + m_tierConfig = jsonValue.GetObject("tierConfig"); + m_tierConfigHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailContentPolicyConfig::Jsonize() const } + if(m_tierConfigHasBeenSet) + { + payload.WithObject("tierConfig", m_tierConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp index 97d2e01d032..8fdad7048b7 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicy.cpp @@ -34,6 +34,11 @@ GuardrailTopicPolicy& GuardrailTopicPolicy::operator =(JsonView jsonValue) } m_topicsHasBeenSet = true; } + if(jsonValue.ValueExists("tier")) + { + m_tier = jsonValue.GetObject("tier"); + m_tierHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailTopicPolicy::Jsonize() const } + if(m_tierHasBeenSet) + { + payload.WithObject("tier", m_tier.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp index 12d0429893b..51e17f28381 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicPolicyConfig.cpp @@ -34,6 +34,11 @@ GuardrailTopicPolicyConfig& GuardrailTopicPolicyConfig::operator =(JsonView json } m_topicsConfigHasBeenSet = true; } + if(jsonValue.ValueExists("tierConfig")) + { + m_tierConfig = jsonValue.GetObject("tierConfig"); + m_tierConfigHasBeenSet = true; + } return *this; } @@ -52,6 +57,12 @@ JsonValue GuardrailTopicPolicyConfig::Jsonize() const } + if(m_tierConfigHasBeenSet) + { + payload.WithObject("tierConfig", m_tierConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp new file mode 100644 index 00000000000..21ab433ad74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTier.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailTopicsTier::GuardrailTopicsTier(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailTopicsTier& GuardrailTopicsTier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailTopicsTierNameMapper::GetGuardrailTopicsTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailTopicsTier::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailTopicsTierNameMapper::GetNameForGuardrailTopicsTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp new file mode 100644 index 00000000000..d6b8d829e11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Bedrock +{ +namespace Model +{ + +GuardrailTopicsTierConfig::GuardrailTopicsTierConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +GuardrailTopicsTierConfig& GuardrailTopicsTierConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("tierName")) + { + m_tierName = GuardrailTopicsTierNameMapper::GetGuardrailTopicsTierNameForName(jsonValue.GetString("tierName")); + m_tierNameHasBeenSet = true; + } + return *this; +} + +JsonValue GuardrailTopicsTierConfig::Jsonize() const +{ + JsonValue payload; + + if(m_tierNameHasBeenSet) + { + payload.WithString("tierName", GuardrailTopicsTierNameMapper::GetNameForGuardrailTopicsTierName(m_tierName)); + } + + return payload; +} + +} // namespace Model +} // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp new file mode 100644 index 00000000000..5d4403610e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/GuardrailTopicsTierName.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace GuardrailTopicsTierNameMapper + { + + static const int CLASSIC_HASH = HashingUtils::HashString("CLASSIC"); + static const int STANDARD_HASH = HashingUtils::HashString("STANDARD"); + + + GuardrailTopicsTierName GetGuardrailTopicsTierNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CLASSIC_HASH) + { + return GuardrailTopicsTierName::CLASSIC; + } + else if (hashCode == STANDARD_HASH) + { + return GuardrailTopicsTierName::STANDARD; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GuardrailTopicsTierName::NOT_SET; + } + + Aws::String GetNameForGuardrailTopicsTierName(GuardrailTopicsTierName enumValue) + { + switch(enumValue) + { + case GuardrailTopicsTierName::NOT_SET: + return {}; + case GuardrailTopicsTierName::CLASSIC: + return "CLASSIC"; + case GuardrailTopicsTierName::STANDARD: + return "STANDARD"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GuardrailTopicsTierNameMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ListCustomModelsRequest.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ListCustomModelsRequest.cpp index a0bc1660c4a..e2853f4e05b 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/ListCustomModelsRequest.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ListCustomModelsRequest.cpp @@ -93,6 +93,13 @@ void ListCustomModelsRequest::AddQueryStringParameters(URI& uri) const ss.str(""); } + if(m_modelStatusHasBeenSet) + { + ss << ModelStatusMapper::GetNameForModelStatus(m_modelStatus); + uri.AddQueryStringParameter("modelStatus", ss.str()); + ss.str(""); + } + } diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ModelCustomizationJobSummary.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ModelCustomizationJobSummary.cpp index 54aa4fd9fe0..51dc46d7b41 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/model/ModelCustomizationJobSummary.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ModelCustomizationJobSummary.cpp @@ -45,16 +45,16 @@ ModelCustomizationJobSummary& ModelCustomizationJobSummary::operator =(JsonView m_status = ModelCustomizationJobStatusMapper::GetModelCustomizationJobStatusForName(jsonValue.GetString("status")); m_statusHasBeenSet = true; } - if(jsonValue.ValueExists("lastModifiedTime")) - { - m_lastModifiedTime = jsonValue.GetString("lastModifiedTime"); - m_lastModifiedTimeHasBeenSet = true; - } if(jsonValue.ValueExists("statusDetails")) { m_statusDetails = jsonValue.GetObject("statusDetails"); m_statusDetailsHasBeenSet = true; } + if(jsonValue.ValueExists("lastModifiedTime")) + { + m_lastModifiedTime = jsonValue.GetString("lastModifiedTime"); + m_lastModifiedTimeHasBeenSet = true; + } if(jsonValue.ValueExists("creationTime")) { m_creationTime = jsonValue.GetString("creationTime"); @@ -110,17 +110,17 @@ JsonValue ModelCustomizationJobSummary::Jsonize() const payload.WithString("status", ModelCustomizationJobStatusMapper::GetNameForModelCustomizationJobStatus(m_status)); } - if(m_lastModifiedTimeHasBeenSet) - { - payload.WithString("lastModifiedTime", m_lastModifiedTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); - } - if(m_statusDetailsHasBeenSet) { payload.WithObject("statusDetails", m_statusDetails.Jsonize()); } + if(m_lastModifiedTimeHasBeenSet) + { + payload.WithString("lastModifiedTime", m_lastModifiedTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + if(m_creationTimeHasBeenSet) { payload.WithString("creationTime", m_creationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); diff --git a/generated/src/aws-cpp-sdk-bedrock/source/model/ModelStatus.cpp b/generated/src/aws-cpp-sdk-bedrock/source/model/ModelStatus.cpp new file mode 100644 index 00000000000..6bb2b38e06b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock/source/model/ModelStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Bedrock + { + namespace Model + { + namespace ModelStatusMapper + { + + static const int Active_HASH = HashingUtils::HashString("Active"); + static const int Creating_HASH = HashingUtils::HashString("Creating"); + static const int Failed_HASH = HashingUtils::HashString("Failed"); + + + ModelStatus GetModelStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Active_HASH) + { + return ModelStatus::Active; + } + else if (hashCode == Creating_HASH) + { + return ModelStatus::Creating; + } + else if (hashCode == Failed_HASH) + { + return ModelStatus::Failed; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ModelStatus::NOT_SET; + } + + Aws::String GetNameForModelStatus(ModelStatus enumValue) + { + switch(enumValue) + { + case ModelStatus::NOT_SET: + return {}; + case ModelStatus::Active: + return "Active"; + case ModelStatus::Creating: + return "Creating"; + case ModelStatus::Failed: + return "Failed"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ModelStatusMapper + } // namespace Model + } // namespace Bedrock +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointRules.cpp b/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointRules.cpp index 32c0b0db0ae..520f6e4e35f 100644 --- a/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointRules.cpp @@ -10,44 +10,44 @@ namespace Aws { namespace CostExplorer { -const size_t CostExplorerEndpointRules::RulesBlobStrLen = 6005; -const size_t CostExplorerEndpointRules::RulesBlobSize = 6006; +const size_t CostExplorerEndpointRules::RulesBlobStrLen = 6572; +const size_t CostExplorerEndpointRules::RulesBlobSize = 6573; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ '{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', -'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', -':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', -':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T', -'h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s', -'p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e', -'"',':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a', -'l','S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', -'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', -'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e', -' ','d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', -'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', -'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c', -'k',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s', -'t',' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"', -'t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S', -'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P', -'S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', -'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', -':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e', -'q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a', -'n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', -'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', -'o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l', -'i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n', -'g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n', -' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e', -'a','n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n', -'"',':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', -'e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', -':','"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u', -'s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"', +'e','r','s','"',':','{','"','U','s','e','D','u','a','l','S','t','a','c','k','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l','S','t','a','c','k', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ','d','u','a','l','-', +'s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k',',',' ','d','i','s', +'p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','M','A','Y',' ', +'r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':', +'"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e', +'q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n', +' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ', +'t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g', +'i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e', +'n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ', +'r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r', +'r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"', +'E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K', +':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r', +'r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o', +' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q', +'u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i', +'o','n','"',':','"','T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ', +'t','o',' ','d','i','s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"', ',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', @@ -58,204 +58,226 @@ static constexpr RulesBlobT RulesBlob = {{ '"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', 'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', 'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', -'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', -' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', -'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', -'"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c', -'e','.','u','s','-','e','a','s','t','-','1','.','a','m','a','z','o','n','a','w','s','.','c','o','m', -'"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e', -'m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i', -'g','n','i','n','g','N','a','m','e','"',':','"','c','e','"',',','"','s','i','g','n','i','n','g','R', -'e','g','i','o','n','"',':','"','u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', -':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', -'n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', '{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', 'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','c','n','-','n','o','r','t','h', -'w','e','s','t','-','1','.','a','m','a','z','o','n','a','w','s','.','c','o','m','.','c','n','"',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e', -'s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n', -'i','n','g','N','a','m','e','"',':','"','c','e','"',',','"','s','i','g','n','i','n','g','R','e','g', -'i','o','n','"',':','"','c','n','-','n','o','r','t','h','w','e','s','t','-','1','"','}',']','}',',', -'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', -'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', -'}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','i','s','o','"',']','}',',','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', -'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', -'t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','u','s','-','i', -'s','o','-','e','a','s','t','-','1','.','c','2','s','.','i','c','.','g','o','v','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':', -'[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g', -'N','a','m','e','"',':','"','c','e','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n', -'"',':','"','u','s','-','i','s','o','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a', -'d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n', -'t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':', -'"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n', -'a','m','e','"',']','}',',','"','a','w','s','-','i','s','o','-','b','"',']','}',',','{','"','f','n', -'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', -'c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','u','s','-','i','s','o', -'b','-','e','a','s','t','-','1','.','s','c','2','s','.','s','g','o','v','.','g','o','v','"',',','"', -'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', -'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', -'n','g','N','a','m','e','"',':','"','c','e','"',',','"','s','i','g','n','i','n','g','R','e','g','i', -'o','n','"',':','"','u','s','-','i','s','o','b','-','e','a','s','t','-','1','"','}',']','}',',','"', -'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', -'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', -'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', -'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', -',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','i','s','o','-','e','"',']','}',',','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n', -'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','e','u','-', -'i','s','o','e','-','w','e','s','t','-','1','.','c','l','o','u','d','.','a','d','c','-','e','.','u', -'k','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', -'e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', -'i','g','n','i','n','g','N','a','m','e','"',':','"','c','e','"',',','"','s','i','g','n','i','n','g', -'R','e','g','i','o','n','"',':','"','e','u','-','i','s','o','e','-','w','e','s','t','-','1','"','}', -']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', '[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', 'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', 'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','i','s','o','-','f','"', +'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', ']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', -',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e', -'.','u','s','-','i','s','o','f','-','s','o','u','t','h','-','1','.','c','s','p','.','h','c','i','.', -'i','c','.','g','o','v','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u', -'t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v', -'4','"',',','"','s','i','g','n','i','n','g','N','a','m','e','"',':','"','c','e','"',',','"','s','i', -'g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','i','s','o','f','-','s','o','u', -'t','h','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','u','s','-','e','a','s', +'t','-','1','.','a','p','i','.','a','w','s','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':', +'"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"', +'u','s','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',', +'"','a','w','s','-','c','n','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']', +'}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','c','e','.','c','n','-','n','o','r','t','h','w','e','s','t','-','1','.','a','p', +'i','.','a','m','a','z','o','n','w','e','b','s','e','r','v','i','c','e','s','.','c','o','m','.','c', +'n','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h', +'e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s', +'i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','c','n','-','n','o','r','t','h','w','e', +'s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', 'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', +'i','s','o','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', 'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', -'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', -'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', -'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', -':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', -'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}', +'P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','c','e','.','u','s','-','i','s','o','-','e','a','s','t','-','1','.','c','2','s','.','i','c', +'.','g','o','v','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h', +'S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"', +',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-','i','s','o','-', +'e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w', +'s','-','i','s','o','-','b','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e', +']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','c','e','.','u','s','-','i','s','o','b','-','e','a','s','t','-','1','.','s', +'c','2','s','.','s','g','o','v','.','g','o','v','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"', +':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':', +'"','u','s','-','i','s','o','b','-','e','a','s','t','-','1','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a', +'m','e','"',']','}',',','"','a','w','s','-','i','s','o','-','e','"',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}', ',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','e','u','-','i','s','o','e', +'-','w','e','s','t','-','1','.','c','l','o','u','d','.','a','d','c','-','e','.','u','k','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s', +'"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i', +'n','g','R','e','g','i','o','n','"',':','"','e','u','-','i','s','o','e','-','w','e','s','t','-','1', +'"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','i','s','o','-', +'f','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S', +'"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'c','e','.','u','s','-','i','s','o','f','-','s','o','u','t','h','-','1','.','c','s','p','.','h','c', +'i','.','i','c','.','g','o','v','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"', +'a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i', +'g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','u','s','-', +'i','s','o','f','-','s','o','u','t','h','-','1','"','}',']','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F', +'I','P','S','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o', +'r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','-', +'f','i','p','s','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','i','m','p', +'l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','}','.','{','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u', +'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t', +'h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4', +'"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','#','i','m','p','l','i','c','i','t','G','l','o','b','a','l', +'R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l', +'S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h', +'i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p', +'p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a', +'l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', '"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', -'t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', 'd','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','-','f','i','p','s','.','{','R','e', -'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', -'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', -'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', -'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t', -'a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s', -' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', -'r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r', -'e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s', -'u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r', -'u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','c','e','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r', -'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', -'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', -':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b', -'l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', -'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', -'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', -']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', -'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', -'"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t', -'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a', -'l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', -'o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':', -'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', -'t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t', -'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', -'r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l', -'e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e', -'s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',', -'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','c','e','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', -'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', -'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', -'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', -'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', -'n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s', -'s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o', -'r','"','}',']','}','\0' +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','c','e','-','f','i','p','s','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','i','m','p','l','i','c','i','t','G','l','o', +'b','a','l','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','"','a','u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e', +'"',':','"','s','i','g','v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"', +':','"','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','i','m','p','l','i','c', +'i','t','G','l','o','b','a','l','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ', +'i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P', +'S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a', +'l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','c','e','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','i', +'m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a', +'u','t','h','S','c','h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g', +'v','4','"',',','"','s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','i','m','p','l','i','c','i','t','G','l','o','b', +'a','l','R','e','g','i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i', +'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l', +'S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','c','e','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','}','.', +'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i', +'x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','"','a','u','t','h','S','c', +'h','e','m','e','s','"',':','[','{','"','n','a','m','e','"',':','"','s','i','g','v','4','"',',','"', +'s','i','g','n','i','n','g','R','e','g','i','o','n','"',':','"','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g', +'i','o','n','}','"','}',']','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':', +'"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i', +'s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r', +'o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' }}; const char* CostExplorerEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h index 66190e814ee..61337907294 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h @@ -386,6 +386,31 @@ namespace ConnectCampaignsV2 return SubmitAsync(&ConnectCampaignsV2Client::GetConnectInstanceConfig, request, handler, context); } + /** + *

    Get the instance communication limits.

    See Also:

    AWS + * API Reference

    + */ + virtual Model::GetInstanceCommunicationLimitsOutcome GetInstanceCommunicationLimits(const Model::GetInstanceCommunicationLimitsRequest& request) const; + + /** + * A Callable wrapper for GetInstanceCommunicationLimits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetInstanceCommunicationLimitsOutcomeCallable GetInstanceCommunicationLimitsCallable(const GetInstanceCommunicationLimitsRequestT& request) const + { + return SubmitCallable(&ConnectCampaignsV2Client::GetInstanceCommunicationLimits, request); + } + + /** + * An Async wrapper for GetInstanceCommunicationLimits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetInstanceCommunicationLimitsAsync(const GetInstanceCommunicationLimitsRequestT& request, const GetInstanceCommunicationLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ConnectCampaignsV2Client::GetInstanceCommunicationLimits, request, handler, context); + } + /** *

    Get the specific instance onboarding job status.

    See Also:

    * Put the instance communication limits. This API is idempotent.

    See + * Also:

    AWS + * API Reference

    + */ + virtual Model::PutInstanceCommunicationLimitsOutcome PutInstanceCommunicationLimits(const Model::PutInstanceCommunicationLimitsRequest& request) const; + + /** + * A Callable wrapper for PutInstanceCommunicationLimits that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutInstanceCommunicationLimitsOutcomeCallable PutInstanceCommunicationLimitsCallable(const PutInstanceCommunicationLimitsRequestT& request) const + { + return SubmitCallable(&ConnectCampaignsV2Client::PutInstanceCommunicationLimits, request); + } + + /** + * An Async wrapper for PutInstanceCommunicationLimits that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutInstanceCommunicationLimitsAsync(const PutInstanceCommunicationLimitsRequestT& request, const PutInstanceCommunicationLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ConnectCampaignsV2Client::PutInstanceCommunicationLimits, request, handler, context); + } + /** *

    Creates outbound requests for the specified campaign Amazon Connect account. * This API is idempotent.

    See Also:

    #include #include +#include #include #include #include @@ -84,12 +85,14 @@ namespace Aws class GetCampaignStateRequest; class GetCampaignStateBatchRequest; class GetConnectInstanceConfigRequest; + class GetInstanceCommunicationLimitsRequest; class GetInstanceOnboardingJobStatusRequest; class ListCampaignsRequest; class ListConnectInstanceIntegrationsRequest; class ListTagsForResourceRequest; class PauseCampaignRequest; class PutConnectInstanceIntegrationRequest; + class PutInstanceCommunicationLimitsRequest; class PutOutboundRequestBatchRequest; class PutProfileOutboundRequestBatchRequest; class ResumeCampaignRequest; @@ -120,12 +123,14 @@ namespace Aws typedef Aws::Utils::Outcome GetCampaignStateOutcome; typedef Aws::Utils::Outcome GetCampaignStateBatchOutcome; typedef Aws::Utils::Outcome GetConnectInstanceConfigOutcome; + typedef Aws::Utils::Outcome GetInstanceCommunicationLimitsOutcome; typedef Aws::Utils::Outcome GetInstanceOnboardingJobStatusOutcome; typedef Aws::Utils::Outcome ListCampaignsOutcome; typedef Aws::Utils::Outcome ListConnectInstanceIntegrationsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome PauseCampaignOutcome; typedef Aws::Utils::Outcome PutConnectInstanceIntegrationOutcome; + typedef Aws::Utils::Outcome PutInstanceCommunicationLimitsOutcome; typedef Aws::Utils::Outcome PutOutboundRequestBatchOutcome; typedef Aws::Utils::Outcome PutProfileOutboundRequestBatchOutcome; typedef Aws::Utils::Outcome ResumeCampaignOutcome; @@ -156,12 +161,14 @@ namespace Aws typedef std::future GetCampaignStateOutcomeCallable; typedef std::future GetCampaignStateBatchOutcomeCallable; typedef std::future GetConnectInstanceConfigOutcomeCallable; + typedef std::future GetInstanceCommunicationLimitsOutcomeCallable; typedef std::future GetInstanceOnboardingJobStatusOutcomeCallable; typedef std::future ListCampaignsOutcomeCallable; typedef std::future ListConnectInstanceIntegrationsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future PauseCampaignOutcomeCallable; typedef std::future PutConnectInstanceIntegrationOutcomeCallable; + typedef std::future PutInstanceCommunicationLimitsOutcomeCallable; typedef std::future PutOutboundRequestBatchOutcomeCallable; typedef std::future PutProfileOutboundRequestBatchOutcomeCallable; typedef std::future ResumeCampaignOutcomeCallable; @@ -195,12 +202,14 @@ namespace Aws typedef std::function&) > GetCampaignStateResponseReceivedHandler; typedef std::function&) > GetCampaignStateBatchResponseReceivedHandler; typedef std::function&) > GetConnectInstanceConfigResponseReceivedHandler; + typedef std::function&) > GetInstanceCommunicationLimitsResponseReceivedHandler; typedef std::function&) > GetInstanceOnboardingJobStatusResponseReceivedHandler; typedef std::function&) > ListCampaignsResponseReceivedHandler; typedef std::function&) > ListConnectInstanceIntegrationsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > PauseCampaignResponseReceivedHandler; typedef std::function&) > PutConnectInstanceIntegrationResponseReceivedHandler; + typedef std::function&) > PutInstanceCommunicationLimitsResponseReceivedHandler; typedef std::function&) > PutOutboundRequestBatchResponseReceivedHandler; typedef std::function&) > PutProfileOutboundRequestBatchResponseReceivedHandler; typedef std::function&) > ResumeCampaignResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/CommunicationLimitsConfig.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/CommunicationLimitsConfig.h index 206afed223a..269a32e5029 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/CommunicationLimitsConfig.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/CommunicationLimitsConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -46,10 +47,21 @@ namespace Model template CommunicationLimitsConfig& WithAllChannelSubtypes(AllChannelSubtypesT&& value) { SetAllChannelSubtypes(std::forward(value)); return *this;} ///@} + + ///@{ + + inline InstanceLimitsHandling GetInstanceLimitsHandling() const { return m_instanceLimitsHandling; } + inline bool InstanceLimitsHandlingHasBeenSet() const { return m_instanceLimitsHandlingHasBeenSet; } + inline void SetInstanceLimitsHandling(InstanceLimitsHandling value) { m_instanceLimitsHandlingHasBeenSet = true; m_instanceLimitsHandling = value; } + inline CommunicationLimitsConfig& WithInstanceLimitsHandling(InstanceLimitsHandling value) { SetInstanceLimitsHandling(value); return *this;} + ///@} private: CommunicationLimits m_allChannelSubtypes; bool m_allChannelSubtypesHasBeenSet = false; + + InstanceLimitsHandling m_instanceLimitsHandling{InstanceLimitsHandling::NOT_SET}; + bool m_instanceLimitsHandlingHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/GetInstanceCommunicationLimitsRequest.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/GetInstanceCommunicationLimitsRequest.h new file mode 100644 index 00000000000..3453d604109 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/GetInstanceCommunicationLimitsRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    The request for GetInstanceCommunicationLimits API.

    See Also:

    + *
    AWS + * API Reference

    + */ + class GetInstanceCommunicationLimitsRequest : public ConnectCampaignsV2Request + { + public: + AWS_CONNECTCAMPAIGNSV2_API GetInstanceCommunicationLimitsRequest() = default; + + // 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 "GetInstanceCommunicationLimits"; } + + AWS_CONNECTCAMPAIGNSV2_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetConnectInstanceId() const { return m_connectInstanceId; } + inline bool ConnectInstanceIdHasBeenSet() const { return m_connectInstanceIdHasBeenSet; } + template + void SetConnectInstanceId(ConnectInstanceIdT&& value) { m_connectInstanceIdHasBeenSet = true; m_connectInstanceId = std::forward(value); } + template + GetInstanceCommunicationLimitsRequest& WithConnectInstanceId(ConnectInstanceIdT&& value) { SetConnectInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectInstanceId; + bool m_connectInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/GetInstanceCommunicationLimitsResult.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/GetInstanceCommunicationLimitsResult.h new file mode 100644 index 00000000000..150758035d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/GetInstanceCommunicationLimitsResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + /** + *

    The response for GetInstanceCommunicationLimits API.

    See Also:

    + * AWS + * API Reference

    + */ + class GetInstanceCommunicationLimitsResult + { + public: + AWS_CONNECTCAMPAIGNSV2_API GetInstanceCommunicationLimitsResult() = default; + AWS_CONNECTCAMPAIGNSV2_API GetInstanceCommunicationLimitsResult(const Aws::AmazonWebServiceResult& result); + AWS_CONNECTCAMPAIGNSV2_API GetInstanceCommunicationLimitsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const InstanceCommunicationLimitsConfig& GetCommunicationLimitsConfig() const { return m_communicationLimitsConfig; } + template + void SetCommunicationLimitsConfig(CommunicationLimitsConfigT&& value) { m_communicationLimitsConfigHasBeenSet = true; m_communicationLimitsConfig = std::forward(value); } + template + GetInstanceCommunicationLimitsResult& WithCommunicationLimitsConfig(CommunicationLimitsConfigT&& value) { SetCommunicationLimitsConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetInstanceCommunicationLimitsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + InstanceCommunicationLimitsConfig m_communicationLimitsConfig; + bool m_communicationLimitsConfigHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/InstanceCommunicationLimitsConfig.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/InstanceCommunicationLimitsConfig.h new file mode 100644 index 00000000000..f156a49d940 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/InstanceCommunicationLimitsConfig.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    Instance Communication limits config

    See Also:

    AWS + * API Reference

    + */ + class InstanceCommunicationLimitsConfig + { + public: + AWS_CONNECTCAMPAIGNSV2_API InstanceCommunicationLimitsConfig() = default; + AWS_CONNECTCAMPAIGNSV2_API InstanceCommunicationLimitsConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API InstanceCommunicationLimitsConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_CONNECTCAMPAIGNSV2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const CommunicationLimits& GetAllChannelSubtypes() const { return m_allChannelSubtypes; } + inline bool AllChannelSubtypesHasBeenSet() const { return m_allChannelSubtypesHasBeenSet; } + template + void SetAllChannelSubtypes(AllChannelSubtypesT&& value) { m_allChannelSubtypesHasBeenSet = true; m_allChannelSubtypes = std::forward(value); } + template + InstanceCommunicationLimitsConfig& WithAllChannelSubtypes(AllChannelSubtypesT&& value) { SetAllChannelSubtypes(std::forward(value)); return *this;} + ///@} + private: + + CommunicationLimits m_allChannelSubtypes; + bool m_allChannelSubtypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/InstanceLimitsHandling.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/InstanceLimitsHandling.h new file mode 100644 index 00000000000..7613c57902c --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/InstanceLimitsHandling.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 ConnectCampaignsV2 +{ +namespace Model +{ + enum class InstanceLimitsHandling + { + NOT_SET, + OPT_IN, + OPT_OUT + }; + +namespace InstanceLimitsHandlingMapper +{ +AWS_CONNECTCAMPAIGNSV2_API InstanceLimitsHandling GetInstanceLimitsHandlingForName(const Aws::String& name); + +AWS_CONNECTCAMPAIGNSV2_API Aws::String GetNameForInstanceLimitsHandling(InstanceLimitsHandling value); +} // namespace InstanceLimitsHandlingMapper +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutInstanceCommunicationLimitsRequest.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutInstanceCommunicationLimitsRequest.h new file mode 100644 index 00000000000..85f26672795 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/model/PutInstanceCommunicationLimitsRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + + /** + *

    The request for PutInstanceCommunicationLimits API.

    See Also:

    + * AWS + * API Reference

    + */ + class PutInstanceCommunicationLimitsRequest : public ConnectCampaignsV2Request + { + public: + AWS_CONNECTCAMPAIGNSV2_API PutInstanceCommunicationLimitsRequest() = default; + + // 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 "PutInstanceCommunicationLimits"; } + + AWS_CONNECTCAMPAIGNSV2_API Aws::String SerializePayload() const override; + + + ///@{ + + inline const Aws::String& GetConnectInstanceId() const { return m_connectInstanceId; } + inline bool ConnectInstanceIdHasBeenSet() const { return m_connectInstanceIdHasBeenSet; } + template + void SetConnectInstanceId(ConnectInstanceIdT&& value) { m_connectInstanceIdHasBeenSet = true; m_connectInstanceId = std::forward(value); } + template + PutInstanceCommunicationLimitsRequest& WithConnectInstanceId(ConnectInstanceIdT&& value) { SetConnectInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const InstanceCommunicationLimitsConfig& GetCommunicationLimitsConfig() const { return m_communicationLimitsConfig; } + inline bool CommunicationLimitsConfigHasBeenSet() const { return m_communicationLimitsConfigHasBeenSet; } + template + void SetCommunicationLimitsConfig(CommunicationLimitsConfigT&& value) { m_communicationLimitsConfigHasBeenSet = true; m_communicationLimitsConfig = std::forward(value); } + template + PutInstanceCommunicationLimitsRequest& WithCommunicationLimitsConfig(CommunicationLimitsConfigT&& value) { SetCommunicationLimitsConfig(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectInstanceId; + bool m_connectInstanceIdHasBeenSet = false; + + InstanceCommunicationLimitsConfig m_communicationLimitsConfig; + bool m_communicationLimitsConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp index 6c109394f03..eca6350a9c6 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp @@ -33,12 +33,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -604,6 +606,40 @@ GetConnectInstanceConfigOutcome ConnectCampaignsV2Client::GetConnectInstanceConf {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetInstanceCommunicationLimitsOutcome ConnectCampaignsV2Client::GetInstanceCommunicationLimits(const GetInstanceCommunicationLimitsRequest& request) const +{ + AWS_OPERATION_GUARD(GetInstanceCommunicationLimits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetInstanceCommunicationLimits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectInstanceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetInstanceCommunicationLimits", "Required field: ConnectInstanceId, is not set"); + return GetInstanceCommunicationLimitsOutcome(Aws::Client::AWSError(ConnectCampaignsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectInstanceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetInstanceCommunicationLimits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetInstanceCommunicationLimits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetInstanceCommunicationLimits", + {{ 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( + [&]()-> GetInstanceCommunicationLimitsOutcome { + 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, GetInstanceCommunicationLimits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/connect-instance/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetConnectInstanceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/communication-limits"); + return GetInstanceCommunicationLimitsOutcome(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()}}); +} + GetInstanceOnboardingJobStatusOutcome ConnectCampaignsV2Client::GetInstanceOnboardingJobStatus(const GetInstanceOnboardingJobStatusRequest& request) const { AWS_OPERATION_GUARD(GetInstanceOnboardingJobStatus); @@ -800,6 +836,40 @@ PutConnectInstanceIntegrationOutcome ConnectCampaignsV2Client::PutConnectInstanc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +PutInstanceCommunicationLimitsOutcome ConnectCampaignsV2Client::PutInstanceCommunicationLimits(const PutInstanceCommunicationLimitsRequest& request) const +{ + AWS_OPERATION_GUARD(PutInstanceCommunicationLimits); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutInstanceCommunicationLimits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectInstanceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("PutInstanceCommunicationLimits", "Required field: ConnectInstanceId, is not set"); + return PutInstanceCommunicationLimitsOutcome(Aws::Client::AWSError(ConnectCampaignsV2Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectInstanceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutInstanceCommunicationLimits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutInstanceCommunicationLimits, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutInstanceCommunicationLimits", + {{ 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( + [&]()-> PutInstanceCommunicationLimitsOutcome { + 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, PutInstanceCommunicationLimits, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/connect-instance/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetConnectInstanceId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/communication-limits"); + return PutInstanceCommunicationLimitsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + PutOutboundRequestBatchOutcome ConnectCampaignsV2Client::PutOutboundRequestBatch(const PutOutboundRequestBatchRequest& request) const { AWS_OPERATION_GUARD(PutOutboundRequestBatch); diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/CommunicationLimitsConfig.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/CommunicationLimitsConfig.cpp index e687d37f4a7..c3a22679f66 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/CommunicationLimitsConfig.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/CommunicationLimitsConfig.cpp @@ -30,6 +30,11 @@ CommunicationLimitsConfig& CommunicationLimitsConfig::operator =(JsonView jsonVa m_allChannelSubtypes = jsonValue.GetObject("allChannelSubtypes"); m_allChannelSubtypesHasBeenSet = true; } + if(jsonValue.ValueExists("instanceLimitsHandling")) + { + m_instanceLimitsHandling = InstanceLimitsHandlingMapper::GetInstanceLimitsHandlingForName(jsonValue.GetString("instanceLimitsHandling")); + m_instanceLimitsHandlingHasBeenSet = true; + } return *this; } @@ -43,6 +48,11 @@ JsonValue CommunicationLimitsConfig::Jsonize() const } + if(m_instanceLimitsHandlingHasBeenSet) + { + payload.WithString("instanceLimitsHandling", InstanceLimitsHandlingMapper::GetNameForInstanceLimitsHandling(m_instanceLimitsHandling)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/GetInstanceCommunicationLimitsRequest.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/GetInstanceCommunicationLimitsRequest.cpp new file mode 100644 index 00000000000..6aaf0be1205 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/GetInstanceCommunicationLimitsRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ConnectCampaignsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetInstanceCommunicationLimitsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/GetInstanceCommunicationLimitsResult.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/GetInstanceCommunicationLimitsResult.cpp new file mode 100644 index 00000000000..7fb98da1a45 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/GetInstanceCommunicationLimitsResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ConnectCampaignsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetInstanceCommunicationLimitsResult::GetInstanceCommunicationLimitsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetInstanceCommunicationLimitsResult& GetInstanceCommunicationLimitsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("communicationLimitsConfig")) + { + m_communicationLimitsConfig = jsonValue.GetObject("communicationLimitsConfig"); + m_communicationLimitsConfigHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/InstanceCommunicationLimitsConfig.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/InstanceCommunicationLimitsConfig.cpp new file mode 100644 index 00000000000..ecaa804ff79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/InstanceCommunicationLimitsConfig.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ConnectCampaignsV2 +{ +namespace Model +{ + +InstanceCommunicationLimitsConfig::InstanceCommunicationLimitsConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceCommunicationLimitsConfig& InstanceCommunicationLimitsConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("allChannelSubtypes")) + { + m_allChannelSubtypes = jsonValue.GetObject("allChannelSubtypes"); + m_allChannelSubtypesHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceCommunicationLimitsConfig::Jsonize() const +{ + JsonValue payload; + + if(m_allChannelSubtypesHasBeenSet) + { + payload.WithObject("allChannelSubtypes", m_allChannelSubtypes.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/InstanceLimitsHandling.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/InstanceLimitsHandling.cpp new file mode 100644 index 00000000000..716a4c1cf5d --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/InstanceLimitsHandling.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 ConnectCampaignsV2 + { + namespace Model + { + namespace InstanceLimitsHandlingMapper + { + + static const int OPT_IN_HASH = HashingUtils::HashString("OPT_IN"); + static const int OPT_OUT_HASH = HashingUtils::HashString("OPT_OUT"); + + + InstanceLimitsHandling GetInstanceLimitsHandlingForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == OPT_IN_HASH) + { + return InstanceLimitsHandling::OPT_IN; + } + else if (hashCode == OPT_OUT_HASH) + { + return InstanceLimitsHandling::OPT_OUT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InstanceLimitsHandling::NOT_SET; + } + + Aws::String GetNameForInstanceLimitsHandling(InstanceLimitsHandling enumValue) + { + switch(enumValue) + { + case InstanceLimitsHandling::NOT_SET: + return {}; + case InstanceLimitsHandling::OPT_IN: + return "OPT_IN"; + case InstanceLimitsHandling::OPT_OUT: + return "OPT_OUT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InstanceLimitsHandlingMapper + } // namespace Model + } // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutInstanceCommunicationLimitsRequest.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutInstanceCommunicationLimitsRequest.cpp new file mode 100644 index 00000000000..7e8ccc13799 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/model/PutInstanceCommunicationLimitsRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ConnectCampaignsV2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String PutInstanceCommunicationLimitsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_communicationLimitsConfigHasBeenSet) + { + payload.WithObject("communicationLimitsConfig", m_communicationLimitsConfig.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h index 01515fe4b53..8b33d2225a0 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h @@ -16,14 +16,13 @@ namespace Aws namespace ControlCatalog { /** - *

    Welcome to the Amazon Web Services Control Catalog API reference. This guide - * is for developers who need detailed information about how to programmatically - * identify and filter the common controls and related metadata that are available - * to Amazon Web Services customers. This API reference provides descriptions, - * syntax, and usage examples for each of the actions and data types that are - * supported by Amazon Web Services Control Catalog.

    Use the following - * links to get started with the Amazon Web Services Control Catalog API:

      - *
    • Welcome to the Control Catalog API reference. This guide is for developers + * who need detailed information about how to programmatically identify and filter + * the common controls and related metadata that are available to Amazon Web + * Services customers. This API reference provides descriptions, syntax, and usage + * examples for each of the actions and data types that are supported by Control + * Catalog.

      Use the following links to get started with the Control Catalog + * API:

      • Actions: * An alphabetical list of all Control Catalog API operations.

      • * Returns a paginated list of all available controls in the Amazon Web Services - * Control Catalog library. Allows you to discover available controls. The list of - * controls is given as structures of type controlSummary. The ARN is - * returned in the global controlcatalog format, as shown in the - * examples.

        See Also:

        Returns a paginated list of control mappings from the Control Catalog. + * Control mappings show relationships between controls and other entities, such as + * common controls or compliance frameworks.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListControlMappingsOutcome ListControlMappings(const Model::ListControlMappingsRequest& request = {}) const; + + /** + * A Callable wrapper for ListControlMappings that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListControlMappingsOutcomeCallable ListControlMappingsCallable(const ListControlMappingsRequestT& request = {}) const + { + return SubmitCallable(&ControlCatalogClient::ListControlMappings, request); + } + + /** + * An Async wrapper for ListControlMappings that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListControlMappingsAsync(const ListControlMappingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListControlMappingsRequestT& request = {}) const + { + return SubmitAsync(&ControlCatalogClient::ListControlMappings, request, handler, context); + } + + /** + *

        Returns a paginated list of all available controls in the Control Catalog + * library. Allows you to discover available controls. The list of controls is + * given as structures of type controlSummary. The ARN is returned in the + * global controlcatalog format, as shown in the examples.

        See + * Also:

        AWS * API Reference

        */ @@ -186,8 +212,8 @@ namespace ControlCatalog } /** - *

        Returns a paginated list of domains from the Amazon Web Services Control - * Catalog.

        See Also:

        Returns a paginated list of domains from the Control Catalog.

        See + * Also:

        AWS * API Reference

        */ @@ -212,10 +238,10 @@ namespace ControlCatalog } /** - *

        Returns a paginated list of objectives from the Amazon Web Services Control - * Catalog.

        You can apply an optional filter to see the objectives that - * belong to a specific domain. If you don’t provide a filter, the operation - * returns all objectives.

        See Also:

        Returns a paginated list of objectives from the Control Catalog.

        You + * can apply an optional filter to see the objectives that belong to a specific + * domain. If you don���t provide a filter, the operation returns all objectives. + *

        See Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h index dc729070b8b..cfbf7cf4c8a 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h @@ -20,9 +20,11 @@ /* Service model headers required in ControlCatalogClient header */ #include #include +#include #include #include #include +#include #include #include #include @@ -69,6 +71,7 @@ namespace Aws /* Service model forward declarations required in ControlCatalogClient header */ class GetControlRequest; class ListCommonControlsRequest; + class ListControlMappingsRequest; class ListControlsRequest; class ListDomainsRequest; class ListObjectivesRequest; @@ -77,6 +80,7 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome GetControlOutcome; typedef Aws::Utils::Outcome ListCommonControlsOutcome; + typedef Aws::Utils::Outcome ListControlMappingsOutcome; typedef Aws::Utils::Outcome ListControlsOutcome; typedef Aws::Utils::Outcome ListDomainsOutcome; typedef Aws::Utils::Outcome ListObjectivesOutcome; @@ -85,6 +89,7 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future GetControlOutcomeCallable; typedef std::future ListCommonControlsOutcomeCallable; + typedef std::future ListControlMappingsOutcomeCallable; typedef std::future ListControlsOutcomeCallable; typedef std::future ListDomainsOutcomeCallable; typedef std::future ListObjectivesOutcomeCallable; @@ -96,6 +101,7 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > GetControlResponseReceivedHandler; typedef std::function&) > ListCommonControlsResponseReceivedHandler; + typedef std::function&) > ListControlMappingsResponseReceivedHandler; typedef std::function&) > ListControlsResponseReceivedHandler; typedef std::function&) > ListDomainsResponseReceivedHandler; typedef std::function&) > ListObjectivesResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlFilter.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlFilter.h index 3028d0c1b22..201c377e4a3 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlFilter.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlFilter.h @@ -43,7 +43,7 @@ namespace Model /** *

        The objective that's used as filter criteria.

        You can use this * parameter to specify one objective ARN at a time. Passing multiple ARNs in the - * CommonControlFilter isn’t currently supported.

        + * CommonControlFilter isn’t supported.

        */ inline const Aws::Vector& GetObjectives() const { return m_objectives; } inline bool ObjectivesHasBeenSet() const { return m_objectivesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlMappingDetails.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlMappingDetails.h new file mode 100644 index 00000000000..f7e3684d52e --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/CommonControlMappingDetails.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that contains details about a common control mapping. In + * particular, it returns the Amazon Resource Name (ARN) of the common + * control.

        See Also:

        AWS + * API Reference

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

        The Amazon Resource Name (ARN) that identifies the common control in the + * mapping.

        + */ + inline const Aws::String& GetCommonControlArn() const { return m_commonControlArn; } + inline bool CommonControlArnHasBeenSet() const { return m_commonControlArnHasBeenSet; } + template + void SetCommonControlArn(CommonControlArnT&& value) { m_commonControlArnHasBeenSet = true; m_commonControlArn = std::forward(value); } + template + CommonControlMappingDetails& WithCommonControlArn(CommonControlArnT&& value) { SetCommonControlArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_commonControlArn; + bool m_commonControlArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlFilter.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlFilter.h new file mode 100644 index 00000000000..00ed1d8d91b --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlFilter.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that defines filtering criteria for the ListControls operation. + * You can use this filter to narrow down the list of controls based on their + * implementation details.

        See Also:

        AWS + * API Reference

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

        A filter that narrows the results to controls with specific implementation + * types or identifiers. This field allows you to find controls that are + * implemented by specific Amazon Web Services services or with specific service + * identifiers.

        + */ + inline const ImplementationFilter& GetImplementations() const { return m_implementations; } + inline bool ImplementationsHasBeenSet() const { return m_implementationsHasBeenSet; } + template + void SetImplementations(ImplementationsT&& value) { m_implementationsHasBeenSet = true; m_implementations = std::forward(value); } + template + ControlFilter& WithImplementations(ImplementationsT&& value) { SetImplementations(std::forward(value)); return *this;} + ///@} + private: + + ImplementationFilter m_implementations; + bool m_implementationsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlMapping.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlMapping.h new file mode 100644 index 00000000000..3a81e10ddcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlMapping.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that contains information about a control mapping, including the + * control ARN, mapping type, and mapping details.

        See Also:

        AWS + * API Reference

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

        The Amazon Resource Name (ARN) that identifies the control in the + * mapping.

        + */ + inline const Aws::String& GetControlArn() const { return m_controlArn; } + inline bool ControlArnHasBeenSet() const { return m_controlArnHasBeenSet; } + template + void SetControlArn(ControlArnT&& value) { m_controlArnHasBeenSet = true; m_controlArn = std::forward(value); } + template + ControlMapping& WithControlArn(ControlArnT&& value) { SetControlArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The type of mapping relationship between the control and other entities. + * Indicates whether the mapping is to a framework or common control.

        + */ + inline MappingType GetMappingType() const { return m_mappingType; } + inline bool MappingTypeHasBeenSet() const { return m_mappingTypeHasBeenSet; } + inline void SetMappingType(MappingType value) { m_mappingTypeHasBeenSet = true; m_mappingType = value; } + inline ControlMapping& WithMappingType(MappingType value) { SetMappingType(value); return *this;} + ///@} + + ///@{ + /** + *

        The details of the mapping relationship, containing either framework or + * common control information.

        + */ + inline const Mapping& GetMapping() const { return m_mapping; } + inline bool MappingHasBeenSet() const { return m_mappingHasBeenSet; } + template + void SetMapping(MappingT&& value) { m_mappingHasBeenSet = true; m_mapping = std::forward(value); } + template + ControlMapping& WithMapping(MappingT&& value) { SetMapping(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_controlArn; + bool m_controlArnHasBeenSet = false; + + MappingType m_mappingType{MappingType::NOT_SET}; + bool m_mappingTypeHasBeenSet = false; + + Mapping m_mapping; + bool m_mappingHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlMappingFilter.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlMappingFilter.h new file mode 100644 index 00000000000..f62817f1ec0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlMappingFilter.h @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that defines filtering criteria for the ListControlMappings + * operation. You can use this filter to narrow down the list of control mappings + * based on control ARNs, common control ARNs, or mapping types.

        See + * Also:

        AWS + * API Reference

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

        A list of control ARNs to filter the mappings. When specified, only mappings + * associated with these controls are returned.

        + */ + inline const Aws::Vector& GetControlArns() const { return m_controlArns; } + inline bool ControlArnsHasBeenSet() const { return m_controlArnsHasBeenSet; } + template> + void SetControlArns(ControlArnsT&& value) { m_controlArnsHasBeenSet = true; m_controlArns = std::forward(value); } + template> + ControlMappingFilter& WithControlArns(ControlArnsT&& value) { SetControlArns(std::forward(value)); return *this;} + template + ControlMappingFilter& AddControlArns(ControlArnsT&& value) { m_controlArnsHasBeenSet = true; m_controlArns.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

        A list of common control ARNs to filter the mappings. When specified, only + * mappings associated with these common controls are returned.

        + */ + inline const Aws::Vector& GetCommonControlArns() const { return m_commonControlArns; } + inline bool CommonControlArnsHasBeenSet() const { return m_commonControlArnsHasBeenSet; } + template> + void SetCommonControlArns(CommonControlArnsT&& value) { m_commonControlArnsHasBeenSet = true; m_commonControlArns = std::forward(value); } + template> + ControlMappingFilter& WithCommonControlArns(CommonControlArnsT&& value) { SetCommonControlArns(std::forward(value)); return *this;} + template + ControlMappingFilter& AddCommonControlArns(CommonControlArnsT&& value) { m_commonControlArnsHasBeenSet = true; m_commonControlArns.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

        A list of mapping types to filter the mappings. When specified, only mappings + * of these types are returned.

        + */ + inline const Aws::Vector& GetMappingTypes() const { return m_mappingTypes; } + inline bool MappingTypesHasBeenSet() const { return m_mappingTypesHasBeenSet; } + template> + void SetMappingTypes(MappingTypesT&& value) { m_mappingTypesHasBeenSet = true; m_mappingTypes = std::forward(value); } + template> + ControlMappingFilter& WithMappingTypes(MappingTypesT&& value) { SetMappingTypes(std::forward(value)); return *this;} + inline ControlMappingFilter& AddMappingTypes(MappingType value) { m_mappingTypesHasBeenSet = true; m_mappingTypes.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_controlArns; + bool m_controlArnsHasBeenSet = false; + + Aws::Vector m_commonControlArns; + bool m_commonControlArnsHasBeenSet = false; + + Aws::Vector m_mappingTypes; + bool m_mappingTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlSummary.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlSummary.h index 5d6c8ed9592..85407c4f338 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlSummary.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ControlSummary.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -53,6 +54,23 @@ namespace Model ControlSummary& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        A list of alternative identifiers for the control. These are human-readable + * designators, such as SH.S3.1. Several aliases can refer to the same + * control across different Amazon Web Services services or compliance + * frameworks.

        + */ + inline const Aws::Vector& GetAliases() const { return m_aliases; } + inline bool AliasesHasBeenSet() const { return m_aliasesHasBeenSet; } + template> + void SetAliases(AliasesT&& value) { m_aliasesHasBeenSet = true; m_aliases = std::forward(value); } + template> + ControlSummary& WithAliases(AliasesT&& value) { SetAliases(std::forward(value)); return *this;} + template + ControlSummary& AddAliases(AliasesT&& value) { m_aliasesHasBeenSet = true; m_aliases.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

        The display name of the control.

        @@ -123,11 +141,34 @@ namespace Model template ControlSummary& WithCreateTime(CreateTimeT&& value) { SetCreateTime(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        A list of Amazon Web Services resource types that are governed by this + * control. This information helps you understand which controls can govern certain + * types of resources, and conversely, which resources are affected when the + * control is implemented. The resources are represented as Amazon Web Services + * CloudFormation resource types. If GovernedResources cannot be + * represented by available CloudFormation resource types, it’s returned as an + * empty list.

        + */ + inline const Aws::Vector& GetGovernedResources() const { return m_governedResources; } + inline bool GovernedResourcesHasBeenSet() const { return m_governedResourcesHasBeenSet; } + template> + void SetGovernedResources(GovernedResourcesT&& value) { m_governedResourcesHasBeenSet = true; m_governedResources = std::forward(value); } + template> + ControlSummary& WithGovernedResources(GovernedResourcesT&& value) { SetGovernedResources(std::forward(value)); return *this;} + template + ControlSummary& AddGovernedResources(GovernedResourcesT&& value) { m_governedResourcesHasBeenSet = true; m_governedResources.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_arn; bool m_arnHasBeenSet = false; + Aws::Vector m_aliases; + bool m_aliasesHasBeenSet = false; + Aws::String m_name; bool m_nameHasBeenSet = false; @@ -145,6 +186,9 @@ namespace Model Aws::Utils::DateTime m_createTime{}; bool m_createTimeHasBeenSet = false; + + Aws::Vector m_governedResources; + bool m_governedResourcesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/FrameworkMappingDetails.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/FrameworkMappingDetails.h new file mode 100644 index 00000000000..844686d0017 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/FrameworkMappingDetails.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that contains details about a framework mapping, including the + * framework name and specific item within the framework that the control maps + * to.

        See Also:

        AWS + * API Reference

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

        The name of the compliance framework that the control maps to.

        + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + FrameworkMappingDetails& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The specific item or requirement within the framework that the control maps + * to.

        + */ + inline const Aws::String& GetItem() const { return m_item; } + inline bool ItemHasBeenSet() const { return m_itemHasBeenSet; } + template + void SetItem(ItemT&& value) { m_itemHasBeenSet = true; m_item = std::forward(value); } + template + FrameworkMappingDetails& WithItem(ItemT&& value) { SetItem(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_item; + bool m_itemHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/GetControlResult.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/GetControlResult.h index a689e0219af..f053988f349 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/GetControlResult.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/GetControlResult.h @@ -6,11 +6,11 @@ #pragma once #include #include +#include #include #include #include #include -#include #include #include #include @@ -50,6 +50,22 @@ namespace Model GetControlResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        A list of alternative identifiers for the control. These are human-readable + * designators, such as SH.S3.1. Several aliases can refer to the same + * control across different Amazon Web Services services or compliance + * frameworks.

        + */ + inline const Aws::Vector& GetAliases() const { return m_aliases; } + template> + void SetAliases(AliasesT&& value) { m_aliasesHasBeenSet = true; m_aliases = std::forward(value); } + template> + GetControlResult& WithAliases(AliasesT&& value) { SetAliases(std::forward(value)); return *this;} + template + GetControlResult& AddAliases(AliasesT&& value) { m_aliasesHasBeenSet = true; m_aliases.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

        The display name of the control.

        @@ -140,6 +156,25 @@ namespace Model GetControlResult& WithCreateTime(CreateTimeT&& value) { SetCreateTime(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        A list of Amazon Web Services resource types that are governed by this + * control. This information helps you understand which controls can govern certain + * types of resources, and conversely, which resources are affected when the + * control is implemented. The resources are represented as Amazon Web Services + * CloudFormation resource types. If GovernedResources cannot be + * represented by available CloudFormation resource types, it’s returned as an + * empty list.

        + */ + inline const Aws::Vector& GetGovernedResources() const { return m_governedResources; } + template> + void SetGovernedResources(GovernedResourcesT&& value) { m_governedResourcesHasBeenSet = true; m_governedResources = std::forward(value); } + template> + GetControlResult& WithGovernedResources(GovernedResourcesT&& value) { SetGovernedResources(std::forward(value)); return *this;} + template + GetControlResult& AddGovernedResources(GovernedResourcesT&& value) { m_governedResourcesHasBeenSet = true; m_governedResources.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -153,6 +188,9 @@ namespace Model Aws::String m_arn; bool m_arnHasBeenSet = false; + Aws::Vector m_aliases; + bool m_aliasesHasBeenSet = false; + Aws::String m_name; bool m_nameHasBeenSet = false; @@ -177,6 +215,9 @@ namespace Model Aws::Utils::DateTime m_createTime{}; bool m_createTimeHasBeenSet = false; + Aws::Vector m_governedResources; + bool m_governedResourcesHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ImplementationFilter.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ImplementationFilter.h new file mode 100644 index 00000000000..3dbd9b79b6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ImplementationFilter.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that defines filtering criteria for control implementations. You + * can use this filter to find controls that are implemented by specific Amazon Web + * Services services or with specific service identifiers.

        See Also:

        + * AWS + * API Reference

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

        A list of implementation types that can serve as filters. For example, you + * can filter for controls implemented as Amazon Web Services Config Rules by + * specifying AWS::Config::ConfigRule as a type.

        + */ + inline const Aws::Vector& GetTypes() const { return m_types; } + inline bool TypesHasBeenSet() const { return m_typesHasBeenSet; } + template> + void SetTypes(TypesT&& value) { m_typesHasBeenSet = true; m_types = std::forward(value); } + template> + ImplementationFilter& WithTypes(TypesT&& value) { SetTypes(std::forward(value)); return *this;} + template + ImplementationFilter& AddTypes(TypesT&& value) { m_typesHasBeenSet = true; m_types.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

        A list of service-specific identifiers that can serve as filters. For + * example, you can filter for controls with specific Amazon Web Services Config + * Rule IDs or Security Hub Control IDs.

        + */ + inline const Aws::Vector& GetIdentifiers() const { return m_identifiers; } + inline bool IdentifiersHasBeenSet() const { return m_identifiersHasBeenSet; } + template> + void SetIdentifiers(IdentifiersT&& value) { m_identifiersHasBeenSet = true; m_identifiers = std::forward(value); } + template> + ImplementationFilter& WithIdentifiers(IdentifiersT&& value) { SetIdentifiers(std::forward(value)); return *this;} + template + ImplementationFilter& AddIdentifiers(IdentifiersT&& value) { m_identifiersHasBeenSet = true; m_identifiers.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_types; + bool m_typesHasBeenSet = false; + + Aws::Vector m_identifiers; + bool m_identifiersHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListCommonControlsRequest.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListCommonControlsRequest.h index 6b9c9f71fdb..9bec3312cf9 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListCommonControlsRequest.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListCommonControlsRequest.h @@ -65,8 +65,7 @@ namespace Model /** *

        An optional filter that narrows the results to a specific objective.

        *

        This filter allows you to specify one objective ARN at a time. Passing - * multiple ARNs in the CommonControlFilter isn’t currently - * supported.

        + * multiple ARNs in the CommonControlFilter isn’t supported.

        */ inline const CommonControlFilter& GetCommonControlFilter() const { return m_commonControlFilter; } inline bool CommonControlFilterHasBeenSet() const { return m_commonControlFilterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlMappingsRequest.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlMappingsRequest.h new file mode 100644 index 00000000000..32d1d03804f --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlMappingsRequest.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ControlCatalog +{ +namespace Model +{ + + /** + */ + class ListControlMappingsRequest : public ControlCatalogRequest + { + public: + AWS_CONTROLCATALOG_API ListControlMappingsRequest() = default; + + // 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 "ListControlMappings"; } + + AWS_CONTROLCATALOG_API Aws::String SerializePayload() const override; + + AWS_CONTROLCATALOG_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The pagination token that's used to fetch the next set of results.

        + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListControlMappingsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The maximum number of results on a page or for an API request call.

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

        An optional filter that narrows the results to specific control mappings + * based on control ARNs, common control ARNs, or mapping types.

        + */ + inline const ControlMappingFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ListControlMappingsRequest& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + ControlMappingFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlMappingsResult.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlMappingsResult.h new file mode 100644 index 00000000000..23093003392 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlMappingsResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ControlCatalog +{ +namespace Model +{ + class ListControlMappingsResult + { + public: + AWS_CONTROLCATALOG_API ListControlMappingsResult() = default; + AWS_CONTROLCATALOG_API ListControlMappingsResult(const Aws::AmazonWebServiceResult& result); + AWS_CONTROLCATALOG_API ListControlMappingsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The list of control mappings that the ListControlMappings API returns.

        + */ + inline const Aws::Vector& GetControlMappings() const { return m_controlMappings; } + template> + void SetControlMappings(ControlMappingsT&& value) { m_controlMappingsHasBeenSet = true; m_controlMappings = std::forward(value); } + template> + ListControlMappingsResult& WithControlMappings(ControlMappingsT&& value) { SetControlMappings(std::forward(value)); return *this;} + template + ListControlMappingsResult& AddControlMappings(ControlMappingsT&& value) { m_controlMappingsHasBeenSet = true; m_controlMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

        The pagination token that's used to fetch the next set of results.

        + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListControlMappingsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListControlMappingsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_controlMappings; + bool m_controlMappingsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlsRequest.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlsRequest.h index a21dc4d90c9..48d7953f9ca 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlsRequest.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListControlsRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -59,6 +60,20 @@ namespace Model inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } inline ListControlsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} ///@} + + ///@{ + /** + *

        An optional filter that narrows the results to controls with specific + * implementation types or identifiers. If you don't provide a filter, the + * operation returns all available controls.

        + */ + inline const ControlFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ListControlsRequest& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} private: Aws::String m_nextToken; @@ -66,6 +81,9 @@ namespace Model int m_maxResults{0}; bool m_maxResultsHasBeenSet = false; + + ControlFilter m_filter; + bool m_filterHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListObjectivesRequest.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListObjectivesRequest.h index be2e7f33568..396a639126c 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListObjectivesRequest.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ListObjectivesRequest.h @@ -65,7 +65,7 @@ namespace Model /** *

        An optional filter that narrows the results to a specific domain.

        This * filter allows you to specify one domain ARN at a time. Passing multiple ARNs in - * the ObjectiveFilter isn’t currently supported.

        + * the ObjectiveFilter isn’t supported.

        */ inline const ObjectiveFilter& GetObjectiveFilter() const { return m_objectiveFilter; } inline bool ObjectiveFilterHasBeenSet() const { return m_objectiveFilterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/Mapping.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/Mapping.h new file mode 100644 index 00000000000..442f00271cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/Mapping.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 ControlCatalog +{ +namespace Model +{ + + /** + *

        A structure that contains the details of a mapping relationship, which can be + * either to a framework or to a common control.

        See Also:

        AWS + * API Reference

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

        The framework mapping details when the mapping type relates to a compliance + * framework.

        + */ + inline const FrameworkMappingDetails& GetFramework() const { return m_framework; } + inline bool FrameworkHasBeenSet() const { return m_frameworkHasBeenSet; } + template + void SetFramework(FrameworkT&& value) { m_frameworkHasBeenSet = true; m_framework = std::forward(value); } + template + Mapping& WithFramework(FrameworkT&& value) { SetFramework(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The common control mapping details when the mapping type relates to a common + * control.

        + */ + inline const CommonControlMappingDetails& GetCommonControl() const { return m_commonControl; } + inline bool CommonControlHasBeenSet() const { return m_commonControlHasBeenSet; } + template + void SetCommonControl(CommonControlT&& value) { m_commonControlHasBeenSet = true; m_commonControl = std::forward(value); } + template + Mapping& WithCommonControl(CommonControlT&& value) { SetCommonControl(std::forward(value)); return *this;} + ///@} + private: + + FrameworkMappingDetails m_framework; + bool m_frameworkHasBeenSet = false; + + CommonControlMappingDetails m_commonControl; + bool m_commonControlHasBeenSet = false; + }; + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/MappingType.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/MappingType.h new file mode 100644 index 00000000000..bd245447c14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/MappingType.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 ControlCatalog +{ +namespace Model +{ + enum class MappingType + { + NOT_SET, + FRAMEWORK, + COMMON_CONTROL + }; + +namespace MappingTypeMapper +{ +AWS_CONTROLCATALOG_API MappingType GetMappingTypeForName(const Aws::String& name); + +AWS_CONTROLCATALOG_API Aws::String GetNameForMappingType(MappingType value); +} // namespace MappingTypeMapper +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ObjectiveFilter.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ObjectiveFilter.h index c0feff25f52..c68946b1569 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ObjectiveFilter.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/ObjectiveFilter.h @@ -43,7 +43,7 @@ namespace Model /** *

        The domain that's used as filter criteria.

        You can use this parameter * to specify one domain ARN at a time. Passing multiple ARNs in the - * ObjectiveFilter isn’t currently supported.

        + * ObjectiveFilter isn’t supported.

        */ inline const Aws::Vector& GetDomains() const { return m_domains; } inline bool DomainsHasBeenSet() const { return m_domainsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/RegionConfiguration.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/RegionConfiguration.h index 0913ccb7d36..49cb10c0088 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/RegionConfiguration.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/model/RegionConfiguration.h @@ -27,8 +27,8 @@ namespace Model /** *

        Returns information about the control, including the scope of the control, if - * enabled, and the Regions in which the control currently is available for - * deployment. For more information about scope, see Global * services.

        If you are applying controls through an Amazon Web Services * Control Tower landing zone environment, remember that the values returned in the diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp index fe6977ddc75..1a15d810087 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -223,6 +224,33 @@ ListCommonControlsOutcome ControlCatalogClient::ListCommonControls(const ListCom {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListControlMappingsOutcome ControlCatalogClient::ListControlMappings(const ListControlMappingsRequest& request) const +{ + AWS_OPERATION_GUARD(ListControlMappings); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListControlMappings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListControlMappings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListControlMappings, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListControlMappings", + {{ 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( + [&]()-> ListControlMappingsOutcome { + 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, ListControlMappings, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/list-control-mappings"); + return ListControlMappingsOutcome(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()}}); +} + ListControlsOutcome ControlCatalogClient::ListControls(const ListControlsRequest& request) const { AWS_OPERATION_GUARD(ListControls); diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/CommonControlMappingDetails.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/CommonControlMappingDetails.cpp new file mode 100644 index 00000000000..03767530fb3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/CommonControlMappingDetails.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ControlCatalog +{ +namespace Model +{ + +CommonControlMappingDetails::CommonControlMappingDetails(JsonView jsonValue) +{ + *this = jsonValue; +} + +CommonControlMappingDetails& CommonControlMappingDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CommonControlArn")) + { + m_commonControlArn = jsonValue.GetString("CommonControlArn"); + m_commonControlArnHasBeenSet = true; + } + return *this; +} + +JsonValue CommonControlMappingDetails::Jsonize() const +{ + JsonValue payload; + + if(m_commonControlArnHasBeenSet) + { + payload.WithString("CommonControlArn", m_commonControlArn); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlFilter.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlFilter.cpp new file mode 100644 index 00000000000..6c5e75931f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlFilter.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ControlCatalog +{ +namespace Model +{ + +ControlFilter::ControlFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ControlFilter& ControlFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Implementations")) + { + m_implementations = jsonValue.GetObject("Implementations"); + m_implementationsHasBeenSet = true; + } + return *this; +} + +JsonValue ControlFilter::Jsonize() const +{ + JsonValue payload; + + if(m_implementationsHasBeenSet) + { + payload.WithObject("Implementations", m_implementations.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlMapping.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlMapping.cpp new file mode 100644 index 00000000000..66105273d04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlMapping.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ControlCatalog +{ +namespace Model +{ + +ControlMapping::ControlMapping(JsonView jsonValue) +{ + *this = jsonValue; +} + +ControlMapping& ControlMapping::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ControlArn")) + { + m_controlArn = jsonValue.GetString("ControlArn"); + m_controlArnHasBeenSet = true; + } + if(jsonValue.ValueExists("MappingType")) + { + m_mappingType = MappingTypeMapper::GetMappingTypeForName(jsonValue.GetString("MappingType")); + m_mappingTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Mapping")) + { + m_mapping = jsonValue.GetObject("Mapping"); + m_mappingHasBeenSet = true; + } + return *this; +} + +JsonValue ControlMapping::Jsonize() const +{ + JsonValue payload; + + if(m_controlArnHasBeenSet) + { + payload.WithString("ControlArn", m_controlArn); + + } + + if(m_mappingTypeHasBeenSet) + { + payload.WithString("MappingType", MappingTypeMapper::GetNameForMappingType(m_mappingType)); + } + + if(m_mappingHasBeenSet) + { + payload.WithObject("Mapping", m_mapping.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlMappingFilter.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlMappingFilter.cpp new file mode 100644 index 00000000000..da238d2543f --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlMappingFilter.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ControlCatalog +{ +namespace Model +{ + +ControlMappingFilter::ControlMappingFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ControlMappingFilter& ControlMappingFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ControlArns")) + { + Aws::Utils::Array controlArnsJsonList = jsonValue.GetArray("ControlArns"); + for(unsigned controlArnsIndex = 0; controlArnsIndex < controlArnsJsonList.GetLength(); ++controlArnsIndex) + { + m_controlArns.push_back(controlArnsJsonList[controlArnsIndex].AsString()); + } + m_controlArnsHasBeenSet = true; + } + if(jsonValue.ValueExists("CommonControlArns")) + { + Aws::Utils::Array commonControlArnsJsonList = jsonValue.GetArray("CommonControlArns"); + for(unsigned commonControlArnsIndex = 0; commonControlArnsIndex < commonControlArnsJsonList.GetLength(); ++commonControlArnsIndex) + { + m_commonControlArns.push_back(commonControlArnsJsonList[commonControlArnsIndex].AsString()); + } + m_commonControlArnsHasBeenSet = true; + } + if(jsonValue.ValueExists("MappingTypes")) + { + Aws::Utils::Array mappingTypesJsonList = jsonValue.GetArray("MappingTypes"); + for(unsigned mappingTypesIndex = 0; mappingTypesIndex < mappingTypesJsonList.GetLength(); ++mappingTypesIndex) + { + m_mappingTypes.push_back(MappingTypeMapper::GetMappingTypeForName(mappingTypesJsonList[mappingTypesIndex].AsString())); + } + m_mappingTypesHasBeenSet = true; + } + return *this; +} + +JsonValue ControlMappingFilter::Jsonize() const +{ + JsonValue payload; + + if(m_controlArnsHasBeenSet) + { + Aws::Utils::Array controlArnsJsonList(m_controlArns.size()); + for(unsigned controlArnsIndex = 0; controlArnsIndex < controlArnsJsonList.GetLength(); ++controlArnsIndex) + { + controlArnsJsonList[controlArnsIndex].AsString(m_controlArns[controlArnsIndex]); + } + payload.WithArray("ControlArns", std::move(controlArnsJsonList)); + + } + + if(m_commonControlArnsHasBeenSet) + { + Aws::Utils::Array commonControlArnsJsonList(m_commonControlArns.size()); + for(unsigned commonControlArnsIndex = 0; commonControlArnsIndex < commonControlArnsJsonList.GetLength(); ++commonControlArnsIndex) + { + commonControlArnsJsonList[commonControlArnsIndex].AsString(m_commonControlArns[commonControlArnsIndex]); + } + payload.WithArray("CommonControlArns", std::move(commonControlArnsJsonList)); + + } + + if(m_mappingTypesHasBeenSet) + { + Aws::Utils::Array mappingTypesJsonList(m_mappingTypes.size()); + for(unsigned mappingTypesIndex = 0; mappingTypesIndex < mappingTypesJsonList.GetLength(); ++mappingTypesIndex) + { + mappingTypesJsonList[mappingTypesIndex].AsString(MappingTypeMapper::GetNameForMappingType(m_mappingTypes[mappingTypesIndex])); + } + payload.WithArray("MappingTypes", std::move(mappingTypesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlSummary.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlSummary.cpp index ce68babc366..a7120e96f7f 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlSummary.cpp +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ControlSummary.cpp @@ -30,6 +30,15 @@ ControlSummary& ControlSummary::operator =(JsonView jsonValue) m_arn = jsonValue.GetString("Arn"); m_arnHasBeenSet = true; } + if(jsonValue.ValueExists("Aliases")) + { + Aws::Utils::Array aliasesJsonList = jsonValue.GetArray("Aliases"); + for(unsigned aliasesIndex = 0; aliasesIndex < aliasesJsonList.GetLength(); ++aliasesIndex) + { + m_aliases.push_back(aliasesJsonList[aliasesIndex].AsString()); + } + m_aliasesHasBeenSet = true; + } if(jsonValue.ValueExists("Name")) { m_name = jsonValue.GetString("Name"); @@ -60,6 +69,15 @@ ControlSummary& ControlSummary::operator =(JsonView jsonValue) m_createTime = jsonValue.GetDouble("CreateTime"); m_createTimeHasBeenSet = true; } + if(jsonValue.ValueExists("GovernedResources")) + { + Aws::Utils::Array governedResourcesJsonList = jsonValue.GetArray("GovernedResources"); + for(unsigned governedResourcesIndex = 0; governedResourcesIndex < governedResourcesJsonList.GetLength(); ++governedResourcesIndex) + { + m_governedResources.push_back(governedResourcesJsonList[governedResourcesIndex].AsString()); + } + m_governedResourcesHasBeenSet = true; + } return *this; } @@ -73,6 +91,17 @@ JsonValue ControlSummary::Jsonize() const } + if(m_aliasesHasBeenSet) + { + Aws::Utils::Array aliasesJsonList(m_aliases.size()); + for(unsigned aliasesIndex = 0; aliasesIndex < aliasesJsonList.GetLength(); ++aliasesIndex) + { + aliasesJsonList[aliasesIndex].AsString(m_aliases[aliasesIndex]); + } + payload.WithArray("Aliases", std::move(aliasesJsonList)); + + } + if(m_nameHasBeenSet) { payload.WithString("Name", m_name); @@ -106,6 +135,17 @@ JsonValue ControlSummary::Jsonize() const payload.WithDouble("CreateTime", m_createTime.SecondsWithMSPrecision()); } + if(m_governedResourcesHasBeenSet) + { + Aws::Utils::Array governedResourcesJsonList(m_governedResources.size()); + for(unsigned governedResourcesIndex = 0; governedResourcesIndex < governedResourcesJsonList.GetLength(); ++governedResourcesIndex) + { + governedResourcesJsonList[governedResourcesIndex].AsString(m_governedResources[governedResourcesIndex]); + } + payload.WithArray("GovernedResources", std::move(governedResourcesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/FrameworkMappingDetails.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/FrameworkMappingDetails.cpp new file mode 100644 index 00000000000..828ec72c46f --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/FrameworkMappingDetails.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ControlCatalog +{ +namespace Model +{ + +FrameworkMappingDetails::FrameworkMappingDetails(JsonView jsonValue) +{ + *this = jsonValue; +} + +FrameworkMappingDetails& FrameworkMappingDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Item")) + { + m_item = jsonValue.GetString("Item"); + m_itemHasBeenSet = true; + } + return *this; +} + +JsonValue FrameworkMappingDetails::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_itemHasBeenSet) + { + payload.WithString("Item", m_item); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/GetControlResult.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/GetControlResult.cpp index d61fa9834d2..36a1dcd29ff 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/source/model/GetControlResult.cpp +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/GetControlResult.cpp @@ -30,6 +30,15 @@ GetControlResult& GetControlResult::operator =(const Aws::AmazonWebServiceResult m_arn = jsonValue.GetString("Arn"); m_arnHasBeenSet = true; } + if(jsonValue.ValueExists("Aliases")) + { + Aws::Utils::Array aliasesJsonList = jsonValue.GetArray("Aliases"); + for(unsigned aliasesIndex = 0; aliasesIndex < aliasesJsonList.GetLength(); ++aliasesIndex) + { + m_aliases.push_back(aliasesJsonList[aliasesIndex].AsString()); + } + m_aliasesHasBeenSet = true; + } if(jsonValue.ValueExists("Name")) { m_name = jsonValue.GetString("Name"); @@ -74,6 +83,15 @@ GetControlResult& GetControlResult::operator =(const Aws::AmazonWebServiceResult m_createTime = jsonValue.GetDouble("CreateTime"); m_createTimeHasBeenSet = true; } + if(jsonValue.ValueExists("GovernedResources")) + { + Aws::Utils::Array governedResourcesJsonList = jsonValue.GetArray("GovernedResources"); + for(unsigned governedResourcesIndex = 0; governedResourcesIndex < governedResourcesJsonList.GetLength(); ++governedResourcesIndex) + { + m_governedResources.push_back(governedResourcesJsonList[governedResourcesIndex].AsString()); + } + m_governedResourcesHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ImplementationFilter.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ImplementationFilter.cpp new file mode 100644 index 00000000000..aacd6f5461b --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ImplementationFilter.cpp @@ -0,0 +1,80 @@ +/** + * 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 ControlCatalog +{ +namespace Model +{ + +ImplementationFilter::ImplementationFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ImplementationFilter& ImplementationFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Types")) + { + Aws::Utils::Array typesJsonList = jsonValue.GetArray("Types"); + for(unsigned typesIndex = 0; typesIndex < typesJsonList.GetLength(); ++typesIndex) + { + m_types.push_back(typesJsonList[typesIndex].AsString()); + } + m_typesHasBeenSet = true; + } + if(jsonValue.ValueExists("Identifiers")) + { + Aws::Utils::Array identifiersJsonList = jsonValue.GetArray("Identifiers"); + for(unsigned identifiersIndex = 0; identifiersIndex < identifiersJsonList.GetLength(); ++identifiersIndex) + { + m_identifiers.push_back(identifiersJsonList[identifiersIndex].AsString()); + } + m_identifiersHasBeenSet = true; + } + return *this; +} + +JsonValue ImplementationFilter::Jsonize() const +{ + JsonValue payload; + + if(m_typesHasBeenSet) + { + Aws::Utils::Array typesJsonList(m_types.size()); + for(unsigned typesIndex = 0; typesIndex < typesJsonList.GetLength(); ++typesIndex) + { + typesJsonList[typesIndex].AsString(m_types[typesIndex]); + } + payload.WithArray("Types", std::move(typesJsonList)); + + } + + if(m_identifiersHasBeenSet) + { + Aws::Utils::Array identifiersJsonList(m_identifiers.size()); + for(unsigned identifiersIndex = 0; identifiersIndex < identifiersJsonList.GetLength(); ++identifiersIndex) + { + identifiersJsonList[identifiersIndex].AsString(m_identifiers[identifiersIndex]); + } + payload.WithArray("Identifiers", std::move(identifiersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlMappingsRequest.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlMappingsRequest.cpp new file mode 100644 index 00000000000..b7e1cabaa29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlMappingsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ControlCatalog::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListControlMappingsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +void ListControlMappingsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlMappingsResult.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlMappingsResult.cpp new file mode 100644 index 00000000000..689e70217f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlMappingsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::ControlCatalog::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListControlMappingsResult::ListControlMappingsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListControlMappingsResult& ListControlMappingsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ControlMappings")) + { + Aws::Utils::Array controlMappingsJsonList = jsonValue.GetArray("ControlMappings"); + for(unsigned controlMappingsIndex = 0; controlMappingsIndex < controlMappingsJsonList.GetLength(); ++controlMappingsIndex) + { + m_controlMappings.push_back(controlMappingsJsonList[controlMappingsIndex].AsObject()); + } + m_controlMappingsHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlsRequest.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlsRequest.cpp index 1dc7d6f8684..7af0bf831c7 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlsRequest.cpp +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/ListControlsRequest.cpp @@ -17,7 +17,15 @@ using namespace Aws::Http; Aws::String ListControlsRequest::SerializePayload() const { - return {}; + JsonValue payload; + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload.View().WriteReadable(); } void ListControlsRequest::AddQueryStringParameters(URI& uri) const diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/Mapping.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/Mapping.cpp new file mode 100644 index 00000000000..b2492667050 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/Mapping.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ControlCatalog +{ +namespace Model +{ + +Mapping::Mapping(JsonView jsonValue) +{ + *this = jsonValue; +} + +Mapping& Mapping::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Framework")) + { + m_framework = jsonValue.GetObject("Framework"); + m_frameworkHasBeenSet = true; + } + if(jsonValue.ValueExists("CommonControl")) + { + m_commonControl = jsonValue.GetObject("CommonControl"); + m_commonControlHasBeenSet = true; + } + return *this; +} + +JsonValue Mapping::Jsonize() const +{ + JsonValue payload; + + if(m_frameworkHasBeenSet) + { + payload.WithObject("Framework", m_framework.Jsonize()); + + } + + if(m_commonControlHasBeenSet) + { + payload.WithObject("CommonControl", m_commonControl.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/model/MappingType.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/model/MappingType.cpp new file mode 100644 index 00000000000..5ec50584a6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/model/MappingType.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 ControlCatalog + { + namespace Model + { + namespace MappingTypeMapper + { + + static const int FRAMEWORK_HASH = HashingUtils::HashString("FRAMEWORK"); + static const int COMMON_CONTROL_HASH = HashingUtils::HashString("COMMON_CONTROL"); + + + MappingType GetMappingTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FRAMEWORK_HASH) + { + return MappingType::FRAMEWORK; + } + else if (hashCode == COMMON_CONTROL_HASH) + { + return MappingType::COMMON_CONTROL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MappingType::NOT_SET; + } + + Aws::String GetNameForMappingType(MappingType enumValue) + { + switch(enumValue) + { + case MappingType::NOT_SET: + return {}; + case MappingType::FRAMEWORK: + return "FRAMEWORK"; + case MappingType::COMMON_CONTROL: + return "COMMON_CONTROL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MappingTypeMapper + } // namespace Model + } // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h index 49349859cbd..a3d99d17beb 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h @@ -244,6 +244,32 @@ namespace CustomerProfiles return SubmitAsync(&CustomerProfilesClient::CreateDomain, request, handler, context); } + /** + *

        Creates the layout to view data for a specific domain. This API can only be + * invoked from the Amazon Connect admin website.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::CreateDomainLayoutOutcome CreateDomainLayout(const Model::CreateDomainLayoutRequest& request) const; + + /** + * A Callable wrapper for CreateDomainLayout that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateDomainLayoutOutcomeCallable CreateDomainLayoutCallable(const CreateDomainLayoutRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::CreateDomainLayout, request); + } + + /** + * An Async wrapper for CreateDomainLayout that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateDomainLayoutAsync(const CreateDomainLayoutRequestT& request, const CreateDomainLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::CreateDomainLayout, request, handler, context); + } + /** *

        Creates an event stream, which is a subscription to real-time events, such as * when profiles are created and updated through Amazon Connect Customer @@ -488,6 +514,32 @@ namespace CustomerProfiles return SubmitAsync(&CustomerProfilesClient::DeleteDomain, request, handler, context); } + /** + *

        Deletes the layout used to view data for a specific domain. This API can only + * be invoked from the Amazon Connect admin website.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::DeleteDomainLayoutOutcome DeleteDomainLayout(const Model::DeleteDomainLayoutRequest& request) const; + + /** + * A Callable wrapper for DeleteDomainLayout that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteDomainLayoutOutcomeCallable DeleteDomainLayoutCallable(const DeleteDomainLayoutRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::DeleteDomainLayout, request); + } + + /** + * An Async wrapper for DeleteDomainLayout that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteDomainLayoutAsync(const DeleteDomainLayoutRequestT& request, const DeleteDomainLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::DeleteDomainLayout, request, handler, context); + } + /** *

        Disables and deletes the specified event stream.

        See Also:

        * Gets the layout to view data for a specific domain. This API can only be + * invoked from the Amazon Connect admin website.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::GetDomainLayoutOutcome GetDomainLayout(const Model::GetDomainLayoutRequest& request) const; + + /** + * A Callable wrapper for GetDomainLayout that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetDomainLayoutOutcomeCallable GetDomainLayoutCallable(const GetDomainLayoutRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::GetDomainLayout, request); + } + + /** + * An Async wrapper for GetDomainLayout that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetDomainLayoutAsync(const GetDomainLayoutRequestT& request, const GetDomainLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::GetDomainLayout, request, handler, context); + } + /** *

        Returns information about the specified event stream in a specific * domain.

        See Also:

        Lists the existing layouts that can be used to view data for a specific + * domain. This API can only be invoked from the Amazon Connect admin + * website.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::ListDomainLayoutsOutcome ListDomainLayouts(const Model::ListDomainLayoutsRequest& request) const; + + /** + * A Callable wrapper for ListDomainLayouts that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListDomainLayoutsOutcomeCallable ListDomainLayoutsCallable(const ListDomainLayoutsRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::ListDomainLayouts, request); + } + + /** + * An Async wrapper for ListDomainLayouts that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListDomainLayoutsAsync(const ListDomainLayoutsRequestT& request, const ListDomainLayoutsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::ListDomainLayouts, request, handler, context); + } + /** *

        Returns a list of all the domains for an AWS account that have been * created.

        See Also:

        Updates the layout used to view data for a specific domain. This API can only + * be invoked from the Amazon Connect admin website.

        See Also:

        AWS + * API Reference

        + */ + virtual Model::UpdateDomainLayoutOutcome UpdateDomainLayout(const Model::UpdateDomainLayoutRequest& request) const; + + /** + * A Callable wrapper for UpdateDomainLayout that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateDomainLayoutOutcomeCallable UpdateDomainLayoutCallable(const UpdateDomainLayoutRequestT& request) const + { + return SubmitCallable(&CustomerProfilesClient::UpdateDomainLayout, request); + } + + /** + * An Async wrapper for UpdateDomainLayout that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateDomainLayoutAsync(const UpdateDomainLayoutRequestT& request, const UpdateDomainLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&CustomerProfilesClient::UpdateDomainLayout, request, handler, context); + } + /** *

        Update the properties of an Event Trigger.

        See Also:

        AWS diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h index 0a1e548f5c5..a5b3dd2be22 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -46,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +66,7 @@ #include #include #include +#include #include #include #include @@ -86,6 +90,7 @@ #include #include #include +#include #include #include #include @@ -135,6 +140,7 @@ namespace Aws class BatchGetProfileRequest; class CreateCalculatedAttributeDefinitionRequest; class CreateDomainRequest; + class CreateDomainLayoutRequest; class CreateEventStreamRequest; class CreateEventTriggerRequest; class CreateIntegrationWorkflowRequest; @@ -144,6 +150,7 @@ namespace Aws class CreateSegmentSnapshotRequest; class DeleteCalculatedAttributeDefinitionRequest; class DeleteDomainRequest; + class DeleteDomainLayoutRequest; class DeleteEventStreamRequest; class DeleteEventTriggerRequest; class DeleteIntegrationRequest; @@ -158,6 +165,7 @@ namespace Aws class GetCalculatedAttributeDefinitionRequest; class GetCalculatedAttributeForProfileRequest; class GetDomainRequest; + class GetDomainLayoutRequest; class GetEventStreamRequest; class GetEventTriggerRequest; class GetIdentityResolutionJobRequest; @@ -175,6 +183,7 @@ namespace Aws class ListAccountIntegrationsRequest; class ListCalculatedAttributeDefinitionsRequest; class ListCalculatedAttributesForProfileRequest; + class ListDomainLayoutsRequest; class ListDomainsRequest; class ListEventStreamsRequest; class ListEventTriggersRequest; @@ -198,6 +207,7 @@ namespace Aws class UntagResourceRequest; class UpdateCalculatedAttributeDefinitionRequest; class UpdateDomainRequest; + class UpdateDomainLayoutRequest; class UpdateEventTriggerRequest; class UpdateProfileRequest; /* End of service model forward declarations required in CustomerProfilesClient header */ @@ -208,6 +218,7 @@ namespace Aws typedef Aws::Utils::Outcome BatchGetProfileOutcome; typedef Aws::Utils::Outcome CreateCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome CreateDomainOutcome; + typedef Aws::Utils::Outcome CreateDomainLayoutOutcome; typedef Aws::Utils::Outcome CreateEventStreamOutcome; typedef Aws::Utils::Outcome CreateEventTriggerOutcome; typedef Aws::Utils::Outcome CreateIntegrationWorkflowOutcome; @@ -217,6 +228,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateSegmentSnapshotOutcome; typedef Aws::Utils::Outcome DeleteCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome DeleteDomainOutcome; + typedef Aws::Utils::Outcome DeleteDomainLayoutOutcome; typedef Aws::Utils::Outcome DeleteEventStreamOutcome; typedef Aws::Utils::Outcome DeleteEventTriggerOutcome; typedef Aws::Utils::Outcome DeleteIntegrationOutcome; @@ -231,6 +243,7 @@ namespace Aws typedef Aws::Utils::Outcome GetCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome GetCalculatedAttributeForProfileOutcome; typedef Aws::Utils::Outcome GetDomainOutcome; + typedef Aws::Utils::Outcome GetDomainLayoutOutcome; typedef Aws::Utils::Outcome GetEventStreamOutcome; typedef Aws::Utils::Outcome GetEventTriggerOutcome; typedef Aws::Utils::Outcome GetIdentityResolutionJobOutcome; @@ -248,6 +261,7 @@ namespace Aws typedef Aws::Utils::Outcome ListAccountIntegrationsOutcome; typedef Aws::Utils::Outcome ListCalculatedAttributeDefinitionsOutcome; typedef Aws::Utils::Outcome ListCalculatedAttributesForProfileOutcome; + typedef Aws::Utils::Outcome ListDomainLayoutsOutcome; typedef Aws::Utils::Outcome ListDomainsOutcome; typedef Aws::Utils::Outcome ListEventStreamsOutcome; typedef Aws::Utils::Outcome ListEventTriggersOutcome; @@ -271,6 +285,7 @@ namespace Aws typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateCalculatedAttributeDefinitionOutcome; typedef Aws::Utils::Outcome UpdateDomainOutcome; + typedef Aws::Utils::Outcome UpdateDomainLayoutOutcome; typedef Aws::Utils::Outcome UpdateEventTriggerOutcome; typedef Aws::Utils::Outcome UpdateProfileOutcome; /* End of service model Outcome class definitions */ @@ -281,6 +296,7 @@ namespace Aws typedef std::future BatchGetProfileOutcomeCallable; typedef std::future CreateCalculatedAttributeDefinitionOutcomeCallable; typedef std::future CreateDomainOutcomeCallable; + typedef std::future CreateDomainLayoutOutcomeCallable; typedef std::future CreateEventStreamOutcomeCallable; typedef std::future CreateEventTriggerOutcomeCallable; typedef std::future CreateIntegrationWorkflowOutcomeCallable; @@ -290,6 +306,7 @@ namespace Aws typedef std::future CreateSegmentSnapshotOutcomeCallable; typedef std::future DeleteCalculatedAttributeDefinitionOutcomeCallable; typedef std::future DeleteDomainOutcomeCallable; + typedef std::future DeleteDomainLayoutOutcomeCallable; typedef std::future DeleteEventStreamOutcomeCallable; typedef std::future DeleteEventTriggerOutcomeCallable; typedef std::future DeleteIntegrationOutcomeCallable; @@ -304,6 +321,7 @@ namespace Aws typedef std::future GetCalculatedAttributeDefinitionOutcomeCallable; typedef std::future GetCalculatedAttributeForProfileOutcomeCallable; typedef std::future GetDomainOutcomeCallable; + typedef std::future GetDomainLayoutOutcomeCallable; typedef std::future GetEventStreamOutcomeCallable; typedef std::future GetEventTriggerOutcomeCallable; typedef std::future GetIdentityResolutionJobOutcomeCallable; @@ -321,6 +339,7 @@ namespace Aws typedef std::future ListAccountIntegrationsOutcomeCallable; typedef std::future ListCalculatedAttributeDefinitionsOutcomeCallable; typedef std::future ListCalculatedAttributesForProfileOutcomeCallable; + typedef std::future ListDomainLayoutsOutcomeCallable; typedef std::future ListDomainsOutcomeCallable; typedef std::future ListEventStreamsOutcomeCallable; typedef std::future ListEventTriggersOutcomeCallable; @@ -344,6 +363,7 @@ namespace Aws typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateCalculatedAttributeDefinitionOutcomeCallable; typedef std::future UpdateDomainOutcomeCallable; + typedef std::future UpdateDomainLayoutOutcomeCallable; typedef std::future UpdateEventTriggerOutcomeCallable; typedef std::future UpdateProfileOutcomeCallable; /* End of service model Outcome callable definitions */ @@ -357,6 +377,7 @@ namespace Aws typedef std::function&) > BatchGetProfileResponseReceivedHandler; typedef std::function&) > CreateCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > CreateDomainResponseReceivedHandler; + typedef std::function&) > CreateDomainLayoutResponseReceivedHandler; typedef std::function&) > CreateEventStreamResponseReceivedHandler; typedef std::function&) > CreateEventTriggerResponseReceivedHandler; typedef std::function&) > CreateIntegrationWorkflowResponseReceivedHandler; @@ -366,6 +387,7 @@ namespace Aws typedef std::function&) > CreateSegmentSnapshotResponseReceivedHandler; typedef std::function&) > DeleteCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > DeleteDomainResponseReceivedHandler; + typedef std::function&) > DeleteDomainLayoutResponseReceivedHandler; typedef std::function&) > DeleteEventStreamResponseReceivedHandler; typedef std::function&) > DeleteEventTriggerResponseReceivedHandler; typedef std::function&) > DeleteIntegrationResponseReceivedHandler; @@ -380,6 +402,7 @@ namespace Aws typedef std::function&) > GetCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > GetCalculatedAttributeForProfileResponseReceivedHandler; typedef std::function&) > GetDomainResponseReceivedHandler; + typedef std::function&) > GetDomainLayoutResponseReceivedHandler; typedef std::function&) > GetEventStreamResponseReceivedHandler; typedef std::function&) > GetEventTriggerResponseReceivedHandler; typedef std::function&) > GetIdentityResolutionJobResponseReceivedHandler; @@ -397,6 +420,7 @@ namespace Aws typedef std::function&) > ListAccountIntegrationsResponseReceivedHandler; typedef std::function&) > ListCalculatedAttributeDefinitionsResponseReceivedHandler; typedef std::function&) > ListCalculatedAttributesForProfileResponseReceivedHandler; + typedef std::function&) > ListDomainLayoutsResponseReceivedHandler; typedef std::function&) > ListDomainsResponseReceivedHandler; typedef std::function&) > ListEventStreamsResponseReceivedHandler; typedef std::function&) > ListEventTriggersResponseReceivedHandler; @@ -420,6 +444,7 @@ namespace Aws typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateCalculatedAttributeDefinitionResponseReceivedHandler; typedef std::function&) > UpdateDomainResponseReceivedHandler; + typedef std::function&) > UpdateDomainLayoutResponseReceivedHandler; typedef std::function&) > UpdateEventTriggerResponseReceivedHandler; typedef std::function&) > UpdateProfileResponseReceivedHandler; /* End of service model async handlers definitions */ diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CalculatedAttributeValue.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CalculatedAttributeValue.h index 75e1892c59c..fdfd6fc4826 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CalculatedAttributeValue.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CalculatedAttributeValue.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -98,6 +99,19 @@ namespace Model template CalculatedAttributeValue& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The timestamp of the newest object included in the calculated attribute + * calculation.

        + */ + inline const Aws::Utils::DateTime& GetLastObjectTimestamp() const { return m_lastObjectTimestamp; } + inline bool LastObjectTimestampHasBeenSet() const { return m_lastObjectTimestampHasBeenSet; } + template + void SetLastObjectTimestamp(LastObjectTimestampT&& value) { m_lastObjectTimestampHasBeenSet = true; m_lastObjectTimestamp = std::forward(value); } + template + CalculatedAttributeValue& WithLastObjectTimestamp(LastObjectTimestampT&& value) { SetLastObjectTimestamp(std::forward(value)); return *this;} + ///@} private: Aws::String m_calculatedAttributeName; @@ -114,6 +128,9 @@ namespace Model Aws::String m_value; bool m_valueHasBeenSet = false; + + Aws::Utils::DateTime m_lastObjectTimestamp{}; + bool m_lastObjectTimestampHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionRequest.h index a8e590a2bbf..6478a588476 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionRequest.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionRequest.h @@ -134,6 +134,17 @@ namespace Model inline CreateCalculatedAttributeDefinitionRequest& WithStatistic(Statistic value) { SetStatistic(value); return *this;} ///@} + ///@{ + /** + *

        Whether historical data ingested before the Calculated Attribute was created + * should be included in calculations.

        + */ + inline bool GetUseHistoricalData() const { return m_useHistoricalData; } + inline bool UseHistoricalDataHasBeenSet() const { return m_useHistoricalDataHasBeenSet; } + inline void SetUseHistoricalData(bool value) { m_useHistoricalDataHasBeenSet = true; m_useHistoricalData = value; } + inline CreateCalculatedAttributeDefinitionRequest& WithUseHistoricalData(bool value) { SetUseHistoricalData(value); return *this;} + ///@} + ///@{ /** *

        The tags used to organize, track, or control access for this resource.

        @@ -175,6 +186,9 @@ namespace Model Statistic m_statistic{Statistic::NOT_SET}; bool m_statisticHasBeenSet = false; + bool m_useHistoricalData{false}; + bool m_useHistoricalDataHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionResult.h index 63d29854620..8c15ac1c761 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionResult.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateCalculatedAttributeDefinitionResult.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -138,6 +140,38 @@ namespace Model CreateCalculatedAttributeDefinitionResult& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Whether historical data ingested before the Calculated Attribute was created + * should be included in calculations.

        + */ + inline bool GetUseHistoricalData() const { return m_useHistoricalData; } + inline void SetUseHistoricalData(bool value) { m_useHistoricalDataHasBeenSet = true; m_useHistoricalData = value; } + inline CreateCalculatedAttributeDefinitionResult& WithUseHistoricalData(bool value) { SetUseHistoricalData(value); return *this;} + ///@} + + ///@{ + /** + *

        Status of the Calculated Attribute creation (whether all historical data has + * been indexed.)

        + */ + inline ReadinessStatus GetStatus() const { return m_status; } + inline void SetStatus(ReadinessStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline CreateCalculatedAttributeDefinitionResult& WithStatus(ReadinessStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

        Information indicating if the Calculated Attribute is ready for use by + * confirming all historical data has been processed and reflected.

        + */ + inline const Readiness& GetReadiness() const { return m_readiness; } + template + void SetReadiness(ReadinessT&& value) { m_readinessHasBeenSet = true; m_readiness = std::forward(value); } + template + CreateCalculatedAttributeDefinitionResult& WithReadiness(ReadinessT&& value) { SetReadiness(std::forward(value)); return *this;} + ///@} + ///@{ /** *

        The tags used to organize, track, or control access for this resource.

        @@ -190,6 +224,15 @@ namespace Model Aws::Utils::DateTime m_lastUpdatedAt{}; bool m_lastUpdatedAtHasBeenSet = false; + bool m_useHistoricalData{false}; + bool m_useHistoricalDataHasBeenSet = false; + + ReadinessStatus m_status{ReadinessStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Readiness m_readiness; + bool m_readinessHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutRequest.h new file mode 100644 index 00000000000..e99bc64fdd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutRequest.h @@ -0,0 +1,165 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class CreateDomainLayoutRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API CreateDomainLayoutRequest() = default; + + // 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 "CreateDomainLayout"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The unique name of the domain.

        + */ + inline const Aws::String& GetDomainName() const { return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + template + void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward(value); } + template + CreateDomainLayoutRequest& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + inline bool LayoutDefinitionNameHasBeenSet() const { return m_layoutDefinitionNameHasBeenSet; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + CreateDomainLayoutRequest& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the layout

        + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateDomainLayoutRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The display name of the layout

        + */ + inline const Aws::String& GetDisplayName() const { return m_displayName; } + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + template + void SetDisplayName(DisplayNameT&& value) { m_displayNameHasBeenSet = true; m_displayName = std::forward(value); } + template + CreateDomainLayoutRequest& WithDisplayName(DisplayNameT&& value) { SetDisplayName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        If set to true for a layout, this layout will be used by default to view + * data. If set to false, then the layout will not be used by default, but it can + * be used to view data by explicitly selecting it in the console.

        + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline CreateDomainLayoutRequest& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline LayoutType GetLayoutType() const { return m_layoutType; } + inline bool LayoutTypeHasBeenSet() const { return m_layoutTypeHasBeenSet; } + inline void SetLayoutType(LayoutType value) { m_layoutTypeHasBeenSet = true; m_layoutType = value; } + inline CreateDomainLayoutRequest& WithLayoutType(LayoutType value) { SetLayoutType(value); return *this;} + ///@} + + ///@{ + /** + *

        A customizable layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline const Aws::String& GetLayout() const { return m_layout; } + inline bool LayoutHasBeenSet() const { return m_layoutHasBeenSet; } + template + void SetLayout(LayoutT&& value) { m_layoutHasBeenSet = true; m_layout = std::forward(value); } + template + CreateDomainLayoutRequest& WithLayout(LayoutT&& value) { SetLayout(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags used to organize, track, or control access for this resource.

        + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateDomainLayoutRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateDomainLayoutRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + LayoutType m_layoutType{LayoutType::NOT_SET}; + bool m_layoutTypeHasBeenSet = false; + + Aws::String m_layout; + bool m_layoutHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutResult.h new file mode 100644 index 00000000000..1eca7d2d378 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateDomainLayoutResult.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class CreateDomainLayoutResult + { + public: + AWS_CUSTOMERPROFILES_API CreateDomainLayoutResult() = default; + AWS_CUSTOMERPROFILES_API CreateDomainLayoutResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API CreateDomainLayoutResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + CreateDomainLayoutResult& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the layout

        + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateDomainLayoutResult& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The display name of the layout

        + */ + inline const Aws::String& GetDisplayName() const { return m_displayName; } + template + void SetDisplayName(DisplayNameT&& value) { m_displayNameHasBeenSet = true; m_displayName = std::forward(value); } + template + CreateDomainLayoutResult& WithDisplayName(DisplayNameT&& value) { SetDisplayName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        If set to true for a layout, this layout will be used by default to view + * data. If set to false, then the layout will not be used by default, but it can + * be used to view data by explicitly selecting it in the console.

        + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline CreateDomainLayoutResult& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of layout that can be used to view data under customer profiles + * domain.

        + */ + inline LayoutType GetLayoutType() const { return m_layoutType; } + inline void SetLayoutType(LayoutType value) { m_layoutTypeHasBeenSet = true; m_layoutType = value; } + inline CreateDomainLayoutResult& WithLayoutType(LayoutType value) { SetLayoutType(value); return *this;} + ///@} + + ///@{ + /** + *

        A customizable layout that can be used to view data under Customer Profiles + * domain.

        + */ + inline const Aws::String& GetLayout() const { return m_layout; } + template + void SetLayout(LayoutT&& value) { m_layoutHasBeenSet = true; m_layout = std::forward(value); } + template + CreateDomainLayoutResult& WithLayout(LayoutT&& value) { SetLayout(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The version used to create layout.

        + */ + inline const Aws::String& GetVersion() const { return m_version; } + template + void SetVersion(VersionT&& value) { m_versionHasBeenSet = true; m_version = std::forward(value); } + template + CreateDomainLayoutResult& WithVersion(VersionT&& value) { SetVersion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags used to organize, track, or control access for this resource.

        + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateDomainLayoutResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateDomainLayoutResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + CreateDomainLayoutResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was most recently updated.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + CreateDomainLayoutResult& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateDomainLayoutResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + LayoutType m_layoutType{LayoutType::NOT_SET}; + bool m_layoutTypeHasBeenSet = false; + + Aws::String m_layout; + bool m_layoutHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateProfileRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateProfileRequest.h index 018c8e3ccb8..bbac84441ae 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateProfileRequest.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/CreateProfileRequest.h @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

        An account number that you have given to the customer.

        + *

        An account number that you have assigned to the customer.

        */ inline const Aws::String& GetAccountNumber() const { return m_accountNumber; } inline bool AccountNumberHasBeenSet() const { return m_accountNumberHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutRequest.h new file mode 100644 index 00000000000..cc58176e48a --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class DeleteDomainLayoutRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API DeleteDomainLayoutRequest() = default; + + // 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 "DeleteDomainLayout"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The unique name of the domain.

        + */ + inline const Aws::String& GetDomainName() const { return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + template + void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward(value); } + template + DeleteDomainLayoutRequest& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + inline bool LayoutDefinitionNameHasBeenSet() const { return m_layoutDefinitionNameHasBeenSet; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + DeleteDomainLayoutRequest& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutResult.h new file mode 100644 index 00000000000..281e33a1c29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/DeleteDomainLayoutResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class DeleteDomainLayoutResult + { + public: + AWS_CUSTOMERPROFILES_API DeleteDomainLayoutResult() = default; + AWS_CUSTOMERPROFILES_API DeleteDomainLayoutResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API DeleteDomainLayoutResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        A message that indicates the delete request is done.

        + */ + inline const Aws::String& GetMessage() const { return m_message; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + DeleteDomainLayoutResult& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteDomainLayoutResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeDefinitionResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeDefinitionResult.h index b3e5302c185..c7ecc11b75a 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeDefinitionResult.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeDefinitionResult.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include @@ -138,6 +140,38 @@ namespace Model GetCalculatedAttributeDefinitionResult& WithAttributeDetails(AttributeDetailsT&& value) { SetAttributeDetails(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Whether historical data ingested before the Calculated Attribute was created + * should be included in calculations.

        + */ + inline bool GetUseHistoricalData() const { return m_useHistoricalData; } + inline void SetUseHistoricalData(bool value) { m_useHistoricalDataHasBeenSet = true; m_useHistoricalData = value; } + inline GetCalculatedAttributeDefinitionResult& WithUseHistoricalData(bool value) { SetUseHistoricalData(value); return *this;} + ///@} + + ///@{ + /** + *

        Status of the Calculated Attribute creation (whether all historical data has + * been indexed).

        + */ + inline ReadinessStatus GetStatus() const { return m_status; } + inline void SetStatus(ReadinessStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline GetCalculatedAttributeDefinitionResult& WithStatus(ReadinessStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

        Information indicating if the Calculated Attribute is ready for use by + * confirming all historical data has been processed and reflected.

        + */ + inline const Readiness& GetReadiness() const { return m_readiness; } + template + void SetReadiness(ReadinessT&& value) { m_readinessHasBeenSet = true; m_readiness = std::forward(value); } + template + GetCalculatedAttributeDefinitionResult& WithReadiness(ReadinessT&& value) { SetReadiness(std::forward(value)); return *this;} + ///@} + ///@{ /** *

        The tags used to organize, track, or control access for this resource.

        @@ -190,6 +224,15 @@ namespace Model AttributeDetails m_attributeDetails; bool m_attributeDetailsHasBeenSet = false; + bool m_useHistoricalData{false}; + bool m_useHistoricalDataHasBeenSet = false; + + ReadinessStatus m_status{ReadinessStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Readiness m_readiness; + bool m_readinessHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeForProfileResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeForProfileResult.h index efd27e503c9..802cdeed99a 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeForProfileResult.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetCalculatedAttributeForProfileResult.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -77,6 +78,18 @@ namespace Model GetCalculatedAttributeForProfileResult& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        The timestamp of the newest object included in the calculated attribute + * calculation.

        + */ + inline const Aws::Utils::DateTime& GetLastObjectTimestamp() const { return m_lastObjectTimestamp; } + template + void SetLastObjectTimestamp(LastObjectTimestampT&& value) { m_lastObjectTimestampHasBeenSet = true; m_lastObjectTimestamp = std::forward(value); } + template + GetCalculatedAttributeForProfileResult& WithLastObjectTimestamp(LastObjectTimestampT&& value) { SetLastObjectTimestamp(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -99,6 +112,9 @@ namespace Model Aws::String m_value; bool m_valueHasBeenSet = false; + Aws::Utils::DateTime m_lastObjectTimestamp{}; + bool m_lastObjectTimestampHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutRequest.h new file mode 100644 index 00000000000..b8b47d3fce8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class GetDomainLayoutRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API GetDomainLayoutRequest() = default; + + // 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 "GetDomainLayout"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The unique name of the domain.

        + */ + inline const Aws::String& GetDomainName() const { return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + template + void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward(value); } + template + GetDomainLayoutRequest& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + inline bool LayoutDefinitionNameHasBeenSet() const { return m_layoutDefinitionNameHasBeenSet; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + GetDomainLayoutRequest& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutResult.h new file mode 100644 index 00000000000..da65f02c1cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/GetDomainLayoutResult.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class GetDomainLayoutResult + { + public: + AWS_CUSTOMERPROFILES_API GetDomainLayoutResult() = default; + AWS_CUSTOMERPROFILES_API GetDomainLayoutResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API GetDomainLayoutResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + GetDomainLayoutResult& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the layout

        + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetDomainLayoutResult& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The display name of the layout

        + */ + inline const Aws::String& GetDisplayName() const { return m_displayName; } + template + void SetDisplayName(DisplayNameT&& value) { m_displayNameHasBeenSet = true; m_displayName = std::forward(value); } + template + GetDomainLayoutResult& WithDisplayName(DisplayNameT&& value) { SetDisplayName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        If set to true for a layout, this layout will be used by default to view + * data. If set to false, then the layout will not be used by default, but it can + * be used to view data by explicitly selecting it in the console.

        + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline GetDomainLayoutResult& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline LayoutType GetLayoutType() const { return m_layoutType; } + inline void SetLayoutType(LayoutType value) { m_layoutTypeHasBeenSet = true; m_layoutType = value; } + inline GetDomainLayoutResult& WithLayoutType(LayoutType value) { SetLayoutType(value); return *this;} + ///@} + + ///@{ + /** + *

        A customizable layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline const Aws::String& GetLayout() const { return m_layout; } + template + void SetLayout(LayoutT&& value) { m_layoutHasBeenSet = true; m_layout = std::forward(value); } + template + GetDomainLayoutResult& WithLayout(LayoutT&& value) { SetLayout(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The version used to create layout.

        + */ + inline const Aws::String& GetVersion() const { return m_version; } + template + void SetVersion(VersionT&& value) { m_versionHasBeenSet = true; m_version = std::forward(value); } + template + GetDomainLayoutResult& WithVersion(VersionT&& value) { SetVersion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetDomainLayoutResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was most recently updated.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + GetDomainLayoutResult& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags used to organize, track, or control access for this resource.

        + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + GetDomainLayoutResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + GetDomainLayoutResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetDomainLayoutResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + LayoutType m_layoutType{LayoutType::NOT_SET}; + bool m_layoutTypeHasBeenSet = false; + + Aws::String m_layout; + bool m_layoutHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutItem.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutItem.h new file mode 100644 index 00000000000..0c3c9ff9dd6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutItem.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

        The layout object that contains LayoutDefinitionName, Description, + * DisplayName, IsDefault, LayoutType, Tags, CreatedAt, LastUpdatedAt + *

        See Also:

        AWS + * API Reference

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

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + inline bool LayoutDefinitionNameHasBeenSet() const { return m_layoutDefinitionNameHasBeenSet; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + LayoutItem& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the layout

        + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + LayoutItem& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The display name of the layout

        + */ + inline const Aws::String& GetDisplayName() const { return m_displayName; } + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + template + void SetDisplayName(DisplayNameT&& value) { m_displayNameHasBeenSet = true; m_displayName = std::forward(value); } + template + LayoutItem& WithDisplayName(DisplayNameT&& value) { SetDisplayName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        If set to true for a layout, this layout will be used by default to view + * data. If set to false, then layout will not be used by default but it can be + * used to view data by explicit selection on UI.

        + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline LayoutItem& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of layout that can be used to view data under customer profiles + * domain.

        + */ + inline LayoutType GetLayoutType() const { return m_layoutType; } + inline bool LayoutTypeHasBeenSet() const { return m_layoutTypeHasBeenSet; } + inline void SetLayoutType(LayoutType value) { m_layoutTypeHasBeenSet = true; m_layoutType = value; } + inline LayoutItem& WithLayoutType(LayoutType value) { SetLayoutType(value); return *this;} + ///@} + + ///@{ + /** + *

        The tags used to organize, track, or control access for this resource.

        + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + LayoutItem& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + LayoutItem& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + LayoutItem& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was most recently updated.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + LayoutItem& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + LayoutType m_layoutType{LayoutType::NOT_SET}; + bool m_layoutTypeHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutType.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutType.h new file mode 100644 index 00000000000..c6daee8c514 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/LayoutType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + enum class LayoutType + { + NOT_SET, + PROFILE_EXPLORER + }; + +namespace LayoutTypeMapper +{ +AWS_CUSTOMERPROFILES_API LayoutType GetLayoutTypeForName(const Aws::String& name); + +AWS_CUSTOMERPROFILES_API Aws::String GetNameForLayoutType(LayoutType value); +} // namespace LayoutTypeMapper +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeDefinitionItem.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeDefinitionItem.h index 37c7141e04b..21e95d66957 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeDefinitionItem.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeDefinitionItem.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -101,6 +102,28 @@ namespace Model ListCalculatedAttributeDefinitionItem& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Whether historical data ingested before the Calculated Attribute was created + * should be included in calculations.

        + */ + inline bool GetUseHistoricalData() const { return m_useHistoricalData; } + inline bool UseHistoricalDataHasBeenSet() const { return m_useHistoricalDataHasBeenSet; } + inline void SetUseHistoricalData(bool value) { m_useHistoricalDataHasBeenSet = true; m_useHistoricalData = value; } + inline ListCalculatedAttributeDefinitionItem& WithUseHistoricalData(bool value) { SetUseHistoricalData(value); return *this;} + ///@} + + ///@{ + /** + *

        Status of the Calculated Attribute creation (whether all historical data has + * been indexed.)

        + */ + inline ReadinessStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(ReadinessStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline ListCalculatedAttributeDefinitionItem& WithStatus(ReadinessStatus value) { SetStatus(value); return *this;} + ///@} + ///@{ /** *

        The tags used to organize, track, or control access for this resource.

        @@ -133,6 +156,12 @@ namespace Model Aws::Utils::DateTime m_lastUpdatedAt{}; bool m_lastUpdatedAtHasBeenSet = false; + bool m_useHistoricalData{false}; + bool m_useHistoricalDataHasBeenSet = false; + + ReadinessStatus m_status{ReadinessStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeForProfileItem.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeForProfileItem.h index 3d6286d1398..1c224e27685 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeForProfileItem.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListCalculatedAttributeForProfileItem.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -86,6 +87,19 @@ namespace Model template ListCalculatedAttributeForProfileItem& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The timestamp of the newest object included in the calculated attribute + * calculation.

        + */ + inline const Aws::Utils::DateTime& GetLastObjectTimestamp() const { return m_lastObjectTimestamp; } + inline bool LastObjectTimestampHasBeenSet() const { return m_lastObjectTimestampHasBeenSet; } + template + void SetLastObjectTimestamp(LastObjectTimestampT&& value) { m_lastObjectTimestampHasBeenSet = true; m_lastObjectTimestamp = std::forward(value); } + template + ListCalculatedAttributeForProfileItem& WithLastObjectTimestamp(LastObjectTimestampT&& value) { SetLastObjectTimestamp(std::forward(value)); return *this;} + ///@} private: Aws::String m_calculatedAttributeName; @@ -99,6 +113,9 @@ namespace Model Aws::String m_value; bool m_valueHasBeenSet = false; + + Aws::Utils::DateTime m_lastObjectTimestamp{}; + bool m_lastObjectTimestampHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsRequest.h new file mode 100644 index 00000000000..c056158270c --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsRequest.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class ListDomainLayoutsRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API ListDomainLayoutsRequest() = default; + + // 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 "ListDomainLayouts"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + AWS_CUSTOMERPROFILES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

        The unique name of the domain.

        + */ + inline const Aws::String& GetDomainName() const { return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + template + void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward(value); } + template + ListDomainLayoutsRequest& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        Identifies the next page of results to return.

        + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListDomainLayoutsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The maximum number of objects returned per page.

        + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListDomainLayoutsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsResult.h new file mode 100644 index 00000000000..c3d1a2cea83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ListDomainLayoutsResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class ListDomainLayoutsResult + { + public: + AWS_CUSTOMERPROFILES_API ListDomainLayoutsResult() = default; + AWS_CUSTOMERPROFILES_API ListDomainLayoutsResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API ListDomainLayoutsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        Contains summary information about an EventStream.

        + */ + inline const Aws::Vector& GetItems() const { return m_items; } + template> + void SetItems(ItemsT&& value) { m_itemsHasBeenSet = true; m_items = std::forward(value); } + template> + ListDomainLayoutsResult& WithItems(ItemsT&& value) { SetItems(std::forward(value)); return *this;} + template + ListDomainLayoutsResult& AddItems(ItemsT&& value) { m_itemsHasBeenSet = true; m_items.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

        Identifies the next page of results to return.

        + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListDomainLayoutsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListDomainLayoutsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_items; + bool m_itemsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Profile.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Profile.h index b446020a47e..da999cb2737 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Profile.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Profile.h @@ -57,7 +57,7 @@ namespace Model ///@{ /** - *

        An account number that you have given to the customer.

        + *

        An account number that you have assigned to the customer.

        */ inline const Aws::String& GetAccountNumber() const { return m_accountNumber; } inline bool AccountNumberHasBeenSet() const { return m_accountNumberHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Range.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Range.h index d2d4fc412a7..a0255d5eb2e 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Range.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Range.h @@ -6,6 +6,8 @@ #pragma once #include #include +#include +#include #include namespace Aws @@ -57,6 +59,56 @@ namespace Model inline void SetUnit(Unit value) { m_unitHasBeenSet = true; m_unit = value; } inline Range& WithUnit(Unit value) { SetUnit(value); return *this;} ///@} + + ///@{ + /** + *

        A structure letting customers specify a relative time window over which over + * which data is included in the Calculated Attribute. Use positive numbers to + * indicate that the endpoint is in the past, and negative numbers to indicate it + * is in the future. ValueRange overrides Value.

        + */ + inline const ValueRange& GetValueRange() const { return m_valueRange; } + inline bool ValueRangeHasBeenSet() const { return m_valueRangeHasBeenSet; } + template + void SetValueRange(ValueRangeT&& value) { m_valueRangeHasBeenSet = true; m_valueRange = std::forward(value); } + template + Range& WithValueRange(ValueRangeT&& value) { SetValueRange(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        An expression specifying the field in your JSON object from which the date + * should be parsed. The expression should follow the structure of + * \"{ObjectTypeName.<Location of timestamp field in JSON pointer format>}\". + * E.g. if your object type is MyType and source JSON is {"generatedAt": + * {"timestamp": "1737587945945"}}, then TimestampSource should be + * "{MyType.generatedAt.timestamp}".

        + */ + inline const Aws::String& GetTimestampSource() const { return m_timestampSource; } + inline bool TimestampSourceHasBeenSet() const { return m_timestampSourceHasBeenSet; } + template + void SetTimestampSource(TimestampSourceT&& value) { m_timestampSourceHasBeenSet = true; m_timestampSource = std::forward(value); } + template + Range& WithTimestampSource(TimestampSourceT&& value) { SetTimestampSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The format the timestamp field in your JSON object is specified. This value + * should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond + * level precision) or ISO_8601 (following ISO_8601 format with second/millisecond + * level precision, with an optional offset of Z or in the format HH:MM or HHMM.). + * E.g. if your object type is MyType and source JSON is {"generatedAt": + * {"timestamp": "2001-07-04T12:08:56.235-0700"}}, then TimestampFormat should be + * "ISO_8601".

        + */ + inline const Aws::String& GetTimestampFormat() const { return m_timestampFormat; } + inline bool TimestampFormatHasBeenSet() const { return m_timestampFormatHasBeenSet; } + template + void SetTimestampFormat(TimestampFormatT&& value) { m_timestampFormatHasBeenSet = true; m_timestampFormat = std::forward(value); } + template + Range& WithTimestampFormat(TimestampFormatT&& value) { SetTimestampFormat(std::forward(value)); return *this;} + ///@} private: int m_value{0}; @@ -64,6 +116,15 @@ namespace Model Unit m_unit{Unit::NOT_SET}; bool m_unitHasBeenSet = false; + + ValueRange m_valueRange; + bool m_valueRangeHasBeenSet = false; + + Aws::String m_timestampSource; + bool m_timestampSourceHasBeenSet = false; + + Aws::String m_timestampFormat; + bool m_timestampFormatHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Readiness.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Readiness.h new file mode 100644 index 00000000000..2f2877a0273 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/Readiness.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

        Information indicating if the Calculated Attribute is ready for use by + * confirming all historical data has been processed and reflected.

        See + * Also:

        AWS + * API Reference

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

        Approximately how far the Calculated Attribute creation is from + * completion.

        + */ + inline int GetProgressPercentage() const { return m_progressPercentage; } + inline bool ProgressPercentageHasBeenSet() const { return m_progressPercentageHasBeenSet; } + inline void SetProgressPercentage(int value) { m_progressPercentageHasBeenSet = true; m_progressPercentage = value; } + inline Readiness& WithProgressPercentage(int value) { SetProgressPercentage(value); return *this;} + ///@} + + ///@{ + /** + *

        Any customer messaging.

        + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + Readiness& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + private: + + int m_progressPercentage{0}; + bool m_progressPercentageHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ReadinessStatus.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ReadinessStatus.h new file mode 100644 index 00000000000..03b06e3f28a --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ReadinessStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + enum class ReadinessStatus + { + NOT_SET, + PREPARING, + IN_PROGRESS, + COMPLETED, + FAILED + }; + +namespace ReadinessStatusMapper +{ +AWS_CUSTOMERPROFILES_API ReadinessStatus GetReadinessStatusForName(const Aws::String& name); + +AWS_CUSTOMERPROFILES_API Aws::String GetNameForReadinessStatus(ReadinessStatus value); +} // namespace ReadinessStatusMapper +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/StandardIdentifier.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/StandardIdentifier.h index 216a8031db7..6656f5b0f29 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/StandardIdentifier.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/StandardIdentifier.h @@ -21,6 +21,15 @@ namespace Model CASE, ORDER, COMMUNICATION_RECORD, + AIR_PREFERENCE, + HOTEL_PREFERENCE, + AIR_BOOKING, + AIR_SEGMENT, + HOTEL_RESERVATION, + HOTEL_STAY_REVENUE, + LOYALTY, + LOYALTY_TRANSACTION, + LOYALTY_PROMOTION, UNIQUE, SECONDARY, LOOKUP_ONLY, diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateCalculatedAttributeDefinitionResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateCalculatedAttributeDefinitionResult.h index 2a15c878412..a1af9b68fd2 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateCalculatedAttributeDefinitionResult.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateCalculatedAttributeDefinitionResult.h @@ -10,6 +10,8 @@ #include #include #include +#include +#include #include #include @@ -126,6 +128,38 @@ namespace Model UpdateCalculatedAttributeDefinitionResult& WithAttributeDetails(AttributeDetailsT&& value) { SetAttributeDetails(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Whether historical data ingested before the Calculated Attribute was created + * should be included in calculations.

        + */ + inline bool GetUseHistoricalData() const { return m_useHistoricalData; } + inline void SetUseHistoricalData(bool value) { m_useHistoricalDataHasBeenSet = true; m_useHistoricalData = value; } + inline UpdateCalculatedAttributeDefinitionResult& WithUseHistoricalData(bool value) { SetUseHistoricalData(value); return *this;} + ///@} + + ///@{ + /** + *

        Status of the Calculated Attribute creation (whether all historical data has + * been indexed.)

        + */ + inline ReadinessStatus GetStatus() const { return m_status; } + inline void SetStatus(ReadinessStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline UpdateCalculatedAttributeDefinitionResult& WithStatus(ReadinessStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

        Information indicating if the Calculated Attribute is ready for use by + * confirming all historical data has been processed and reflected.

        + */ + inline const Readiness& GetReadiness() const { return m_readiness; } + template + void SetReadiness(ReadinessT&& value) { m_readinessHasBeenSet = true; m_readiness = std::forward(value); } + template + UpdateCalculatedAttributeDefinitionResult& WithReadiness(ReadinessT&& value) { SetReadiness(std::forward(value)); return *this;} + ///@} + ///@{ /** *

        The tags used to organize, track, or control access for this resource.

        @@ -175,6 +209,15 @@ namespace Model AttributeDetails m_attributeDetails; bool m_attributeDetailsHasBeenSet = false; + bool m_useHistoricalData{false}; + bool m_useHistoricalDataHasBeenSet = false; + + ReadinessStatus m_status{ReadinessStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Readiness m_readiness; + bool m_readinessHasBeenSet = false; + Aws::Map m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutRequest.h new file mode 100644 index 00000000000..fb8170b51d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutRequest.h @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + + /** + */ + class UpdateDomainLayoutRequest : public CustomerProfilesRequest + { + public: + AWS_CUSTOMERPROFILES_API UpdateDomainLayoutRequest() = default; + + // 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 "UpdateDomainLayout"; } + + AWS_CUSTOMERPROFILES_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

        The unique name of the domain.

        + */ + inline const Aws::String& GetDomainName() const { return m_domainName; } + inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } + template + void SetDomainName(DomainNameT&& value) { m_domainNameHasBeenSet = true; m_domainName = std::forward(value); } + template + UpdateDomainLayoutRequest& WithDomainName(DomainNameT&& value) { SetDomainName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + inline bool LayoutDefinitionNameHasBeenSet() const { return m_layoutDefinitionNameHasBeenSet; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + UpdateDomainLayoutRequest& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the layout

        + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateDomainLayoutRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The display name of the layout

        + */ + inline const Aws::String& GetDisplayName() const { return m_displayName; } + inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } + template + void SetDisplayName(DisplayNameT&& value) { m_displayNameHasBeenSet = true; m_displayName = std::forward(value); } + template + UpdateDomainLayoutRequest& WithDisplayName(DisplayNameT&& value) { SetDisplayName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        If set to true for a layout, this layout will be used by default to view + * data. If set to false, then the layout will not be used by default, but it can + * be used to view data by explicitly selecting it in the console.

        + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline UpdateDomainLayoutRequest& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline LayoutType GetLayoutType() const { return m_layoutType; } + inline bool LayoutTypeHasBeenSet() const { return m_layoutTypeHasBeenSet; } + inline void SetLayoutType(LayoutType value) { m_layoutTypeHasBeenSet = true; m_layoutType = value; } + inline UpdateDomainLayoutRequest& WithLayoutType(LayoutType value) { SetLayoutType(value); return *this;} + ///@} + + ///@{ + /** + *

        A customizable layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline const Aws::String& GetLayout() const { return m_layout; } + inline bool LayoutHasBeenSet() const { return m_layoutHasBeenSet; } + template + void SetLayout(LayoutT&& value) { m_layoutHasBeenSet = true; m_layout = std::forward(value); } + template + UpdateDomainLayoutRequest& WithLayout(LayoutT&& value) { SetLayout(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_domainName; + bool m_domainNameHasBeenSet = false; + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + LayoutType m_layoutType{LayoutType::NOT_SET}; + bool m_layoutTypeHasBeenSet = false; + + Aws::String m_layout; + bool m_layoutHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutResult.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutResult.h new file mode 100644 index 00000000000..9956f08099f --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateDomainLayoutResult.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + class UpdateDomainLayoutResult + { + public: + AWS_CUSTOMERPROFILES_API UpdateDomainLayoutResult() = default; + AWS_CUSTOMERPROFILES_API UpdateDomainLayoutResult(const Aws::AmazonWebServiceResult& result); + AWS_CUSTOMERPROFILES_API UpdateDomainLayoutResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

        The unique name of the layout.

        + */ + inline const Aws::String& GetLayoutDefinitionName() const { return m_layoutDefinitionName; } + template + void SetLayoutDefinitionName(LayoutDefinitionNameT&& value) { m_layoutDefinitionNameHasBeenSet = true; m_layoutDefinitionName = std::forward(value); } + template + UpdateDomainLayoutResult& WithLayoutDefinitionName(LayoutDefinitionNameT&& value) { SetLayoutDefinitionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The description of the layout

        + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateDomainLayoutResult& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The display name of the layout

        + */ + inline const Aws::String& GetDisplayName() const { return m_displayName; } + template + void SetDisplayName(DisplayNameT&& value) { m_displayNameHasBeenSet = true; m_displayName = std::forward(value); } + template + UpdateDomainLayoutResult& WithDisplayName(DisplayNameT&& value) { SetDisplayName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        If set to true for a layout, this layout will be used by default to view + * data. If set to false, then the layout will not be used by default, but it can + * be used to view data by explicitly selecting it in the console.

        + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline UpdateDomainLayoutResult& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

        The type of layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline LayoutType GetLayoutType() const { return m_layoutType; } + inline void SetLayoutType(LayoutType value) { m_layoutTypeHasBeenSet = true; m_layoutType = value; } + inline UpdateDomainLayoutResult& WithLayoutType(LayoutType value) { SetLayoutType(value); return *this;} + ///@} + + ///@{ + /** + *

        A customizable layout that can be used to view data under a Customer Profiles + * domain.

        + */ + inline const Aws::String& GetLayout() const { return m_layout; } + template + void SetLayout(LayoutT&& value) { m_layoutHasBeenSet = true; m_layout = std::forward(value); } + template + UpdateDomainLayoutResult& WithLayout(LayoutT&& value) { SetLayout(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The version used to create layout.

        + */ + inline const Aws::String& GetVersion() const { return m_version; } + template + void SetVersion(VersionT&& value) { m_versionHasBeenSet = true; m_version = std::forward(value); } + template + UpdateDomainLayoutResult& WithVersion(VersionT&& value) { SetVersion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was created.

        + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + UpdateDomainLayoutResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The timestamp of when the layout was most recently updated.

        + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + UpdateDomainLayoutResult& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The tags used to organize, track, or control access for this resource.

        + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + UpdateDomainLayoutResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + UpdateDomainLayoutResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateDomainLayoutResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_layoutDefinitionName; + bool m_layoutDefinitionNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_displayName; + bool m_displayNameHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + LayoutType m_layoutType{LayoutType::NOT_SET}; + bool m_layoutTypeHasBeenSet = false; + + Aws::String m_layout; + bool m_layoutHasBeenSet = false; + + Aws::String m_version; + bool m_versionHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateProfileRequest.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateProfileRequest.h index f92145cce67..757db7f76a0 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateProfileRequest.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/UpdateProfileRequest.h @@ -74,7 +74,7 @@ namespace Model ///@{ /** - *

        An account number that you have given to the customer.

        + *

        An account number that you have assigned to the customer.

        */ inline const Aws::String& GetAccountNumber() const { return m_accountNumber; } inline bool AccountNumberHasBeenSet() const { return m_accountNumberHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ValueRange.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ValueRange.h new file mode 100644 index 00000000000..45662435665 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/model/ValueRange.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CustomerProfiles +{ +namespace Model +{ + + /** + *

        A structure letting customers specify a relative time window over which over + * which data is included in the Calculated Attribute. Use positive numbers to + * indicate that the endpoint is in the past, and negative numbers to indicate it + * is in the future. ValueRange overrides Value.

        See Also:

        AWS + * API Reference

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

        The start time of when to include objects. Use positive numbers to indicate + * that the starting point is in the past, and negative numbers to indicate it is + * in the future.

        + */ + inline int GetStart() const { return m_start; } + inline bool StartHasBeenSet() const { return m_startHasBeenSet; } + inline void SetStart(int value) { m_startHasBeenSet = true; m_start = value; } + inline ValueRange& WithStart(int value) { SetStart(value); return *this;} + ///@} + + ///@{ + /** + *

        The end time of when to include objects. Use positive numbers to indicate + * that the starting point is in the past, and negative numbers to indicate it is + * in the future.

        + */ + inline int GetEnd() const { return m_end; } + inline bool EndHasBeenSet() const { return m_endHasBeenSet; } + inline void SetEnd(int value) { m_endHasBeenSet = true; m_end = value; } + inline ValueRange& WithEnd(int value) { SetEnd(value); return *this;} + ///@} + private: + + int m_start{0}; + bool m_startHasBeenSet = false; + + int m_end{0}; + bool m_endHasBeenSet = false; + }; + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp index 1a3499bbba6..4eb6e3f2926 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +51,7 @@ #include #include #include +#include #include #include #include @@ -66,6 +69,7 @@ #include #include #include +#include #include #include #include @@ -89,6 +93,7 @@ #include #include #include +#include #include #include @@ -416,6 +421,46 @@ CreateDomainOutcome CustomerProfilesClient::CreateDomain(const CreateDomainReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateDomainLayoutOutcome CustomerProfilesClient::CreateDomainLayout(const CreateDomainLayoutRequest& request) const +{ + AWS_OPERATION_GUARD(CreateDomainLayout); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateDomainLayout", "Required field: DomainName, is not set"); + return CreateDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.LayoutDefinitionNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateDomainLayout", "Required field: LayoutDefinitionName, is not set"); + return CreateDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LayoutDefinitionName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateDomainLayout", + {{ 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( + [&]()-> CreateDomainLayoutOutcome { + 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, CreateDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/layouts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLayoutDefinitionName()); + return CreateDomainLayoutOutcome(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()}}); +} + CreateEventStreamOutcome CustomerProfilesClient::CreateEventStream(const CreateEventStreamRequest& request) const { AWS_OPERATION_GUARD(CreateEventStream); @@ -752,6 +797,46 @@ DeleteDomainOutcome CustomerProfilesClient::DeleteDomain(const DeleteDomainReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteDomainLayoutOutcome CustomerProfilesClient::DeleteDomainLayout(const DeleteDomainLayoutRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteDomainLayout); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteDomainLayout", "Required field: DomainName, is not set"); + return DeleteDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.LayoutDefinitionNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteDomainLayout", "Required field: LayoutDefinitionName, is not set"); + return DeleteDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LayoutDefinitionName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteDomainLayout", + {{ 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( + [&]()-> DeleteDomainLayoutOutcome { + 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, DeleteDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/layouts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLayoutDefinitionName()); + return DeleteDomainLayoutOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteEventStreamOutcome CustomerProfilesClient::DeleteEventStream(const DeleteEventStreamRequest& request) const { AWS_OPERATION_GUARD(DeleteEventStream); @@ -1276,6 +1361,46 @@ GetDomainOutcome CustomerProfilesClient::GetDomain(const GetDomainRequest& reque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetDomainLayoutOutcome CustomerProfilesClient::GetDomainLayout(const GetDomainLayoutRequest& request) const +{ + AWS_OPERATION_GUARD(GetDomainLayout); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDomainLayout", "Required field: DomainName, is not set"); + return GetDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.LayoutDefinitionNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetDomainLayout", "Required field: LayoutDefinitionName, is not set"); + return GetDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LayoutDefinitionName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetDomainLayout", + {{ 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( + [&]()-> GetDomainLayoutOutcome { + 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, GetDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/layouts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLayoutDefinitionName()); + return GetDomainLayoutOutcome(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()}}); +} + GetEventStreamOutcome CustomerProfilesClient::GetEventStream(const GetEventStreamRequest& request) const { AWS_OPERATION_GUARD(GetEventStream); @@ -1922,6 +2047,40 @@ ListCalculatedAttributesForProfileOutcome CustomerProfilesClient::ListCalculated {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListDomainLayoutsOutcome CustomerProfilesClient::ListDomainLayouts(const ListDomainLayoutsRequest& request) const +{ + AWS_OPERATION_GUARD(ListDomainLayouts); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListDomainLayouts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListDomainLayouts", "Required field: DomainName, is not set"); + return ListDomainLayoutsOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListDomainLayouts, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListDomainLayouts, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListDomainLayouts", + {{ 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( + [&]()-> ListDomainLayoutsOutcome { + 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, ListDomainLayouts, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/layouts"); + return ListDomainLayoutsOutcome(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()}}); +} + ListDomainsOutcome CustomerProfilesClient::ListDomains(const ListDomainsRequest& request) const { AWS_OPERATION_GUARD(ListDomains); @@ -2717,6 +2876,46 @@ UpdateDomainOutcome CustomerProfilesClient::UpdateDomain(const UpdateDomainReque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateDomainLayoutOutcome CustomerProfilesClient::UpdateDomainLayout(const UpdateDomainLayoutRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateDomainLayout); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.DomainNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateDomainLayout", "Required field: DomainName, is not set"); + return UpdateDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DomainName]", false)); + } + if (!request.LayoutDefinitionNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateDomainLayout", "Required field: LayoutDefinitionName, is not set"); + return UpdateDomainLayoutOutcome(Aws::Client::AWSError(CustomerProfilesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [LayoutDefinitionName]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateDomainLayout, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateDomainLayout", + {{ 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( + [&]()-> UpdateDomainLayoutOutcome { + 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, UpdateDomainLayout, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/domains/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetDomainName()); + endpointResolutionOutcome.GetResult().AddPathSegments("/layouts/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetLayoutDefinitionName()); + return UpdateDomainLayoutOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateEventTriggerOutcome CustomerProfilesClient::UpdateEventTrigger(const UpdateEventTriggerRequest& request) const { AWS_OPERATION_GUARD(UpdateEventTrigger); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CalculatedAttributeValue.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CalculatedAttributeValue.cpp index 8a4d6bf8be2..971087c7f0d 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CalculatedAttributeValue.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CalculatedAttributeValue.cpp @@ -50,6 +50,11 @@ CalculatedAttributeValue& CalculatedAttributeValue::operator =(JsonView jsonValu m_value = jsonValue.GetString("Value"); m_valueHasBeenSet = true; } + if(jsonValue.ValueExists("LastObjectTimestamp")) + { + m_lastObjectTimestamp = jsonValue.GetDouble("LastObjectTimestamp"); + m_lastObjectTimestampHasBeenSet = true; + } return *this; } @@ -87,6 +92,11 @@ JsonValue CalculatedAttributeValue::Jsonize() const } + if(m_lastObjectTimestampHasBeenSet) + { + payload.WithDouble("LastObjectTimestamp", m_lastObjectTimestamp.SecondsWithMSPrecision()); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionRequest.cpp index af0ee60a60a..78c5b8336fb 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionRequest.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionRequest.cpp @@ -51,6 +51,12 @@ Aws::String CreateCalculatedAttributeDefinitionRequest::SerializePayload() const payload.WithString("Statistic", StatisticMapper::GetNameForStatistic(m_statistic)); } + if(m_useHistoricalDataHasBeenSet) + { + payload.WithBool("UseHistoricalData", m_useHistoricalData); + + } + if(m_tagsHasBeenSet) { JsonValue tagsJsonMap; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionResult.cpp index b311d76a179..89938e9e829 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionResult.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateCalculatedAttributeDefinitionResult.cpp @@ -70,6 +70,21 @@ CreateCalculatedAttributeDefinitionResult& CreateCalculatedAttributeDefinitionRe m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); m_lastUpdatedAtHasBeenSet = true; } + if(jsonValue.ValueExists("UseHistoricalData")) + { + m_useHistoricalData = jsonValue.GetBool("UseHistoricalData"); + m_useHistoricalDataHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ReadinessStatusMapper::GetReadinessStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("Readiness")) + { + m_readiness = jsonValue.GetObject("Readiness"); + m_readinessHasBeenSet = true; + } if(jsonValue.ValueExists("Tags")) { Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutRequest.cpp new file mode 100644 index 00000000000..28830c27ebd --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateDomainLayoutRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_displayNameHasBeenSet) + { + payload.WithString("DisplayName", m_displayName); + + } + + if(m_isDefaultHasBeenSet) + { + payload.WithBool("IsDefault", m_isDefault); + + } + + if(m_layoutTypeHasBeenSet) + { + payload.WithString("LayoutType", LayoutTypeMapper::GetNameForLayoutType(m_layoutType)); + } + + if(m_layoutHasBeenSet) + { + payload.WithString("Layout", m_layout); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutResult.cpp new file mode 100644 index 00000000000..3c219afa6a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/CreateDomainLayoutResult.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateDomainLayoutResult::CreateDomainLayoutResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateDomainLayoutResult& CreateDomainLayoutResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("LayoutDefinitionName")) + { + m_layoutDefinitionName = jsonValue.GetString("LayoutDefinitionName"); + m_layoutDefinitionNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("DisplayName")) + { + m_displayName = jsonValue.GetString("DisplayName"); + m_displayNameHasBeenSet = true; + } + if(jsonValue.ValueExists("IsDefault")) + { + m_isDefault = jsonValue.GetBool("IsDefault"); + m_isDefaultHasBeenSet = true; + } + if(jsonValue.ValueExists("LayoutType")) + { + m_layoutType = LayoutTypeMapper::GetLayoutTypeForName(jsonValue.GetString("LayoutType")); + m_layoutTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Layout")) + { + m_layout = jsonValue.GetString("Layout"); + m_layoutHasBeenSet = true; + } + if(jsonValue.ValueExists("Version")) + { + m_version = jsonValue.GetString("Version"); + m_versionHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutRequest.cpp new file mode 100644 index 00000000000..258c8a3ea39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteDomainLayoutRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutResult.cpp new file mode 100644 index 00000000000..6e91d6f771c --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/DeleteDomainLayoutResult.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteDomainLayoutResult::DeleteDomainLayoutResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteDomainLayoutResult& DeleteDomainLayoutResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeDefinitionResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeDefinitionResult.cpp index 907ceaa75f4..5a38d26b9c4 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeDefinitionResult.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeDefinitionResult.cpp @@ -70,6 +70,21 @@ GetCalculatedAttributeDefinitionResult& GetCalculatedAttributeDefinitionResult:: m_attributeDetails = jsonValue.GetObject("AttributeDetails"); m_attributeDetailsHasBeenSet = true; } + if(jsonValue.ValueExists("UseHistoricalData")) + { + m_useHistoricalData = jsonValue.GetBool("UseHistoricalData"); + m_useHistoricalDataHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ReadinessStatusMapper::GetReadinessStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("Readiness")) + { + m_readiness = jsonValue.GetObject("Readiness"); + m_readinessHasBeenSet = true; + } if(jsonValue.ValueExists("Tags")) { Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeForProfileResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeForProfileResult.cpp index 8876307026f..04547213f4b 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeForProfileResult.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetCalculatedAttributeForProfileResult.cpp @@ -45,6 +45,11 @@ GetCalculatedAttributeForProfileResult& GetCalculatedAttributeForProfileResult:: m_value = jsonValue.GetString("Value"); m_valueHasBeenSet = true; } + if(jsonValue.ValueExists("LastObjectTimestamp")) + { + m_lastObjectTimestamp = jsonValue.GetDouble("LastObjectTimestamp"); + m_lastObjectTimestampHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutRequest.cpp new file mode 100644 index 00000000000..0a6a292e371 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetDomainLayoutRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutResult.cpp new file mode 100644 index 00000000000..20c1538f342 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/GetDomainLayoutResult.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetDomainLayoutResult::GetDomainLayoutResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetDomainLayoutResult& GetDomainLayoutResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("LayoutDefinitionName")) + { + m_layoutDefinitionName = jsonValue.GetString("LayoutDefinitionName"); + m_layoutDefinitionNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("DisplayName")) + { + m_displayName = jsonValue.GetString("DisplayName"); + m_displayNameHasBeenSet = true; + } + if(jsonValue.ValueExists("IsDefault")) + { + m_isDefault = jsonValue.GetBool("IsDefault"); + m_isDefaultHasBeenSet = true; + } + if(jsonValue.ValueExists("LayoutType")) + { + m_layoutType = LayoutTypeMapper::GetLayoutTypeForName(jsonValue.GetString("LayoutType")); + m_layoutTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Layout")) + { + m_layout = jsonValue.GetString("Layout"); + m_layoutHasBeenSet = true; + } + if(jsonValue.ValueExists("Version")) + { + m_version = jsonValue.GetString("Version"); + m_versionHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutItem.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutItem.cpp new file mode 100644 index 00000000000..a193abfe449 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutItem.cpp @@ -0,0 +1,134 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +LayoutItem::LayoutItem(JsonView jsonValue) +{ + *this = jsonValue; +} + +LayoutItem& LayoutItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LayoutDefinitionName")) + { + m_layoutDefinitionName = jsonValue.GetString("LayoutDefinitionName"); + m_layoutDefinitionNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("DisplayName")) + { + m_displayName = jsonValue.GetString("DisplayName"); + m_displayNameHasBeenSet = true; + } + if(jsonValue.ValueExists("IsDefault")) + { + m_isDefault = jsonValue.GetBool("IsDefault"); + m_isDefaultHasBeenSet = true; + } + if(jsonValue.ValueExists("LayoutType")) + { + m_layoutType = LayoutTypeMapper::GetLayoutTypeForName(jsonValue.GetString("LayoutType")); + m_layoutTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + return *this; +} + +JsonValue LayoutItem::Jsonize() const +{ + JsonValue payload; + + if(m_layoutDefinitionNameHasBeenSet) + { + payload.WithString("LayoutDefinitionName", m_layoutDefinitionName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_displayNameHasBeenSet) + { + payload.WithString("DisplayName", m_displayName); + + } + + if(m_isDefaultHasBeenSet) + { + payload.WithBool("IsDefault", m_isDefault); + + } + + if(m_layoutTypeHasBeenSet) + { + payload.WithString("LayoutType", LayoutTypeMapper::GetNameForLayoutType(m_layoutType)); + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("CreatedAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithDouble("LastUpdatedAt", m_lastUpdatedAt.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutType.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutType.cpp new file mode 100644 index 00000000000..fa124ae3486 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/LayoutType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CustomerProfiles + { + namespace Model + { + namespace LayoutTypeMapper + { + + static const int PROFILE_EXPLORER_HASH = HashingUtils::HashString("PROFILE_EXPLORER"); + + + LayoutType GetLayoutTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PROFILE_EXPLORER_HASH) + { + return LayoutType::PROFILE_EXPLORER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LayoutType::NOT_SET; + } + + Aws::String GetNameForLayoutType(LayoutType enumValue) + { + switch(enumValue) + { + case LayoutType::NOT_SET: + return {}; + case LayoutType::PROFILE_EXPLORER: + return "PROFILE_EXPLORER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LayoutTypeMapper + } // namespace Model + } // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeDefinitionItem.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeDefinitionItem.cpp index d676858b1da..1bbb0b0d1e7 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeDefinitionItem.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeDefinitionItem.cpp @@ -50,6 +50,16 @@ ListCalculatedAttributeDefinitionItem& ListCalculatedAttributeDefinitionItem::op m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); m_lastUpdatedAtHasBeenSet = true; } + if(jsonValue.ValueExists("UseHistoricalData")) + { + m_useHistoricalData = jsonValue.GetBool("UseHistoricalData"); + m_useHistoricalDataHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ReadinessStatusMapper::GetReadinessStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } if(jsonValue.ValueExists("Tags")) { Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); @@ -94,6 +104,17 @@ JsonValue ListCalculatedAttributeDefinitionItem::Jsonize() const payload.WithDouble("LastUpdatedAt", m_lastUpdatedAt.SecondsWithMSPrecision()); } + if(m_useHistoricalDataHasBeenSet) + { + payload.WithBool("UseHistoricalData", m_useHistoricalData); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", ReadinessStatusMapper::GetNameForReadinessStatus(m_status)); + } + if(m_tagsHasBeenSet) { JsonValue tagsJsonMap; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeForProfileItem.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeForProfileItem.cpp index fec56eab5c4..b17b830f765 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeForProfileItem.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListCalculatedAttributeForProfileItem.cpp @@ -45,6 +45,11 @@ ListCalculatedAttributeForProfileItem& ListCalculatedAttributeForProfileItem::op m_value = jsonValue.GetString("Value"); m_valueHasBeenSet = true; } + if(jsonValue.ValueExists("LastObjectTimestamp")) + { + m_lastObjectTimestamp = jsonValue.GetDouble("LastObjectTimestamp"); + m_lastObjectTimestampHasBeenSet = true; + } return *this; } @@ -76,6 +81,11 @@ JsonValue ListCalculatedAttributeForProfileItem::Jsonize() const } + if(m_lastObjectTimestampHasBeenSet) + { + payload.WithDouble("LastObjectTimestamp", m_lastObjectTimestamp.SecondsWithMSPrecision()); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsRequest.cpp new file mode 100644 index 00000000000..c1406f8cf29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListDomainLayoutsRequest::SerializePayload() const +{ + return {}; +} + +void ListDomainLayoutsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("next-token", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("max-results", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsResult.cpp new file mode 100644 index 00000000000..f2bcca6ec47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ListDomainLayoutsResult.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListDomainLayoutsResult::ListDomainLayoutsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListDomainLayoutsResult& ListDomainLayoutsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Items")) + { + Aws::Utils::Array itemsJsonList = jsonValue.GetArray("Items"); + for(unsigned itemsIndex = 0; itemsIndex < itemsJsonList.GetLength(); ++itemsIndex) + { + m_items.push_back(itemsJsonList[itemsIndex].AsObject()); + } + m_itemsHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/Range.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/Range.cpp index 52d440dacc4..f971df2f7ab 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/Range.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/Range.cpp @@ -35,6 +35,21 @@ Range& Range::operator =(JsonView jsonValue) m_unit = UnitMapper::GetUnitForName(jsonValue.GetString("Unit")); m_unitHasBeenSet = true; } + if(jsonValue.ValueExists("ValueRange")) + { + m_valueRange = jsonValue.GetObject("ValueRange"); + m_valueRangeHasBeenSet = true; + } + if(jsonValue.ValueExists("TimestampSource")) + { + m_timestampSource = jsonValue.GetString("TimestampSource"); + m_timestampSourceHasBeenSet = true; + } + if(jsonValue.ValueExists("TimestampFormat")) + { + m_timestampFormat = jsonValue.GetString("TimestampFormat"); + m_timestampFormatHasBeenSet = true; + } return *this; } @@ -53,6 +68,24 @@ JsonValue Range::Jsonize() const payload.WithString("Unit", UnitMapper::GetNameForUnit(m_unit)); } + if(m_valueRangeHasBeenSet) + { + payload.WithObject("ValueRange", m_valueRange.Jsonize()); + + } + + if(m_timestampSourceHasBeenSet) + { + payload.WithString("TimestampSource", m_timestampSource); + + } + + if(m_timestampFormatHasBeenSet) + { + payload.WithString("TimestampFormat", m_timestampFormat); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/Readiness.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/Readiness.cpp new file mode 100644 index 00000000000..fb306673f07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/Readiness.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +Readiness::Readiness(JsonView jsonValue) +{ + *this = jsonValue; +} + +Readiness& Readiness::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProgressPercentage")) + { + m_progressPercentage = jsonValue.GetInteger("ProgressPercentage"); + m_progressPercentageHasBeenSet = true; + } + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + return *this; +} + +JsonValue Readiness::Jsonize() const +{ + JsonValue payload; + + if(m_progressPercentageHasBeenSet) + { + payload.WithInteger("ProgressPercentage", m_progressPercentage); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ReadinessStatus.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ReadinessStatus.cpp new file mode 100644 index 00000000000..1111e1d4820 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ReadinessStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CustomerProfiles + { + namespace Model + { + namespace ReadinessStatusMapper + { + + static const int PREPARING_HASH = HashingUtils::HashString("PREPARING"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int COMPLETED_HASH = HashingUtils::HashString("COMPLETED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + ReadinessStatus GetReadinessStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PREPARING_HASH) + { + return ReadinessStatus::PREPARING; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return ReadinessStatus::IN_PROGRESS; + } + else if (hashCode == COMPLETED_HASH) + { + return ReadinessStatus::COMPLETED; + } + else if (hashCode == FAILED_HASH) + { + return ReadinessStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ReadinessStatus::NOT_SET; + } + + Aws::String GetNameForReadinessStatus(ReadinessStatus enumValue) + { + switch(enumValue) + { + case ReadinessStatus::NOT_SET: + return {}; + case ReadinessStatus::PREPARING: + return "PREPARING"; + case ReadinessStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case ReadinessStatus::COMPLETED: + return "COMPLETED"; + case ReadinessStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ReadinessStatusMapper + } // namespace Model + } // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/StandardIdentifier.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/StandardIdentifier.cpp index 938c2c30b90..f8fd3da4cc3 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/StandardIdentifier.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/StandardIdentifier.cpp @@ -25,6 +25,15 @@ namespace Aws static const int CASE_HASH = HashingUtils::HashString("CASE"); static const int ORDER_HASH = HashingUtils::HashString("ORDER"); static const int COMMUNICATION_RECORD_HASH = HashingUtils::HashString("COMMUNICATION_RECORD"); + static const int AIR_PREFERENCE_HASH = HashingUtils::HashString("AIR_PREFERENCE"); + static const int HOTEL_PREFERENCE_HASH = HashingUtils::HashString("HOTEL_PREFERENCE"); + static const int AIR_BOOKING_HASH = HashingUtils::HashString("AIR_BOOKING"); + static const int AIR_SEGMENT_HASH = HashingUtils::HashString("AIR_SEGMENT"); + static const int HOTEL_RESERVATION_HASH = HashingUtils::HashString("HOTEL_RESERVATION"); + static const int HOTEL_STAY_REVENUE_HASH = HashingUtils::HashString("HOTEL_STAY_REVENUE"); + static const int LOYALTY_HASH = HashingUtils::HashString("LOYALTY"); + static const int LOYALTY_TRANSACTION_HASH = HashingUtils::HashString("LOYALTY_TRANSACTION"); + static const int LOYALTY_PROMOTION_HASH = HashingUtils::HashString("LOYALTY_PROMOTION"); static const int UNIQUE_HASH = HashingUtils::HashString("UNIQUE"); static const int SECONDARY_HASH = HashingUtils::HashString("SECONDARY"); static const int LOOKUP_ONLY_HASH = HashingUtils::HashString("LOOKUP_ONLY"); @@ -54,6 +63,42 @@ namespace Aws { return StandardIdentifier::COMMUNICATION_RECORD; } + else if (hashCode == AIR_PREFERENCE_HASH) + { + return StandardIdentifier::AIR_PREFERENCE; + } + else if (hashCode == HOTEL_PREFERENCE_HASH) + { + return StandardIdentifier::HOTEL_PREFERENCE; + } + else if (hashCode == AIR_BOOKING_HASH) + { + return StandardIdentifier::AIR_BOOKING; + } + else if (hashCode == AIR_SEGMENT_HASH) + { + return StandardIdentifier::AIR_SEGMENT; + } + else if (hashCode == HOTEL_RESERVATION_HASH) + { + return StandardIdentifier::HOTEL_RESERVATION; + } + else if (hashCode == HOTEL_STAY_REVENUE_HASH) + { + return StandardIdentifier::HOTEL_STAY_REVENUE; + } + else if (hashCode == LOYALTY_HASH) + { + return StandardIdentifier::LOYALTY; + } + else if (hashCode == LOYALTY_TRANSACTION_HASH) + { + return StandardIdentifier::LOYALTY_TRANSACTION; + } + else if (hashCode == LOYALTY_PROMOTION_HASH) + { + return StandardIdentifier::LOYALTY_PROMOTION; + } else if (hashCode == UNIQUE_HASH) { return StandardIdentifier::UNIQUE; @@ -96,6 +141,24 @@ namespace Aws return "ORDER"; case StandardIdentifier::COMMUNICATION_RECORD: return "COMMUNICATION_RECORD"; + case StandardIdentifier::AIR_PREFERENCE: + return "AIR_PREFERENCE"; + case StandardIdentifier::HOTEL_PREFERENCE: + return "HOTEL_PREFERENCE"; + case StandardIdentifier::AIR_BOOKING: + return "AIR_BOOKING"; + case StandardIdentifier::AIR_SEGMENT: + return "AIR_SEGMENT"; + case StandardIdentifier::HOTEL_RESERVATION: + return "HOTEL_RESERVATION"; + case StandardIdentifier::HOTEL_STAY_REVENUE: + return "HOTEL_STAY_REVENUE"; + case StandardIdentifier::LOYALTY: + return "LOYALTY"; + case StandardIdentifier::LOYALTY_TRANSACTION: + return "LOYALTY_TRANSACTION"; + case StandardIdentifier::LOYALTY_PROMOTION: + return "LOYALTY_PROMOTION"; case StandardIdentifier::UNIQUE: return "UNIQUE"; case StandardIdentifier::SECONDARY: diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateCalculatedAttributeDefinitionResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateCalculatedAttributeDefinitionResult.cpp index ae32e7c5208..ca2c6247e63 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateCalculatedAttributeDefinitionResult.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateCalculatedAttributeDefinitionResult.cpp @@ -65,6 +65,21 @@ UpdateCalculatedAttributeDefinitionResult& UpdateCalculatedAttributeDefinitionRe m_attributeDetails = jsonValue.GetObject("AttributeDetails"); m_attributeDetailsHasBeenSet = true; } + if(jsonValue.ValueExists("UseHistoricalData")) + { + m_useHistoricalData = jsonValue.GetBool("UseHistoricalData"); + m_useHistoricalDataHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ReadinessStatusMapper::GetReadinessStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("Readiness")) + { + m_readiness = jsonValue.GetObject("Readiness"); + m_readinessHasBeenSet = true; + } if(jsonValue.ValueExists("Tags")) { Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutRequest.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutRequest.cpp new file mode 100644 index 00000000000..60ad65a2b90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateDomainLayoutRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_displayNameHasBeenSet) + { + payload.WithString("DisplayName", m_displayName); + + } + + if(m_isDefaultHasBeenSet) + { + payload.WithBool("IsDefault", m_isDefault); + + } + + if(m_layoutTypeHasBeenSet) + { + payload.WithString("LayoutType", LayoutTypeMapper::GetNameForLayoutType(m_layoutType)); + } + + if(m_layoutHasBeenSet) + { + payload.WithString("Layout", m_layout); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutResult.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutResult.cpp new file mode 100644 index 00000000000..d11616a6fd4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/UpdateDomainLayoutResult.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::CustomerProfiles::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateDomainLayoutResult::UpdateDomainLayoutResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateDomainLayoutResult& UpdateDomainLayoutResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("LayoutDefinitionName")) + { + m_layoutDefinitionName = jsonValue.GetString("LayoutDefinitionName"); + m_layoutDefinitionNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("DisplayName")) + { + m_displayName = jsonValue.GetString("DisplayName"); + m_displayNameHasBeenSet = true; + } + if(jsonValue.ValueExists("IsDefault")) + { + m_isDefault = jsonValue.GetBool("IsDefault"); + m_isDefaultHasBeenSet = true; + } + if(jsonValue.ValueExists("LayoutType")) + { + m_layoutType = LayoutTypeMapper::GetLayoutTypeForName(jsonValue.GetString("LayoutType")); + m_layoutTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Layout")) + { + m_layout = jsonValue.GetString("Layout"); + m_layoutHasBeenSet = true; + } + if(jsonValue.ValueExists("Version")) + { + m_version = jsonValue.GetString("Version"); + m_versionHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetDouble("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("LastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/model/ValueRange.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ValueRange.cpp new file mode 100644 index 00000000000..d36ae6efe8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/model/ValueRange.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CustomerProfiles +{ +namespace Model +{ + +ValueRange::ValueRange(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValueRange& ValueRange::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Start")) + { + m_start = jsonValue.GetInteger("Start"); + m_startHasBeenSet = true; + } + if(jsonValue.ValueExists("End")) + { + m_end = jsonValue.GetInteger("End"); + m_endHasBeenSet = true; + } + return *this; +} + +JsonValue ValueRange::Jsonize() const +{ + JsonValue payload; + + if(m_startHasBeenSet) + { + payload.WithInteger("Start", m_start); + + } + + if(m_endHasBeenSet) + { + payload.WithInteger("End", m_end); + + } + + return payload; +} + +} // namespace Model +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h index feb0a1b4e82..37d53c007b7 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h @@ -143,8 +143,15 @@ namespace DatabaseMigrationService } /** - *

        Starts the analysis of up to 20 source databases to recommend target engines - * for each source database. This is a batch version of End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Starts + * the analysis of up to 20 source databases to recommend target engines for each + * source database. This is a batch version of StartRecommendations.

        *

        The result of analysis of each source database is reported individually in * the response. Because the batch request can result in a combination of @@ -328,8 +335,15 @@ namespace DatabaseMigrationService } /** - *

        Creates a Fleet Advisor collector using the specified - * parameters.

        See Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Creates + * a Fleet Advisor collector using the specified parameters.

        See + * Also:

        AWS * API Reference

        */ @@ -692,7 +706,14 @@ namespace DatabaseMigrationService } /** - *

        Deletes the specified Fleet Advisor collector.

        See Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Deletes + * the specified Fleet Advisor collector.

        See Also:

        AWS * API Reference

        */ @@ -717,8 +738,14 @@ namespace DatabaseMigrationService } /** - *

        Deletes the specified Fleet Advisor collector databases.

        See - * Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Deletes + * the specified Fleet Advisor collector databases.

        See Also:

        AWS * API Reference

        */ @@ -1353,8 +1380,15 @@ namespace DatabaseMigrationService } /** - *

        Returns a list of the Fleet Advisor collectors in your account.

        See - * Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Returns + * a list of the Fleet Advisor collectors in your account.

        See Also:

        + * AWS * API Reference

        */ @@ -1379,8 +1413,14 @@ namespace DatabaseMigrationService } /** - *

        Returns a list of Fleet Advisor databases in your account.

        See - * Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Returns + * a list of Fleet Advisor databases in your account.

        See Also:

        AWS * API Reference

        */ @@ -1405,8 +1445,15 @@ namespace DatabaseMigrationService } /** - *

        Provides descriptions of large-scale assessment (LSA) analyses produced by - * your Fleet Advisor collectors.

        See Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Provides + * descriptions of large-scale assessment (LSA) analyses produced by your Fleet + * Advisor collectors.

        See Also:

        AWS * API Reference

        */ @@ -1431,7 +1478,14 @@ namespace DatabaseMigrationService } /** - *

        Provides descriptions of the schemas discovered by your Fleet Advisor + *

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Provides + * descriptions of the schemas discovered by your Fleet Advisor * collectors.

        See Also:

        AWS * API Reference

        @@ -1457,7 +1511,14 @@ namespace DatabaseMigrationService } /** - *

        Returns a list of schemas detected by Fleet Advisor Collectors in your + *

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Returns + * a list of schemas detected by Fleet Advisor Collectors in your * account.

        See Also:

        AWS * API Reference

        @@ -1717,8 +1778,15 @@ namespace DatabaseMigrationService } /** - *

        Returns a paginated list of limitations for recommendations of target Amazon - * Web Services engines.

        See Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Returns + * a paginated list of limitations for recommendations of target Amazon Web + * Services engines.

        See Also:

        AWS * API Reference

        */ @@ -1743,7 +1811,14 @@ namespace DatabaseMigrationService } /** - *

        Returns a paginated list of target engine recommendations for your source + *

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Returns + * a paginated list of target engine recommendations for your source * databases.

        See Also:

        AWS * API Reference

        @@ -2677,8 +2752,15 @@ namespace DatabaseMigrationService } /** - *

        Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector - * in your account.

        See Also:

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Runs + * large-scale assessment (LSA) analysis on every Fleet Advisor collector in your + * account.

        See Also:

        AWS * API Reference

        */ @@ -2890,9 +2972,16 @@ namespace DatabaseMigrationService } /** - *

        Starts the analysis of your source database to provide recommendations of - * target engines.

        You can create recommendations for multiple source - * databases using End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Starts + * the analysis of your source database to provide recommendations of target + * engines.

        You can create recommendations for multiple source databases + * using BatchStartRecommendations.

        See * Also:

        AWS diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateDataProviderRequest.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateDataProviderRequest.h index 6f26991df2a..3f89ecc0eec 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateDataProviderRequest.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateDataProviderRequest.h @@ -78,6 +78,16 @@ namespace Model CreateDataProviderRequest& WithEngine(EngineT&& value) { SetEngine(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Indicates whether the data provider is virtual.

        + */ + inline bool GetVirtual() const { return m_virtual; } + inline bool VirtualHasBeenSet() const { return m_virtualHasBeenSet; } + inline void SetVirtual(bool value) { m_virtualHasBeenSet = true; m_virtual = value; } + inline CreateDataProviderRequest& WithVirtual(bool value) { SetVirtual(value); return *this;} + ///@} + ///@{ /** *

        The settings in JSON format for a data provider.

        @@ -114,6 +124,9 @@ namespace Model Aws::String m_engine; bool m_engineHasBeenSet = false; + bool m_virtual{false}; + bool m_virtualHasBeenSet = false; + DataProviderSettings m_settings; bool m_settingsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateReplicationSubnetGroupRequest.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateReplicationSubnetGroupRequest.h index 902ab7f25f3..50d97ef0b12 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateReplicationSubnetGroupRequest.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/CreateReplicationSubnetGroupRequest.h @@ -56,7 +56,8 @@ namespace Model ///@{ /** - *

        The description for the subnet group.

        + *

        The description for the subnet group.

        Constraints: This parameter + * Must not contain non-printable control characters.

        */ inline const Aws::String& GetReplicationSubnetGroupDescription() const { return m_replicationSubnetGroupDescription; } inline bool ReplicationSubnetGroupDescriptionHasBeenSet() const { return m_replicationSubnetGroupDescriptionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DataProvider.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DataProvider.h index 4b28f947c63..5f653699009 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DataProvider.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DataProvider.h @@ -108,6 +108,16 @@ namespace Model DataProvider& WithEngine(EngineT&& value) { SetEngine(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Indicates whether the data provider is virtual.

        + */ + inline bool GetVirtual() const { return m_virtual; } + inline bool VirtualHasBeenSet() const { return m_virtualHasBeenSet; } + inline void SetVirtual(bool value) { m_virtualHasBeenSet = true; m_virtual = value; } + inline DataProvider& WithVirtual(bool value) { SetVirtual(value); return *this;} + ///@} + ///@{ /** *

        The settings in JSON format for a data provider.

        @@ -136,6 +146,9 @@ namespace Model Aws::String m_engine; bool m_engineHasBeenSet = false; + bool m_virtual{false}; + bool m_virtualHasBeenSet = false; + DataProviderSettings m_settings; bool m_settingsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DescribeFleetAdvisorSchemaObjectSummaryRequest.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DescribeFleetAdvisorSchemaObjectSummaryRequest.h index 46970ad210e..d8cffa1c31f 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DescribeFleetAdvisorSchemaObjectSummaryRequest.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/DescribeFleetAdvisorSchemaObjectSummaryRequest.h @@ -57,7 +57,14 @@ namespace Model ///@{ /** - *

        Sets the maximum number of records returned in the response.

        + *

        End of support notice: On May 20, 2026, Amazon Web Services will + * end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you + * will no longer be able to access the Amazon Web Services DMS Fleet Advisor; + * console or Amazon Web Services DMS Fleet Advisor; resources. For more + * information, see Amazon + * Web Services DMS Fleet Advisor end of support.

        Sets the + * maximum number of records returned in the response.

        */ inline int GetMaxRecords() const { return m_maxRecords; } inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2LuwDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2LuwDataProviderSettings.h index 33037d2e53d..3899c6533b1 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2LuwDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2LuwDataProviderSettings.h @@ -97,6 +97,31 @@ namespace Model template IbmDb2LuwDataProviderSettings& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + IbmDb2LuwDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + IbmDb2LuwDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -113,6 +138,12 @@ namespace Model Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2zOsDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2zOsDataProviderSettings.h index ca64a8176cf..04081a55b5f 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2zOsDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/IbmDb2zOsDataProviderSettings.h @@ -97,6 +97,31 @@ namespace Model template IbmDb2zOsDataProviderSettings& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + IbmDb2zOsDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + IbmDb2zOsDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -113,6 +138,12 @@ namespace Model Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MariaDbDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MariaDbDataProviderSettings.h index 663010b9b06..ea1d8bb29af 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MariaDbDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MariaDbDataProviderSettings.h @@ -84,6 +84,31 @@ namespace Model template MariaDbDataProviderSettings& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + MariaDbDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + MariaDbDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -97,6 +122,12 @@ namespace Model Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MicrosoftSqlServerDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MicrosoftSqlServerDataProviderSettings.h index 0bbc9f8e328..ee035344e58 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MicrosoftSqlServerDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MicrosoftSqlServerDataProviderSettings.h @@ -96,6 +96,31 @@ namespace Model template MicrosoftSqlServerDataProviderSettings& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + MicrosoftSqlServerDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + MicrosoftSqlServerDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -112,6 +137,12 @@ namespace Model Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/ModifyDataProviderRequest.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/ModifyDataProviderRequest.h index f44595cbc8c..bece92e8cbc 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/ModifyDataProviderRequest.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/ModifyDataProviderRequest.h @@ -90,6 +90,16 @@ namespace Model ModifyDataProviderRequest& WithEngine(EngineT&& value) { SetEngine(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

        Indicates whether the data provider is virtual.

        + */ + inline bool GetVirtual() const { return m_virtual; } + inline bool VirtualHasBeenSet() const { return m_virtualHasBeenSet; } + inline void SetVirtual(bool value) { m_virtualHasBeenSet = true; m_virtual = value; } + inline ModifyDataProviderRequest& WithVirtual(bool value) { SetVirtual(value); return *this;} + ///@} + ///@{ /** *

        If this attribute is Y, the current call to ModifyDataProvider @@ -131,6 +141,9 @@ namespace Model Aws::String m_engine; bool m_engineHasBeenSet = false; + bool m_virtual{false}; + bool m_virtualHasBeenSet = false; + bool m_exactSettings{false}; bool m_exactSettingsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MySqlDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MySqlDataProviderSettings.h index 8709250572e..e7d584972e2 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MySqlDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/MySqlDataProviderSettings.h @@ -84,6 +84,31 @@ namespace Model template MySqlDataProviderSettings& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + MySqlDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + MySqlDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -97,6 +122,12 @@ namespace Model Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/OracleDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/OracleDataProviderSettings.h index f52412923f7..1937c85e216 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/OracleDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/OracleDataProviderSettings.h @@ -168,6 +168,31 @@ namespace Model template OracleDataProviderSettings& WithSecretsManagerSecurityDbEncryptionAccessRoleArn(SecretsManagerSecurityDbEncryptionAccessRoleArnT&& value) { SetSecretsManagerSecurityDbEncryptionAccessRoleArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + OracleDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + OracleDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -199,6 +224,12 @@ namespace Model Aws::String m_secretsManagerSecurityDbEncryptionAccessRoleArn; bool m_secretsManagerSecurityDbEncryptionAccessRoleArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/PostgreSqlDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/PostgreSqlDataProviderSettings.h index 86573c87fcb..4efe8031e5d 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/PostgreSqlDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/PostgreSqlDataProviderSettings.h @@ -96,6 +96,31 @@ namespace Model template PostgreSqlDataProviderSettings& WithCertificateArn(CertificateArnT&& value) { SetCertificateArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + PostgreSqlDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + PostgreSqlDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -112,6 +137,12 @@ namespace Model Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/RedshiftDataProviderSettings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/RedshiftDataProviderSettings.h index dc9c3b7a601..a5158f26615 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/RedshiftDataProviderSettings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/RedshiftDataProviderSettings.h @@ -71,6 +71,31 @@ namespace Model template RedshiftDataProviderSettings& WithDatabaseName(DatabaseNameT&& value) { SetDatabaseName(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

        The path for the Amazon S3 bucket that the application uses for accessing the + * user-defined schema.

        + */ + inline const Aws::String& GetS3Path() const { return m_s3Path; } + inline bool S3PathHasBeenSet() const { return m_s3PathHasBeenSet; } + template + void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet = true; m_s3Path = std::forward(value); } + template + RedshiftDataProviderSettings& WithS3Path(S3PathT&& value) { SetS3Path(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

        The ARN for the role the application uses to access its Amazon S3 bucket.

        + */ + inline const Aws::String& GetS3AccessRoleArn() const { return m_s3AccessRoleArn; } + inline bool S3AccessRoleArnHasBeenSet() const { return m_s3AccessRoleArnHasBeenSet; } + template + void SetS3AccessRoleArn(S3AccessRoleArnT&& value) { m_s3AccessRoleArnHasBeenSet = true; m_s3AccessRoleArn = std::forward(value); } + template + RedshiftDataProviderSettings& WithS3AccessRoleArn(S3AccessRoleArnT&& value) { SetS3AccessRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_serverName; @@ -81,6 +106,12 @@ namespace Model Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; + + Aws::String m_s3Path; + bool m_s3PathHasBeenSet = false; + + Aws::String m_s3AccessRoleArn; + bool m_s3AccessRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/S3Settings.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/S3Settings.h index 2461edbeb96..5811d277df9 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/S3Settings.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/S3Settings.h @@ -697,11 +697,11 @@ namespace Model * to convert the current UTC time into a specified time zone. The conversion * occurs when a date partition folder is created and a CDC filename is generated. * The time zone format is Area/Location. Use this parameter when - * DatePartitionedEnabled is set to true, as shown in the - * following example.

        s3-settings='{"DatePartitionEnabled": true, + * DatePartitionedEnabled is set to true, as shown in the following + * example:

        s3-settings='{"DatePartitionEnabled": true, * "DatePartitionSequence": "YYYYMMDDHH", "DatePartitionDelimiter": "SLASH", - * "DatePartitionTimezone":"Asia/Seoul", "BucketName": - * "dms-nattarat-test"}'

        + * "DatePartitionTimezone":"Asia/Seoul", "BucketName": "dms-nattarat-test"}'
        + *

        */ inline const Aws::String& GetDatePartitionTimezone() const { return m_datePartitionTimezone; } inline bool DatePartitionTimezoneHasBeenSet() const { return m_datePartitionTimezoneHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/StartReplicationTaskRequest.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/StartReplicationTaskRequest.h index 067aa08c780..c597b22f267 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/StartReplicationTaskRequest.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/model/StartReplicationTaskRequest.h @@ -53,18 +53,26 @@ namespace Model ///@{ /** - *

        The type of replication task to start.

        When the migration type is - * full-load or full-load-and-cdc, the only valid value - * for the first run of the task is start-replication. This option - * will start the migration.

        You can also use ReloadTables to reload - * specific tables that failed during migration instead of restarting the task.

        - *

        The resume-processing option isn't applicable for a full-load - * task, because you can't resume partially loaded tables during the full load - * phase.

        For a full-load-and-cdc task, DMS migrates table - * data, and then applies data changes that occur on the source. To load all the - * tables again, and start capturing source changes, use - * reload-target. Otherwise use resume-processing, to - * replicate the changes from the last stop position.

        + *

        The type of replication task to start.

        start-replication + * is the only valid action that can be used for the first time a task with the + * migration type of full-loadfull-load, + * full-load-and-cdc or cdc is run. Any other action used + * for the first time on a given task, such as resume-processing and + * reload-target will result in data errors.

        You can also use + * ReloadTables to reload specific tables that failed during migration + * instead of restarting the task.

        For a full-load task, the + * resume-processing option will reload any tables that were partially loaded or + * not yet loaded during the full load phase.

        For a + * full-load-and-cdc task, DMS migrates table data, and then applies + * data changes that occur on the source. To load all the tables again, and start + * capturing source changes, use reload-target. Otherwise use + * resume-processing, to replicate the changes from the last stop + * position.

        For a cdc only task, to start from a specific + * position, you must use start-replication and also specify the start position. + * Check the source endpoint DMS documentation for any limitations. For example, + * not all sources support starting from a time.

        + * resume-processing is only available for previously executed + * tasks.

        */ inline StartReplicationTaskTypeValue GetStartReplicationTaskType() const { return m_startReplicationTaskType; } inline bool StartReplicationTaskTypeHasBeenSet() const { return m_startReplicationTaskTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/CreateDataProviderRequest.cpp b/generated/src/aws-cpp-sdk-dms/source/model/CreateDataProviderRequest.cpp index 5961e558232..aab6d57f2b5 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/CreateDataProviderRequest.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/CreateDataProviderRequest.cpp @@ -34,6 +34,12 @@ Aws::String CreateDataProviderRequest::SerializePayload() const } + if(m_virtualHasBeenSet) + { + payload.WithBool("Virtual", m_virtual); + + } + if(m_settingsHasBeenSet) { payload.WithObject("Settings", m_settings.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-dms/source/model/DataProvider.cpp b/generated/src/aws-cpp-sdk-dms/source/model/DataProvider.cpp index f2408756698..8cb3eddb087 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/DataProvider.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/DataProvider.cpp @@ -50,6 +50,11 @@ DataProvider& DataProvider::operator =(JsonView jsonValue) m_engine = jsonValue.GetString("Engine"); m_engineHasBeenSet = true; } + if(jsonValue.ValueExists("Virtual")) + { + m_virtual = jsonValue.GetBool("Virtual"); + m_virtualHasBeenSet = true; + } if(jsonValue.ValueExists("Settings")) { m_settings = jsonValue.GetObject("Settings"); @@ -91,6 +96,12 @@ JsonValue DataProvider::Jsonize() const } + if(m_virtualHasBeenSet) + { + payload.WithBool("Virtual", m_virtual); + + } + if(m_settingsHasBeenSet) { payload.WithObject("Settings", m_settings.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2LuwDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2LuwDataProviderSettings.cpp index 74272b015a3..01b2d0fdbff 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2LuwDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2LuwDataProviderSettings.cpp @@ -50,6 +50,16 @@ IbmDb2LuwDataProviderSettings& IbmDb2LuwDataProviderSettings::operator =(JsonVie m_certificateArn = jsonValue.GetString("CertificateArn"); m_certificateArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -86,6 +96,18 @@ JsonValue IbmDb2LuwDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2zOsDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2zOsDataProviderSettings.cpp index 13b220dd881..413e3c64ccd 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2zOsDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/IbmDb2zOsDataProviderSettings.cpp @@ -50,6 +50,16 @@ IbmDb2zOsDataProviderSettings& IbmDb2zOsDataProviderSettings::operator =(JsonVie m_certificateArn = jsonValue.GetString("CertificateArn"); m_certificateArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -86,6 +96,18 @@ JsonValue IbmDb2zOsDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/MariaDbDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/MariaDbDataProviderSettings.cpp index 68878aa0ac8..ec5cbb87de8 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/MariaDbDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/MariaDbDataProviderSettings.cpp @@ -45,6 +45,16 @@ MariaDbDataProviderSettings& MariaDbDataProviderSettings::operator =(JsonView js m_certificateArn = jsonValue.GetString("CertificateArn"); m_certificateArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -75,6 +85,18 @@ JsonValue MariaDbDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/MicrosoftSqlServerDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/MicrosoftSqlServerDataProviderSettings.cpp index 82378f5dc87..0765df67130 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/MicrosoftSqlServerDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/MicrosoftSqlServerDataProviderSettings.cpp @@ -50,6 +50,16 @@ MicrosoftSqlServerDataProviderSettings& MicrosoftSqlServerDataProviderSettings:: m_certificateArn = jsonValue.GetString("CertificateArn"); m_certificateArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -86,6 +96,18 @@ JsonValue MicrosoftSqlServerDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/ModifyDataProviderRequest.cpp b/generated/src/aws-cpp-sdk-dms/source/model/ModifyDataProviderRequest.cpp index bd672c08444..e14262a7317 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/ModifyDataProviderRequest.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/ModifyDataProviderRequest.cpp @@ -40,6 +40,12 @@ Aws::String ModifyDataProviderRequest::SerializePayload() const } + if(m_virtualHasBeenSet) + { + payload.WithBool("Virtual", m_virtual); + + } + if(m_exactSettingsHasBeenSet) { payload.WithBool("ExactSettings", m_exactSettings); diff --git a/generated/src/aws-cpp-sdk-dms/source/model/MySqlDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/MySqlDataProviderSettings.cpp index f7cd0def75b..ffcfc89de51 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/MySqlDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/MySqlDataProviderSettings.cpp @@ -45,6 +45,16 @@ MySqlDataProviderSettings& MySqlDataProviderSettings::operator =(JsonView jsonVa m_certificateArn = jsonValue.GetString("CertificateArn"); m_certificateArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -75,6 +85,18 @@ JsonValue MySqlDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/OracleDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/OracleDataProviderSettings.cpp index 5e3b6bf20fc..892fd2f65a7 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/OracleDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/OracleDataProviderSettings.cpp @@ -75,6 +75,16 @@ OracleDataProviderSettings& OracleDataProviderSettings::operator =(JsonView json m_secretsManagerSecurityDbEncryptionAccessRoleArn = jsonValue.GetString("SecretsManagerSecurityDbEncryptionAccessRoleArn"); m_secretsManagerSecurityDbEncryptionAccessRoleArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -141,6 +151,18 @@ JsonValue OracleDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/PostgreSqlDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/PostgreSqlDataProviderSettings.cpp index bfabfe3f60b..d694e0b0619 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/PostgreSqlDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/PostgreSqlDataProviderSettings.cpp @@ -50,6 +50,16 @@ PostgreSqlDataProviderSettings& PostgreSqlDataProviderSettings::operator =(JsonV m_certificateArn = jsonValue.GetString("CertificateArn"); m_certificateArnHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -86,6 +96,18 @@ JsonValue PostgreSqlDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-dms/source/model/RedshiftDataProviderSettings.cpp b/generated/src/aws-cpp-sdk-dms/source/model/RedshiftDataProviderSettings.cpp index 2daa54acb1a..1616d3b31b9 100644 --- a/generated/src/aws-cpp-sdk-dms/source/model/RedshiftDataProviderSettings.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/model/RedshiftDataProviderSettings.cpp @@ -40,6 +40,16 @@ RedshiftDataProviderSettings& RedshiftDataProviderSettings::operator =(JsonView m_databaseName = jsonValue.GetString("DatabaseName"); m_databaseNameHasBeenSet = true; } + if(jsonValue.ValueExists("S3Path")) + { + m_s3Path = jsonValue.GetString("S3Path"); + m_s3PathHasBeenSet = true; + } + if(jsonValue.ValueExists("S3AccessRoleArn")) + { + m_s3AccessRoleArn = jsonValue.GetString("S3AccessRoleArn"); + m_s3AccessRoleArnHasBeenSet = true; + } return *this; } @@ -65,6 +75,18 @@ JsonValue RedshiftDataProviderSettings::Jsonize() const } + if(m_s3PathHasBeenSet) + { + payload.WithString("S3Path", m_s3Path); + + } + + if(m_s3AccessRoleArnHasBeenSet) + { + payload.WithString("S3AccessRoleArn", m_s3AccessRoleArn); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h index 82dcd05fd8a..5e9cc79bed0 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h @@ -1308,13 +1308,15 @@ namespace EC2 } /** - *

        Attaches an EBS volume to a running or stopped instance and exposes it to the - * instance with the specified device name.

        Encrypted EBS volumes must be - * attached to instances that support Amazon EBS encryption. For more information, - * see Amazon - * EBS encryption in the Amazon EBS User Guide.

        After you attach - * an EBS volume, you must make it available. For more information, see Attaches an Amazon EBS volume to a running or + * stopped instance, and exposes it to the instance with the specified + * device name.

        The maximum number of Amazon EBS volumes that you can + * attach to an instance depends on the instance type. If you exceed the volume + * attachment limit for an instance type, the attachment request fails with the + * AttachmentLimitExceeded error. For more information, see Instance + * volume limits.

        After you attach an EBS volume, you must make + * it available for use. For more information, see Make * an EBS volume available for use.

        If a volume has an Amazon Web * Services Marketplace product code:

        • The volume can be attached diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Address.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Address.h index c34983e9ecf..7b49e772f54 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Address.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Address.h @@ -192,6 +192,18 @@ namespace Model Address& WithCarrierIp(CarrierIpT&& value) { SetCarrierIp(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

          The ID of the subnet where the IP address is allocated.

          + */ + inline const Aws::String& GetSubnetId() const { return m_subnetId; } + inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } + template + void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward(value); } + template + Address& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward(value)); return *this;} + ///@} + ///@{ /** *

          The service that manages the elastic IP address.

          The only @@ -264,6 +276,9 @@ namespace Model Aws::String m_carrierIp; bool m_carrierIpHasBeenSet = false; + Aws::String m_subnetId; + bool m_subnetIdHasBeenSet = false; + ServiceManaged m_serviceManaged{ServiceManaged::NOT_SET}; bool m_serviceManagedHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h index cc8b8ebdc25..b3862c9669a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h @@ -139,9 +139,9 @@ namespace Model * (api_gateway_managed | * aws_codestar_connections_managed | branch | * ec2_instance_connect_endpoint | efa | - * efa-only | efs | gateway_load_balancer | - * gateway_load_balancer_endpoint | - * global_accelerator_managed | interface | + * efa-only | efs | evs | + * gateway_load_balancer | gateway_load_balancer_endpoint + * | global_accelerator_managed | interface | * iot_rules_managed | lambda | * load_balancer | nat_gateway | * network_load_balancer | quicksight | diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h index 6cc05f5cdd3..25a8967386a 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h @@ -237,7 +237,8 @@ namespace Model ///@{ /** *

          The type of network interface.

          Valid values: interface | - * efa | efa-only | trunk

          + * efa | efa-only | evs | trunk + *

          */ inline const Aws::String& GetInterfaceType() const { return m_interfaceType; } inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyNetworkInterfaceAttributeRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyNetworkInterfaceAttributeRequest.h index 793ae5a2623..c28cdb3016f 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyNetworkInterfaceAttributeRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/ModifyNetworkInterfaceAttributeRequest.h @@ -8,10 +8,10 @@ #include #include #include +#include #include #include #include -#include #include #include @@ -105,6 +105,20 @@ namespace Model inline ModifyNetworkInterfaceAttributeRequest& WithAssociatePublicIpAddress(bool value) { SetAssociatePublicIpAddress(value); return *this;} ///@} + ///@{ + /** + *

          A list of subnet IDs to associate with the network interface.

          + */ + inline const Aws::Vector& GetAssociatedSubnetIds() const { return m_associatedSubnetIds; } + inline bool AssociatedSubnetIdsHasBeenSet() const { return m_associatedSubnetIdsHasBeenSet; } + template> + void SetAssociatedSubnetIds(AssociatedSubnetIdsT&& value) { m_associatedSubnetIdsHasBeenSet = true; m_associatedSubnetIds = std::forward(value); } + template> + ModifyNetworkInterfaceAttributeRequest& WithAssociatedSubnetIds(AssociatedSubnetIdsT&& value) { SetAssociatedSubnetIds(std::forward(value)); return *this;} + template + ModifyNetworkInterfaceAttributeRequest& AddAssociatedSubnetIds(AssociatedSubnetIdsT&& value) { m_associatedSubnetIdsHasBeenSet = true; m_associatedSubnetIds.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

          Checks whether you have the required permissions for the action, without @@ -203,6 +217,9 @@ namespace Model bool m_associatePublicIpAddress{false}; bool m_associatePublicIpAddressHasBeenSet = false; + Aws::Vector m_associatedSubnetIds; + bool m_associatedSubnetIdsHasBeenSet = false; + bool m_dryRun{false}; bool m_dryRunHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h index 24f669fcd53..fb353bcb26f 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/NetworkInterface.h @@ -433,6 +433,20 @@ namespace Model template NetworkInterface& WithOperator(OperatorT&& value) { SetOperator(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

          The subnets associated with this network interface.

          + */ + inline const Aws::Vector& GetAssociatedSubnets() const { return m_associatedSubnets; } + inline bool AssociatedSubnetsHasBeenSet() const { return m_associatedSubnetsHasBeenSet; } + template> + void SetAssociatedSubnets(AssociatedSubnetsT&& value) { m_associatedSubnetsHasBeenSet = true; m_associatedSubnets = std::forward(value); } + template> + NetworkInterface& WithAssociatedSubnets(AssociatedSubnetsT&& value) { SetAssociatedSubnets(std::forward(value)); return *this;} + template + NetworkInterface& AddAssociatedSubnets(AssociatedSubnetsT&& value) { m_associatedSubnetsHasBeenSet = true; m_associatedSubnets.emplace_back(std::forward(value)); return *this; } + ///@} private: NetworkInterfaceAssociation m_association; @@ -524,6 +538,9 @@ namespace Model OperatorResponse m_operator; bool m_operatorHasBeenSet = false; + + Aws::Vector m_associatedSubnets; + bool m_associatedSubnetsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Subnet.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Subnet.h index 3446997133e..3b3396f0a33 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Subnet.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/Subnet.h @@ -215,6 +215,22 @@ namespace Model Subnet& WithBlockPublicAccessStates(BlockPublicAccessStatesT&& value) { SetBlockPublicAccessStates(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

          Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS). + * Possible values are Elastic VMware Service or no value. For more + * information about Amazon EVS, see + * Amazon Elastic VMware Service API Reference .

          + */ + inline const Aws::String& GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + template + void SetType(TypeT&& value) { m_typeHasBeenSet = true; m_type = std::forward(value); } + template + Subnet& WithType(TypeT&& value) { SetType(std::forward(value)); return *this;} + ///@} + ///@{ /** *

          The ID of the subnet.

          @@ -229,7 +245,11 @@ namespace Model ///@{ /** - *

          The current state of the subnet.

          + *

          The current state of the subnet.

          • failed: The + * underlying infrastructure to support the subnet failed to provision as + * expected.

          • failed-insufficient-capacity: The + * underlying infrastructure to support the subnet failed to provision due to a + * shortage of EC2 instance capacity.

          */ inline SubnetState GetState() const { return m_state; } inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } @@ -351,6 +371,9 @@ namespace Model BlockPublicAccessStates m_blockPublicAccessStates; bool m_blockPublicAccessStatesHasBeenSet = false; + Aws::String m_type; + bool m_typeHasBeenSet = false; + Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetState.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetState.h index c8a8c589f0d..a7f846cf951 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetState.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SubnetState.h @@ -18,7 +18,9 @@ namespace Model NOT_SET, pending, available, - unavailable + unavailable, + failed, + failed_insufficient_capacity }; namespace SubnetStateMapper diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/Address.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/Address.cpp index 7fda66b2a25..2e565755fd2 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/Address.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/Address.cpp @@ -110,6 +110,12 @@ Address& Address::operator =(const XmlNode& xmlNode) m_carrierIp = Aws::Utils::Xml::DecodeEscapedXmlText(carrierIpNode.GetText()); m_carrierIpHasBeenSet = true; } + XmlNode subnetIdNode = resultNode.FirstChild("subnetId"); + if(!subnetIdNode.IsNull()) + { + m_subnetId = Aws::Utils::Xml::DecodeEscapedXmlText(subnetIdNode.GetText()); + m_subnetIdHasBeenSet = true; + } XmlNode serviceManagedNode = resultNode.FirstChild("serviceManaged"); if(!serviceManagedNode.IsNull()) { @@ -201,6 +207,11 @@ void Address::OutputToStream(Aws::OStream& oStream, const char* location, unsign oStream << location << index << locationValue << ".CarrierIp=" << StringUtils::URLEncode(m_carrierIp.c_str()) << "&"; } + if(m_subnetIdHasBeenSet) + { + oStream << location << index << locationValue << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; + } + if(m_serviceManagedHasBeenSet) { oStream << location << index << locationValue << ".ServiceManaged=" << StringUtils::URLEncode(ServiceManagedMapper::GetNameForServiceManaged(m_serviceManaged)) << "&"; @@ -274,6 +285,10 @@ void Address::OutputToStream(Aws::OStream& oStream, const char* location) const { oStream << location << ".CarrierIp=" << StringUtils::URLEncode(m_carrierIp.c_str()) << "&"; } + if(m_subnetIdHasBeenSet) + { + oStream << location << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; + } if(m_serviceManagedHasBeenSet) { oStream << location << ".ServiceManaged=" << StringUtils::URLEncode(ServiceManagedMapper::GetNameForServiceManaged(m_serviceManaged)) << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyNetworkInterfaceAttributeRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyNetworkInterfaceAttributeRequest.cpp index b02e0d31b44..b1fcede4815 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/ModifyNetworkInterfaceAttributeRequest.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/ModifyNetworkInterfaceAttributeRequest.cpp @@ -34,6 +34,17 @@ Aws::String ModifyNetworkInterfaceAttributeRequest::SerializePayload() const ss << "AssociatePublicIpAddress=" << std::boolalpha << m_associatePublicIpAddress << "&"; } + if(m_associatedSubnetIdsHasBeenSet) + { + unsigned associatedSubnetIdsCount = 1; + for(auto& item : m_associatedSubnetIds) + { + ss << "AssociatedSubnetId." << associatedSubnetIdsCount << "=" + << StringUtils::URLEncode(item.c_str()) << "&"; + associatedSubnetIdsCount++; + } + } + if(m_dryRunHasBeenSet) { ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/NetworkInterface.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/NetworkInterface.cpp index 56aa28d4282..4a5c7e0b5c3 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/NetworkInterface.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/NetworkInterface.cpp @@ -253,6 +253,19 @@ NetworkInterface& NetworkInterface::operator =(const XmlNode& xmlNode) m_operator = operatorNode; m_operatorHasBeenSet = true; } + XmlNode associatedSubnetsNode = resultNode.FirstChild("associatedSubnetSet"); + if(!associatedSubnetsNode.IsNull()) + { + XmlNode associatedSubnetsMember = associatedSubnetsNode.FirstChild("item"); + m_associatedSubnetsHasBeenSet = !associatedSubnetsMember.IsNull(); + while(!associatedSubnetsMember.IsNull()) + { + m_associatedSubnets.push_back(associatedSubnetsMember.GetText()); + associatedSubnetsMember = associatedSubnetsMember.NextNode("item"); + } + + m_associatedSubnetsHasBeenSet = true; + } } return *this; @@ -456,6 +469,15 @@ void NetworkInterface::OutputToStream(Aws::OStream& oStream, const char* locatio m_operator.OutputToStream(oStream, operatorLocationAndMemberSs.str().c_str()); } + if(m_associatedSubnetsHasBeenSet) + { + unsigned associatedSubnetsIdx = 1; + for(auto& item : m_associatedSubnets) + { + oStream << location << index << locationValue << ".AssociatedSubnetSet." << associatedSubnetsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } + } void NetworkInterface::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -626,6 +648,14 @@ void NetworkInterface::OutputToStream(Aws::OStream& oStream, const char* locatio operatorLocationAndMember += ".Operator"; m_operator.OutputToStream(oStream, operatorLocationAndMember.c_str()); } + if(m_associatedSubnetsHasBeenSet) + { + unsigned associatedSubnetsIdx = 1; + for(auto& item : m_associatedSubnets) + { + oStream << location << ".AssociatedSubnetSet." << associatedSubnetsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; + } + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/Subnet.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/Subnet.cpp index d684e457336..9e16b56305c 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/Subnet.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/Subnet.cpp @@ -129,6 +129,12 @@ Subnet& Subnet::operator =(const XmlNode& xmlNode) m_blockPublicAccessStates = blockPublicAccessStatesNode; m_blockPublicAccessStatesHasBeenSet = true; } + XmlNode typeNode = resultNode.FirstChild("type"); + if(!typeNode.IsNull()) + { + m_type = Aws::Utils::Xml::DecodeEscapedXmlText(typeNode.GetText()); + m_typeHasBeenSet = true; + } XmlNode subnetIdNode = resultNode.FirstChild("subnetId"); if(!subnetIdNode.IsNull()) { @@ -270,6 +276,11 @@ void Subnet::OutputToStream(Aws::OStream& oStream, const char* location, unsigne m_blockPublicAccessStates.OutputToStream(oStream, blockPublicAccessStatesLocationAndMemberSs.str().c_str()); } + if(m_typeHasBeenSet) + { + oStream << location << index << locationValue << ".Type=" << StringUtils::URLEncode(m_type.c_str()) << "&"; + } + if(m_subnetIdHasBeenSet) { oStream << location << index << locationValue << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; @@ -386,6 +397,10 @@ void Subnet::OutputToStream(Aws::OStream& oStream, const char* location) const blockPublicAccessStatesLocationAndMember += ".BlockPublicAccessStates"; m_blockPublicAccessStates.OutputToStream(oStream, blockPublicAccessStatesLocationAndMember.c_str()); } + if(m_typeHasBeenSet) + { + oStream << location << ".Type=" << StringUtils::URLEncode(m_type.c_str()) << "&"; + } if(m_subnetIdHasBeenSet) { oStream << location << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/SubnetState.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/SubnetState.cpp index d6eaa35e6c1..829a658ca32 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/SubnetState.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/SubnetState.cpp @@ -23,6 +23,8 @@ namespace Aws static const int pending_HASH = HashingUtils::HashString("pending"); static const int available_HASH = HashingUtils::HashString("available"); static const int unavailable_HASH = HashingUtils::HashString("unavailable"); + static const int failed_HASH = HashingUtils::HashString("failed"); + static const int failed_insufficient_capacity_HASH = HashingUtils::HashString("failed-insufficient-capacity"); SubnetState GetSubnetStateForName(const Aws::String& name) @@ -40,6 +42,14 @@ namespace Aws { return SubnetState::unavailable; } + else if (hashCode == failed_HASH) + { + return SubnetState::failed; + } + else if (hashCode == failed_insufficient_capacity_HASH) + { + return SubnetState::failed_insufficient_capacity; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +72,10 @@ namespace Aws return "available"; case SubnetState::unavailable: return "unavailable"; + case SubnetState::failed: + return "failed"; + case SubnetState::failed_insufficient_capacity: + return "failed-insufficient-capacity"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) 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 e34bcdfbc77..86a0d383463 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 @@ -531,11 +531,18 @@ namespace ECR } /** - *

          Returns metadata about the images in a repository.

          Beginning + *

          Returns metadata about the images in a repository.

          Starting * with Docker version 1.9, the Docker client compresses image layers before * pushing them to a V2 Docker registry. The output of the docker - * images command shows the uncompressed image size, so it may return a - * larger image size than the image sizes returned by DescribeImages.

          + * images command shows the uncompressed image size. Therefore, Docker might + * return a larger image than the image shown in the Amazon Web Services Management + * Console.

          The new version of Amazon ECR Basic + * Scanning doesn't use the ImageDetail$imageScanFindingsSummary and + * ImageDetail$imageScanStatus attributes from the API response to return + * scan results. Use the DescribeImageScanFindings API instead. For more + * information about Amazon Web Services native basic scanning, see + * Scan images for software vulnerabilities in Amazon ECR.

          *

          See Also:

          AWS * API Reference

          diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/AwsEcrContainerImageDetails.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/AwsEcrContainerImageDetails.h index 3ee5848b185..6b4228f0d04 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/AwsEcrContainerImageDetails.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/AwsEcrContainerImageDetails.h @@ -114,6 +114,29 @@ namespace Model AwsEcrContainerImageDetails& WithPushedAt(PushedAtT&& value) { SetPushedAt(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

          The most recent date and time a cluster was running the image.

          + */ + inline const Aws::Utils::DateTime& GetLastInUseAt() const { return m_lastInUseAt; } + inline bool LastInUseAtHasBeenSet() const { return m_lastInUseAtHasBeenSet; } + template + void SetLastInUseAt(LastInUseAtT&& value) { m_lastInUseAtHasBeenSet = true; m_lastInUseAt = std::forward(value); } + template + AwsEcrContainerImageDetails& WithLastInUseAt(LastInUseAtT&& value) { SetLastInUseAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          The number of Amazon ECS or Amazon EKS clusters currently running the + * image.

          + */ + inline long long GetInUseCount() const { return m_inUseCount; } + inline bool InUseCountHasBeenSet() const { return m_inUseCountHasBeenSet; } + inline void SetInUseCount(long long value) { m_inUseCountHasBeenSet = true; m_inUseCount = value; } + inline AwsEcrContainerImageDetails& WithInUseCount(long long value) { SetInUseCount(value); return *this;} + ///@} + ///@{ /** *

          The registry the Amazon ECR container image belongs to.

          @@ -157,6 +180,12 @@ namespace Model Aws::Utils::DateTime m_pushedAt{}; bool m_pushedAtHasBeenSet = false; + Aws::Utils::DateTime m_lastInUseAt{}; + bool m_lastInUseAtHasBeenSet = false; + + long long m_inUseCount{0}; + bool m_inUseCountHasBeenSet = false; + Aws::String m_registry; bool m_registryHasBeenSet = false; 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 c555ea0494d..dd1f5d50083 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 @@ -55,11 +55,12 @@ namespace Model *

          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 (ecr) – - * dkr.ecr.<region>.amazonaws.com

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

          • - *

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

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

          • GitLab Container Registry + * <accountId>.dkr.ecr.<region>.amazonaws.com

          • + *
          • Amazon ECR Public (ecr-public) – + * public.ecr.aws

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

          • + *

            GitHub Container Registry (github-container-registry) – + * ghcr.io

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

            *
          • Kubernetes (k8s) – registry.k8s.io

            *
          • Microsoft Azure Container Registry diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetAuthorizationTokenResult.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetAuthorizationTokenResult.h index 57cf4526098..a9a7721092c 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetAuthorizationTokenResult.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetAuthorizationTokenResult.h @@ -37,7 +37,9 @@ namespace Model ///@{ /** *

            A list of authorization token data objects that correspond to the - * registryIds values in the request.

            + * registryIds values in the request.

            The size of the + * authorization token returned by Amazon ECR is not fixed. We recommend that you + * don't make assumptions about the maximum size.

            */ inline const Aws::Vector& GetAuthorizationData() const { return m_authorizationData; } template> diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetLifecyclePolicyPreviewRequest.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetLifecyclePolicyPreviewRequest.h index 7c60f37d465..50e0bd8ccfc 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetLifecyclePolicyPreviewRequest.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/GetLifecyclePolicyPreviewRequest.h @@ -104,9 +104,9 @@ namespace Model * nextToken
 response element. The remaining results of the * initial request can be seen by sending
 another * GetLifecyclePolicyPreviewRequest request with the returned - * nextToken
 value. This value can be between 1 and 1000. If + * nextToken
 value. This value can be between 1 and 100. If * this
 parameter is not used, then - * GetLifecyclePolicyPreviewRequest returns up to
 100 results + * GetLifecyclePolicyPreviewRequest returns up to
100 results * and a nextToken value, if
 applicable. This option cannot be * used when you specify images with imageIds.

            */ diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/ImageDetail.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/ImageDetail.h index 06ec1a95095..25fe294c333 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/ImageDetail.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/model/ImageDetail.h @@ -100,8 +100,8 @@ namespace Model *

            Starting with Docker version 1.9, the Docker client compresses image * layers before pushing them to a V2 Docker registry. The output of the * docker images command shows the uncompressed image size. Therefore, - * Docker might return a larger image than the image sizes returned by - * DescribeImages.

            + * Docker might return a larger image than the image shown in the Amazon Web + * Services Management Console.

            */ inline long long GetImageSizeInBytes() const { return m_imageSizeInBytes; } inline bool ImageSizeInBytesHasBeenSet() const { return m_imageSizeInBytesHasBeenSet; } 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 index 3b404ebbf25..a2af0aa182c 100644 --- 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 @@ -102,9 +102,10 @@ namespace Model ///@{ /** *

            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.

            + * 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 ImageTagMutability GetImageTagMutability() const { return m_imageTagMutability; } inline bool ImageTagMutabilityHasBeenSet() const { return m_imageTagMutabilityHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecr/source/model/AwsEcrContainerImageDetails.cpp b/generated/src/aws-cpp-sdk-ecr/source/model/AwsEcrContainerImageDetails.cpp index 45bc356e5fb..a918eea3831 100644 --- a/generated/src/aws-cpp-sdk-ecr/source/model/AwsEcrContainerImageDetails.cpp +++ b/generated/src/aws-cpp-sdk-ecr/source/model/AwsEcrContainerImageDetails.cpp @@ -59,6 +59,16 @@ AwsEcrContainerImageDetails& AwsEcrContainerImageDetails::operator =(JsonView js m_pushedAt = jsonValue.GetDouble("pushedAt"); m_pushedAtHasBeenSet = true; } + if(jsonValue.ValueExists("lastInUseAt")) + { + m_lastInUseAt = jsonValue.GetDouble("lastInUseAt"); + m_lastInUseAtHasBeenSet = true; + } + if(jsonValue.ValueExists("inUseCount")) + { + m_inUseCount = jsonValue.GetInt64("inUseCount"); + m_inUseCountHasBeenSet = true; + } if(jsonValue.ValueExists("registry")) { m_registry = jsonValue.GetString("registry"); @@ -116,6 +126,17 @@ JsonValue AwsEcrContainerImageDetails::Jsonize() const payload.WithDouble("pushedAt", m_pushedAt.SecondsWithMSPrecision()); } + if(m_lastInUseAtHasBeenSet) + { + payload.WithDouble("lastInUseAt", m_lastInUseAt.SecondsWithMSPrecision()); + } + + if(m_inUseCountHasBeenSet) + { + payload.WithInt64("inUseCount", m_inUseCount); + + } + if(m_registryHasBeenSet) { payload.WithString("registry", m_registry); diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 645e3c50416..97f32468b5b 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -177,7 +177,7 @@ namespace ECS * Guide.

            You can attach Amazon EBS volumes to Amazon ECS tasks by * configuring the volume when creating or updating a service. * volumeConfigurations is only supported for REPLICA service and not - * DAEMON service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

            Tasks for services that don't use a load balancer are @@ -1524,7 +1524,7 @@ namespace ECS *

            Alternatively, you can use StartTask to use your own scheduler * or place tasks manually on specific container instances.

            You can attach * Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating - * or updating a service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

            The Amazon ECS API follows an eventual consistency model. This @@ -1590,7 +1590,7 @@ namespace ECS * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html">Scheduling * Tasks in the Amazon Elastic Container Service Developer Guide.

            *

            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the - * volume when creating or updating a service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

            See Also:

            You can attach Amazon * EBS volumes to Amazon ECS tasks by configuring the volume when starting or - * running a task, or when creating or updating a service. For more infomation, see - * Amazon * EBS volumes in the Amazon Elastic Container Service Developer Guide. * You can update your volume configurations and trigger a new deployment. * volumeConfigurations is only supported for REPLICA service and not * DAEMON service. If you leave volumeConfigurations - * null, it doesn't trigger a new deployment. For more infomation on + * null, it doesn't trigger a new deployment. For more information on * volumes, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer @@ -2053,7 +2053,7 @@ namespace ECS * definition in a service by specifying the cluster that the service is running in * and a new desiredCount parameter.

            You can attach Amazon EBS * volumes to Amazon ECS tasks by configuring the volume when starting or running a - * task, or when creating or updating a service. For more infomation, see Amazon * EBS volumes in the Amazon Elastic Container Service Developer * Guide.

            If you have updated the container image of your application, @@ -2113,13 +2113,8 @@ namespace ECS * instances in either zone B or C are considered optimal for termination.

            *
          • Stop the task on a container instance in an optimal Availability * Zone (based on the previous steps), favoring container instances with the - * largest number of running tasks for this service.

          You - * must have a service-linked role when you update any of the following service - * properties:

          • loadBalancers,

          • - * serviceRegistries

          For more information about - * the role see the CreateService request parameter - * role .

          See Also:

        See + * Also:

        AWS * API Reference

        */ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h index eae07352d7f..53c93ac36dd 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerDefinition.h @@ -81,10 +81,15 @@ namespace Model * Docker daemon. By default, images in the Docker Hub registry are available. * Other repositories are specified with either * repository-url/image:tag or - * repository-url/image@digest . Up to 255 letters - * (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, - * forward slashes, and number signs are allowed. This parameter maps to - * Image in the docker container create command and the + * repository-url/image@digest . For images using tags + * (repository-url/image:tag), up to 255 characters total are allowed, including + * letters (uppercase and lowercase), numbers, hyphens, underscores, colons, + * periods, forward slashes, and number signs (#). For images using digests + * (repository-url/image@digest), the 255 character limit applies only to the + * repository URL and image name (everything before the @ sign). The only supported + * hash function is sha256, and the hash value after sha256: must be exactly 64 + * characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter + * maps to Image in the docker container create command and the * IMAGE parameter of docker run.

        • When a new task * starts, the Amazon ECS container agent pulls the latest version of the specified * image and tag for the container to use. However, subsequent updates to a diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h index fc32381b499..ce0f67beab3 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h @@ -82,18 +82,42 @@ namespace Model *

          If a task is run manually, and not as part of a service, the task will * continue its lifecycle regardless of its health status. For tasks that are part * of a service, if the task reports as unhealthy then the task will be stopped and - * the service scheduler will replace it.

          The following are notes about - * container health check support:

          • If the Amazon ECS container - * agent becomes disconnected from the Amazon ECS service, this won't cause a - * container to transition to an UNHEALTHY status. This is by design, - * to ensure that containers remain running during agent restarts or temporary - * unavailability. The health check status is the "last heard from" response from - * the Amazon ECS agent, so if the container was considered HEALTHY - * prior to the disconnect, that status will remain until the agent reconnects and - * another health check occurs. There are no assumptions made about the status of - * the container health checks.

          • Container health checks require - * version 1.17.0 or greater of the Amazon ECS container agent. For - * more information, see

            When a container health check + * fails for a task that is part of a service, the following process occurs:

            + *
            1. The task is marked as UNHEALTHY.

            2. The + * unhealthy task will be stopped, and during the stopping process, it will go + * through the following states:

              • DEACTIVATING - In + * this state, Amazon ECS performs additional steps before stopping the task. For + * example, for tasks that are part of services configured to use Elastic Load + * Balancing target groups, target groups will be deregistered in this state.

                + *
              • STOPPING - The task is in the process of being + * stopped.

              • DEPROVISIONING - Resources associated + * with the task are being cleaned up.

              • STOPPED - + * The task has been completely stopped.

            3. After the + * old task stops, a new task will be launched to ensure service operation, and the + * new task will go through the following lifecycle:

              • + * PROVISIONING - Resources required for the task are being + * provisioned.

              • PENDING - The task is waiting to be + * placed on a container instance.

              • ACTIVATING - In + * this state, Amazon ECS pulls container images, creates containers, configures + * task networking, registers load balancer target groups, and configures service + * discovery status.

              • RUNNING - The task is running + * and performing its work.

            For more detailed + * information about task lifecycle states, see Task + * lifecycle in the Amazon Elastic Container Service Developer + * Guide.

            The following are notes about container health check + * support:

            • If the Amazon ECS container agent becomes disconnected + * from the Amazon ECS service, this won't cause a container to transition to an + * UNHEALTHY status. This is by design, to ensure that containers + * remain running during agent restarts or temporary unavailability. The health + * check status is the "last heard from" response from the Amazon ECS agent, so if + * the container was considered HEALTHY prior to the disconnect, that + * status will remain until the agent reconnects and another health check occurs. + * There are no assumptions made about the status of the container health + * checks.

            • Container health checks require version + * 1.17.0 or greater of the Amazon ECS container agent. For more + * information, see Updating * the Amazon ECS container agent.

            • Container health checks * are supported for Fargate tasks if you're using platform version diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h index 98e9d31f7e5..2e26491cd49 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/OSFamily.h @@ -22,6 +22,8 @@ namespace Model WINDOWS_SERVER_2004_CORE, WINDOWS_SERVER_2022_CORE, WINDOWS_SERVER_2022_FULL, + WINDOWS_SERVER_2025_CORE, + WINDOWS_SERVER_2025_FULL, WINDOWS_SERVER_20H2_CORE, LINUX }; diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h index a83648bef55..e8b9cb05095 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h @@ -51,7 +51,7 @@ namespace Model /** *

              The short name or full Amazon Resource Name (ARN) of the cluster that your * service runs on. If you do not specify a cluster, the default cluster is - * assumed.

              + * assumed.

              You can't change the cluster name.

              */ inline const Aws::String& GetCluster() const { return m_cluster; } inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } @@ -103,30 +103,23 @@ namespace Model ///@{ /** - *

              The capacity provider strategy to update the service to use.

              if the - * service uses the default capacity provider strategy for the cluster, the service - * can be updated to use one or more capacity providers as opposed to the default - * capacity provider strategy. However, when a service is using a capacity provider - * strategy that's not the default capacity provider strategy, the service can't be - * updated to use the cluster's default capacity provider strategy.

              A - * capacity provider strategy consists of one or more capacity providers along with - * the base and weight to assign to them. A capacity - * provider must be associated with the cluster to be used in a capacity provider - * strategy. The PutClusterCapacityProviders - * API is used to associate a capacity provider with a cluster. Only capacity - * providers with an ACTIVE or UPDATING status can be - * used.

              If specifying a capacity provider that uses an Auto Scaling group, - * the capacity provider must already be created. New capacity providers can be - * created with the CreateClusterCapacityProvider - * API operation.

              To use a Fargate capacity provider, specify either the - * FARGATE or FARGATE_SPOT capacity providers. The - * Fargate capacity providers are available to all accounts and only need to be - * associated with a cluster to be used.

              The PutClusterCapacityProvidersAPI - * operation is used to update the list of available capacity providers for a - * cluster after the cluster is created.

              + *

              The details of a capacity provider strategy. You can set a capacity provider + * when you create a cluster, run a task, or update a service.

              When you use + * Fargate, the capacity providers are FARGATE or + * FARGATE_SPOT.

              When you use Amazon EC2, the capacity + * providers are Auto Scaling groups.

              You can change capacity providers for + * rolling deployments and blue/green deployments.

              The following list + * provides the valid transitions:

              • Update the Fargate launch type + * to an Auto Scaling group capacity provider.

              • Update the Amazon + * EC2 launch type to a Fargate capacity provider.

              • Update the + * Fargate capacity provider to an Auto Scaling group capacity provider.

              • + *
              • Update the Amazon EC2 capacity provider to a Fargate capacity provider. + *

              • Update the Auto Scaling group or Fargate capacity provider + * back to the launch type.

                Pass an empty list in the + * capacityProviderStrategy parameter.

              For + * information about Amazon Web Services CDK considerations, see Amazon + * Web Services CDK considerations.

              */ inline const Aws::Vector& GetCapacityProviderStrategy() const { return m_capacityProviderStrategy; } inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; } @@ -301,9 +294,10 @@ namespace Model ///@{ /** - *

              A list of Elastic Load Balancing load balancer objects. It contains the load - * balancer name, the container name, and the container port to access from the - * load balancer. The container name is as it appears in a container + *

              You must have a service-linked role when you update this property

              + *

              A list of Elastic Load Balancing load balancer objects. It contains + * the load balancer name, the container name, and the container port to access + * from the load balancer. The container name is as it appears in a container * definition.

              When you add, update, or remove a load balancer * configuration, Amazon ECS starts new tasks with the updated Elastic Load * Balancing configuration, and then stops the old tasks when the new tasks are @@ -353,8 +347,12 @@ namespace Model ///@{ /** - *

              The details for the service discovery registries to assign to this service. - * For more information, see You must have a service-linked role when you update this property.

              + *

              For more information about the role see the CreateService + * request parameter + * role .

              The details for the service discovery + * registries to assign to this service. For more information, see Service * Discovery.

              When you add, update, or remove the service registries * configuration, Amazon ECS starts new tasks with the updated service registries diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp index 414db7d381a..e937a96267a 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/OSFamily.cpp @@ -26,6 +26,8 @@ namespace Aws static const int WINDOWS_SERVER_2004_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_2004_CORE"); static const int WINDOWS_SERVER_2022_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_2022_CORE"); static const int WINDOWS_SERVER_2022_FULL_HASH = HashingUtils::HashString("WINDOWS_SERVER_2022_FULL"); + static const int WINDOWS_SERVER_2025_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_2025_CORE"); + static const int WINDOWS_SERVER_2025_FULL_HASH = HashingUtils::HashString("WINDOWS_SERVER_2025_FULL"); static const int WINDOWS_SERVER_20H2_CORE_HASH = HashingUtils::HashString("WINDOWS_SERVER_20H2_CORE"); static const int LINUX_HASH = HashingUtils::HashString("LINUX"); @@ -57,6 +59,14 @@ namespace Aws { return OSFamily::WINDOWS_SERVER_2022_FULL; } + else if (hashCode == WINDOWS_SERVER_2025_CORE_HASH) + { + return OSFamily::WINDOWS_SERVER_2025_CORE; + } + else if (hashCode == WINDOWS_SERVER_2025_FULL_HASH) + { + return OSFamily::WINDOWS_SERVER_2025_FULL; + } else if (hashCode == WINDOWS_SERVER_20H2_CORE_HASH) { return OSFamily::WINDOWS_SERVER_20H2_CORE; @@ -93,6 +103,10 @@ namespace Aws return "WINDOWS_SERVER_2022_CORE"; case OSFamily::WINDOWS_SERVER_2022_FULL: return "WINDOWS_SERVER_2022_FULL"; + case OSFamily::WINDOWS_SERVER_2025_CORE: + return "WINDOWS_SERVER_2025_CORE"; + case OSFamily::WINDOWS_SERVER_2025_FULL: + return "WINDOWS_SERVER_2025_FULL"; case OSFamily::WINDOWS_SERVER_20H2_CORE: return "WINDOWS_SERVER_20H2_CORE"; case OSFamily::LINUX: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h index 5d0e786da16..ca3faed907d 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h @@ -264,7 +264,9 @@ namespace EKS * endpointPublicAccess and endpointPrivateAccess * parameters to enable or disable public and private access to your cluster's * Kubernetes API server endpoint. By default, public access is enabled, and - * private access is disabled. For more information, see ipFamily for the cluster. For more + * information, see Amazon * EKS Cluster Endpoint Access Control in the Amazon EKS User Guide * .

              You can use the logging parameter to enable or @@ -435,17 +437,31 @@ namespace EKS /** *

              Creates an EKS Pod Identity association between a service account in an * Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod - * Identity to give temporary IAM credentials to pods and the credentials are + * Identity to give temporary IAM credentials to Pods and the credentials are * rotated automatically.

              Amazon EKS Pod Identity associations provide the * ability to manage credentials for your applications, similar to the way that * Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

              - *

              If a pod uses a service account that has an association, Amazon EKS sets - * environment variables in the containers of the pod. The environment variables + *

              If a Pod uses a service account that has an association, Amazon EKS sets + * environment variables in the containers of the Pod. The environment variables * configure the Amazon Web Services SDKs, including the Command Line Interface, to - * use the EKS Pod Identity credentials.

              Pod Identity is a simpler method - * than IAM roles for service accounts, as this method doesn't use OIDC - * identity providers. Additionally, you can configure a role for Pod Identity - * once, and reuse it across clusters.

              See Also:

              EKS Pod Identity is a simpler + * method than IAM roles for service accounts, as this method doesn't use + * OIDC identity providers. Additionally, you can configure a role for EKS Pod + * Identity once, and reuse it across clusters.

              Similar to Amazon Web + * Services IAM behavior, EKS Pod Identity associations are eventually consistent, + * and may take several seconds to be effective after the initial API call returns + * successfully. You must design your applications to account for these potential + * delays. We recommend that you don’t include association create/updates in the + * critical, high-availability code paths of your application. Instead, make + * changes in a separate initialization or setup routine that you run less + * frequently.

              You can set a target IAM role in the same or a + * different account for advanced scenarios. With a target role, EKS Pod Identity + * automatically performs two role assumptions in sequence: first assuming the role + * in the association that is in this account, then using those credentials to + * assume the target IAM role. This process provides your Pod with temporary + * credentials that have the permissions defined in the target role, allowing + * secure access to resources in another Amazon Web Services account.

              See + * Also:

              AWS * API Reference

              */ @@ -1615,8 +1631,8 @@ namespace EKS * public and private access to your cluster's Kubernetes API server endpoint. By * default, public access is enabled, and private access is disabled. For more * information, see Amazon - * EKS cluster endpoint access control in the Amazon EKS User Guide + * href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html"> + * Cluster API server endpoint in the Amazon EKS User Guide * .

            • You can also use this API operation to choose different * subnets and security groups for the cluster. You must specify at least two * subnets that are in different Availability Zones. You can't change which VPC the @@ -1806,11 +1822,26 @@ namespace EKS } /** - *

              Updates a EKS Pod Identity association. Only the IAM role can be changed; an - * association can't be moved between clusters, namespaces, or service accounts. If - * you need to edit the namespace or service account, you need to delete the - * association and then create a new association with your desired - * settings.

              See Also:

              Updates a EKS Pod Identity association. In an update, you can change the IAM + * role, the target IAM role, or disableSessionTags. You must change + * at least one of these in an update. An association can't be moved between + * clusters, namespaces, or service accounts. If you need to edit the namespace or + * service account, you need to delete the association and then create a new + * association with your desired settings.

              Similar to Amazon Web Services + * IAM behavior, EKS Pod Identity associations are eventually consistent, and may + * take several seconds to be effective after the initial API call returns + * successfully. You must design your applications to account for these potential + * delays. We recommend that you don’t include association create/updates in the + * critical, high-availability code paths of your application. Instead, make + * changes in a separate initialization or setup routine that you run less + * frequently.

              You can set a target IAM role in the same or a + * different account for advanced scenarios. With a target role, EKS Pod Identity + * automatically performs two role assumptions in sequence: first assuming the role + * in the association that is in this account, then using those credentials to + * assume the target IAM role. This process provides your Pod with temporary + * credentials that have the permissions defined in the target role, allowing + * secure access to resources in another Amazon Web Services account.

              See + * Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h index 9509992eb8d..e664731d9bd 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/Addon.h @@ -221,12 +221,12 @@ namespace Model ///@{ /** - *

              An array of Pod Identity Assocations owned by the Addon. Each EKS Pod - * Identity association maps a role to a service account in a namespace in the - * cluster.

              For more information, see An array of EKS Pod Identity associations owned by the add-on. Each + * association maps a role to a service account in a namespace in the cluster.

              + *

              For more information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS - * User Guide.

              + * an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon + * EKS User Guide.

              */ inline const Aws::Vector& GetPodIdentityAssociations() const { return m_podIdentityAssociations; } inline bool PodIdentityAssociationsHasBeenSet() const { return m_podIdentityAssociationsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h index 3ea6de767fb..ac1238e5abe 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityAssociations.h @@ -24,12 +24,12 @@ namespace Model { /** - *

              A type of Pod Identity Association owned by an Amazon EKS Add-on.

              Each - * EKS Pod Identity Association maps a role to a service account in a namespace in - * the cluster.

              For more information, see A type of EKS Pod Identity association owned by an Amazon EKS add-on.

              + *

              Each association maps a role to a service account in a namespace in the + * cluster.

              For more information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS - * User Guide.

              See Also:

              in the Amazon + * EKS User Guide.

              See Also:

              AWS * API Reference

              */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityConfiguration.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityConfiguration.h index c29ebd5844a..8c1ead24afd 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityConfiguration.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonPodIdentityConfiguration.h @@ -25,8 +25,8 @@ namespace Model { /** - *

              Information about how to configure IAM for an Addon.

              See Also:

              - * Information about how to configure IAM for an add-on.

              See + * Also:

              AWS * API Reference

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

              The Kubernetes Service Account name used by the addon.

              + *

              The Kubernetes Service Account name used by the add-on.

              */ inline const Aws::String& GetServiceAccount() const { return m_serviceAccount; } inline bool ServiceAccountHasBeenSet() const { return m_serviceAccountHasBeenSet; } @@ -53,7 +53,7 @@ namespace Model ///@{ /** - *

              A suggested IAM Policy for the addon.

              + *

              A suggested IAM Policy for the add-on.

              */ inline const Aws::Vector& GetRecommendedManagedPolicies() const { return m_recommendedManagedPolicies; } inline bool RecommendedManagedPoliciesHasBeenSet() const { return m_recommendedManagedPoliciesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h index e907dd24608..3a8e17ec13e 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/AddonVersionInfo.h @@ -67,7 +67,7 @@ namespace Model ///@{ /** - *

              Indicates the compute type of the addon version.

              + *

              Indicates the compute type of the add-on version.

              */ inline const Aws::Vector& GetComputeTypes() const { return m_computeTypes; } inline bool ComputeTypesHasBeenSet() const { return m_computeTypesHasBeenSet; } @@ -105,7 +105,7 @@ namespace Model ///@{ /** - *

              Indicates if the Addon requires IAM Permissions to operate, such as + *

              Indicates if the add-on requires IAM Permissions to operate, such as * networking permissions.

              */ inline bool GetRequiresIamPermissions() const { return m_requiresIamPermissions; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h index ca725f7b291..1653b565400 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreateAddonRequest.h @@ -172,12 +172,12 @@ namespace Model ///@{ /** - *

              An array of Pod Identity Assocations to be created. Each EKS Pod Identity - * association maps a Kubernetes service account to an IAM Role.

              For more - * information, see An array of EKS Pod Identity associations to be created. Each association + * maps a Kubernetes service account to an IAM role.

              For more information, + * see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS - * User Guide.

              + * an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon + * EKS User Guide.

              */ inline const Aws::Vector& GetPodIdentityAssociations() const { return m_podIdentityAssociations; } inline bool PodIdentityAssociationsHasBeenSet() const { return m_podIdentityAssociationsHasBeenSet; } 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 9ca39276978..3666afb4ac0 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 @@ -224,9 +224,10 @@ namespace Model /** *

              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.

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

              */ inline bool GetBootstrapSelfManagedAddons() const { return m_bootstrapSelfManagedAddons; } inline bool BootstrapSelfManagedAddonsHasBeenSet() const { return m_bootstrapSelfManagedAddonsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h index f7d5f30063a..e2e28cca403 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/CreatePodIdentityAssociationRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** - *

              The name of the cluster to create the association in.

              + *

              The name of the cluster to create the EKS Pod Identity association in.

              */ inline const Aws::String& GetClusterName() const { return m_clusterName; } inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } @@ -48,9 +48,9 @@ namespace Model ///@{ /** - *

              The name of the Kubernetes namespace inside the cluster to create the - * association in. The service account and the pods that use the service account - * must be in this namespace.

              + *

              The name of the Kubernetes namespace inside the cluster to create the EKS Pod + * Identity association in. The service account and the Pods that use the service + * account must be in this namespace.

              */ inline const Aws::String& GetNamespace() const { return m_namespace; } inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } @@ -77,7 +77,7 @@ namespace Model /** *

              The Amazon Resource Name (ARN) of the IAM role to associate with the service * account. The EKS Pod Identity agent manages credentials to assume this role for - * applications in the containers in the pods that use this service account.

              + * applications in the containers in the Pods that use this service account.

              */ inline const Aws::String& GetRoleArn() const { return m_roleArn; } inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } @@ -131,6 +131,55 @@ namespace Model m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

              Disable the automatic sessions tags that are appended by EKS Pod + * Identity.

              EKS Pod Identity adds a pre-defined set of session tags when it + * assumes the role. You can use these tags to author a single role that can work + * across resources by allowing access to Amazon Web Services resources based on + * matching tags. By default, EKS Pod Identity attaches six tags, including tags + * for cluster name, namespace, and service account name. For the list of tags + * added by EKS Pod Identity, see List + * of session tags added by EKS Pod Identity in the Amazon EKS User + * Guide.

              Amazon Web Services compresses inline session policies, + * managed policy ARNs, and session tags into a packed binary format that has a + * separate limit. If you receive a PackedPolicyTooLarge error + * indicating the packed binary format has exceeded the size limit, you can attempt + * to reduce the size by disabling the session tags added by EKS Pod Identity.

              + */ + inline bool GetDisableSessionTags() const { return m_disableSessionTags; } + inline bool DisableSessionTagsHasBeenSet() const { return m_disableSessionTagsHasBeenSet; } + inline void SetDisableSessionTags(bool value) { m_disableSessionTagsHasBeenSet = true; m_disableSessionTags = value; } + inline CreatePodIdentityAssociationRequest& WithDisableSessionTags(bool value) { SetDisableSessionTags(value); return *this;} + ///@} + + ///@{ + /** + *

              The Amazon Resource Name (ARN) of the target IAM role to associate with the + * service account. This role is assumed by using the EKS Pod Identity association + * role, then the credentials for this role are injected into the Pod.

              When + * you run applications on Amazon EKS, your application might need to access Amazon + * Web Services resources from a different role that exists in the same or + * different Amazon Web Services account. For example, your application running in + * ��Account A” might need to access resources, such as Amazon S3 buckets in + * “Account B” or within “Account A” itself. You can create a association to access + * Amazon Web Services resources in “Account B” by creating two IAM roles: a role + * in “Account A” and a role in “Account B” (which can be the same or different + * account), each with the necessary trust and permission policies. After you + * provide these roles in the IAM role and Target IAM role fields, + * EKS will perform role chaining to ensure your application gets the required + * permissions. This means Role A will assume Role B, allowing your Pods to + * securely access resources like S3 buckets in the target account.

              + */ + inline const Aws::String& GetTargetRoleArn() const { return m_targetRoleArn; } + inline bool TargetRoleArnHasBeenSet() const { return m_targetRoleArnHasBeenSet; } + template + void SetTargetRoleArn(TargetRoleArnT&& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = std::forward(value); } + template + CreatePodIdentityAssociationRequest& WithTargetRoleArn(TargetRoleArnT&& value) { SetTargetRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_clusterName; @@ -150,6 +199,12 @@ namespace Model Aws::Map m_tags; bool m_tagsHasBeenSet = false; + + bool m_disableSessionTags{false}; + bool m_disableSessionTagsHasBeenSet = false; + + Aws::String m_targetRoleArn; + bool m_targetRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonConfigurationResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonConfigurationResult.h index 059b34e0da1..85b2d3d73d5 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonConfigurationResult.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/DescribeAddonConfigurationResult.h @@ -73,8 +73,8 @@ namespace Model ///@{ /** - *

              The Kubernetes service account name used by the addon, and any suggested IAM - * policies. Use this information to create an IAM Role for the Addon.

              + *

              The Kubernetes service account name used by the add-on, and any suggested IAM + * policies. Use this information to create an IAM Role for the add-on.

              */ inline const Aws::Vector& GetPodIdentityConfiguration() const { return m_podIdentityConfiguration; } template> diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h index bcdbbe72373..08b215b5926 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociation.h @@ -57,7 +57,7 @@ namespace Model ///@{ /** *

              The name of the Kubernetes namespace inside the cluster to create the - * association in. The service account and the pods that use the service account + * association in. The service account and the Pods that use the service account * must be in this namespace.

              */ inline const Aws::String& GetNamespace() const { return m_namespace; } @@ -85,7 +85,7 @@ namespace Model /** *

              The Amazon Resource Name (ARN) of the IAM role to associate with the service * account. The EKS Pod Identity agent manages credentials to assume this role for - * applications in the containers in the pods that use this service account.

              + * applications in the containers in the Pods that use this service account.

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

              The most recent timestamp that the association was modified at

              + *

              The most recent timestamp that the association was modified at.

              */ inline const Aws::Utils::DateTime& GetModifiedAt() const { return m_modifiedAt; } inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } @@ -177,7 +177,8 @@ namespace Model ///@{ /** - *

              If defined, the Pod Identity Association is owned by an Amazon EKS Addon.

              + *

              If defined, the EKS Pod Identity association is owned by an Amazon EKS + * add-on.

              */ inline const Aws::String& GetOwnerArn() const { return m_ownerArn; } inline bool OwnerArnHasBeenSet() const { return m_ownerArnHasBeenSet; } @@ -186,6 +187,61 @@ namespace Model template PodIdentityAssociation& WithOwnerArn(OwnerArnT&& value) { SetOwnerArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

              The state of the automatic sessions tags. The value of true disables + * these tags.

              EKS Pod Identity adds a pre-defined set of session tags when + * it assumes the role. You can use these tags to author a single role that can + * work across resources by allowing access to Amazon Web Services resources based + * on matching tags. By default, EKS Pod Identity attaches six tags, including tags + * for cluster name, namespace, and service account name. For the list of tags + * added by EKS Pod Identity, see List + * of session tags added by EKS Pod Identity in the Amazon EKS User + * Guide.

              + */ + inline bool GetDisableSessionTags() const { return m_disableSessionTags; } + inline bool DisableSessionTagsHasBeenSet() const { return m_disableSessionTagsHasBeenSet; } + inline void SetDisableSessionTags(bool value) { m_disableSessionTagsHasBeenSet = true; m_disableSessionTags = value; } + inline PodIdentityAssociation& WithDisableSessionTags(bool value) { SetDisableSessionTags(value); return *this;} + ///@} + + ///@{ + /** + *

              The Amazon Resource Name (ARN) of the target IAM role to associate with the + * service account. This role is assumed by using the EKS Pod Identity association + * role, then the credentials for this role are injected into the Pod.

              + */ + inline const Aws::String& GetTargetRoleArn() const { return m_targetRoleArn; } + inline bool TargetRoleArnHasBeenSet() const { return m_targetRoleArnHasBeenSet; } + template + void SetTargetRoleArn(TargetRoleArnT&& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = std::forward(value); } + template + PodIdentityAssociation& WithTargetRoleArn(TargetRoleArnT&& value) { SetTargetRoleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

              The unique identifier for this EKS Pod Identity association for a target IAM + * role. You put this value in the trust policy of the target role, in a + * Condition to match the sts.ExternalId. This ensures + * that the target role can only be assumed by this association. This prevents the + * confused deputy problem. For more information about the confused deputy + * problem, see The + * confused deputy problem in the IAM User Guide.

              If you want to + * use the same target role with multiple associations or other roles, use + * independent statements in the trust policy to allow sts:AssumeRole + * access from each role.

              + */ + inline const Aws::String& GetExternalId() const { return m_externalId; } + inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } + template + void SetExternalId(ExternalIdT&& value) { m_externalIdHasBeenSet = true; m_externalId = std::forward(value); } + template + PodIdentityAssociation& WithExternalId(ExternalIdT&& value) { SetExternalId(std::forward(value)); return *this;} + ///@} private: Aws::String m_clusterName; @@ -217,6 +273,15 @@ namespace Model Aws::String m_ownerArn; bool m_ownerArnHasBeenSet = false; + + bool m_disableSessionTags{false}; + bool m_disableSessionTagsHasBeenSet = false; + + Aws::String m_targetRoleArn; + bool m_targetRoleArnHasBeenSet = false; + + Aws::String m_externalId; + bool m_externalIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h index b9415117ec1..bcb542ac601 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/PodIdentityAssociationSummary.h @@ -60,7 +60,7 @@ namespace Model ///@{ /** *

              The name of the Kubernetes namespace inside the cluster to create the - * association in. The service account and the pods that use the service account + * association in. The service account and the Pods that use the service account * must be in this namespace.

              */ inline const Aws::String& GetNamespace() const { return m_namespace; } @@ -110,7 +110,7 @@ namespace Model ///@{ /** - *

              If defined, the Pod Identity Association is owned by an Amazon EKS Addon.

              + *

              If defined, the association is owned by an Amazon EKS add-on.

              */ inline const Aws::String& GetOwnerArn() const { return m_ownerArn; } inline bool OwnerArnHasBeenSet() const { return m_ownerArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h index cd724350a8f..215351696b0 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNetworkConfigRequest.h @@ -49,7 +49,7 @@ namespace Model *

              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for * example, 10.2.0.0/16).

              It must satisfy the following * requirements:

              • Each block must be within an IPv4 - * RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. + * RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. * Publicly-routable addresses aren't supported.

              • Each block * cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or * the block of the Kubernetes service IP range.

              • Each block must @@ -83,7 +83,7 @@ namespace Model * on-premises and edge locations.

                Enter one or more IPv4 CIDR blocks in * decimal dotted-quad notation (for example, 10.2.0.0/16).

                It * must satisfy the following requirements:

                • Each block must be - * within an IPv4 RFC-1918 network range. Minimum allowed size is /24, + * within an IPv4 RFC-1918 network range. Minimum allowed size is /32, * maximum allowed size is /8. Publicly-routable addresses aren't supported.

                  *
                • Each block cannot overlap with the range of the VPC CIDR blocks * for your EKS resources, or the block of the Kubernetes service IP range.

                  diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h index 3f0f559cdb9..021da53a181 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemoteNodeNetwork.h @@ -31,7 +31,7 @@ namespace Model * or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, * 10.2.0.0/16).

                  It must satisfy the following requirements:

                    *
                  • Each block must be within an IPv4 RFC-1918 network range. - * Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable + * Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable * addresses aren't supported.

                  • Each block cannot overlap with the * range of the VPC CIDR blocks for your EKS resources, or the block of the * Kubernetes service IP range.

                  • Each block must have a route to @@ -64,7 +64,7 @@ namespace Model * or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, * 10.2.0.0/16).

                    It must satisfy the following requirements:

                      *
                    • Each block must be within an IPv4 RFC-1918 network range. - * Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable + * Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable * addresses aren't supported.

                    • Each block cannot overlap with the * range of the VPC CIDR blocks for your EKS resources, or the block of the * Kubernetes service IP range.

                    • Each block must have a route to diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h index ba5e1f4c48b..bdcbe96fd59 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/RemotePodNetwork.h @@ -32,7 +32,7 @@ namespace Model * and edge locations.

                      Enter one or more IPv4 CIDR blocks in decimal * dotted-quad notation (for example, 10.2.0.0/16).

                      It must * satisfy the following requirements:

                      • Each block must be within - * an IPv4 RFC-1918 network range. Minimum allowed size is /24, + * an IPv4 RFC-1918 network range. Minimum allowed size is /32, * maximum allowed size is /8. Publicly-routable addresses aren't supported.

                        *
                      • Each block cannot overlap with the range of the VPC CIDR blocks * for your EKS resources, or the block of the Kubernetes service IP range.

                        @@ -58,7 +58,7 @@ namespace Model * and edge locations.

                        Enter one or more IPv4 CIDR blocks in decimal * dotted-quad notation (for example, 10.2.0.0/16).

                        It must * satisfy the following requirements:

                        • Each block must be within - * an IPv4 RFC-1918 network range. Minimum allowed size is /24, + * an IPv4 RFC-1918 network range. Minimum allowed size is /32, * maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          *
                        • Each block cannot overlap with the range of the VPC CIDR blocks * for your EKS resources, or the block of the Kubernetes service IP range.

                          diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h index 40e35351cf3..c7170f68cee 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdateAddonRequest.h @@ -146,13 +146,13 @@ namespace Model ///@{ /** - *

                          An array of Pod Identity Assocations to be updated. Each EKS Pod Identity - * association maps a Kubernetes service account to an IAM Role. If this value is - * left blank, no change. If an empty array is provided, existing Pod Identity - * Assocations owned by the Addon are deleted.

                          For more information, see An array of EKS Pod Identity associations to be updated. Each association + * maps a Kubernetes service account to an IAM role. If this value is left blank, + * no change. If an empty array is provided, existing associations owned by the + * add-on are deleted.

                          For more information, see Attach - * an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS - * User Guide.

                          + * an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon + * EKS User Guide.

                          */ inline const Aws::Vector& GetPodIdentityAssociations() const { return m_podIdentityAssociations; } inline bool PodIdentityAssociationsHasBeenSet() const { return m_podIdentityAssociationsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h index 9094edbaaef..77c113fb47e 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationRequest.h @@ -59,7 +59,7 @@ namespace Model ///@{ /** - *

                          The new IAM role to change the

                          + *

                          The new IAM role to change in the association.

                          */ inline const Aws::String& GetRoleArn() const { return m_roleArn; } inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } @@ -81,6 +81,55 @@ namespace Model template UpdatePodIdentityAssociationRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                          Disable the automatic sessions tags that are appended by EKS Pod + * Identity.

                          EKS Pod Identity adds a pre-defined set of session tags when it + * assumes the role. You can use these tags to author a single role that can work + * across resources by allowing access to Amazon Web Services resources based on + * matching tags. By default, EKS Pod Identity attaches six tags, including tags + * for cluster name, namespace, and service account name. For the list of tags + * added by EKS Pod Identity, see List + * of session tags added by EKS Pod Identity in the Amazon EKS User + * Guide.

                          Amazon Web Services compresses inline session policies, + * managed policy ARNs, and session tags into a packed binary format that has a + * separate limit. If you receive a PackedPolicyTooLarge error + * indicating the packed binary format has exceeded the size limit, you can attempt + * to reduce the size by disabling the session tags added by EKS Pod Identity.

                          + */ + inline bool GetDisableSessionTags() const { return m_disableSessionTags; } + inline bool DisableSessionTagsHasBeenSet() const { return m_disableSessionTagsHasBeenSet; } + inline void SetDisableSessionTags(bool value) { m_disableSessionTagsHasBeenSet = true; m_disableSessionTags = value; } + inline UpdatePodIdentityAssociationRequest& WithDisableSessionTags(bool value) { SetDisableSessionTags(value); return *this;} + ///@} + + ///@{ + /** + *

                          The Amazon Resource Name (ARN) of the target IAM role to associate with the + * service account. This role is assumed by using the EKS Pod Identity association + * role, then the credentials for this role are injected into the Pod.

                          When + * you run applications on Amazon EKS, your application might need to access Amazon + * Web Services resources from a different role that exists in the same or + * different Amazon Web Services account. For example, your application running in + * “Account A” might need to access resources, such as buckets in “Account B” or + * within “Account A” itself. You can create a association to access Amazon Web + * Services resources in “Account B” by creating two IAM roles: a role in “Account + * A” and a role in “Account B” (which can be the same or different account), each + * with the necessary trust and permission policies. After you provide these roles + * in the IAM role and Target IAM role fields, EKS will perform role + * chaining to ensure your application gets the required permissions. This means + * Role A will assume Role B, allowing your Pods to securely access resources like + * S3 buckets in the target account.

                          + */ + inline const Aws::String& GetTargetRoleArn() const { return m_targetRoleArn; } + inline bool TargetRoleArnHasBeenSet() const { return m_targetRoleArnHasBeenSet; } + template + void SetTargetRoleArn(TargetRoleArnT&& value) { m_targetRoleArnHasBeenSet = true; m_targetRoleArn = std::forward(value); } + template + UpdatePodIdentityAssociationRequest& WithTargetRoleArn(TargetRoleArnT&& value) { SetTargetRoleArn(std::forward(value)); return *this;} + ///@} private: Aws::String m_clusterName; @@ -94,6 +143,12 @@ namespace Model Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()}; bool m_clientRequestTokenHasBeenSet = true; + + bool m_disableSessionTags{false}; + bool m_disableSessionTagsHasBeenSet = false; + + Aws::String m_targetRoleArn; + bool m_targetRoleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.h index 4178ac70e2d..25c3edab9fc 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/UpdatePodIdentityAssociationResult.h @@ -35,8 +35,7 @@ namespace Model ///@{ /** - *

                          The full description of the EKS Pod Identity association that was - * updated.

                          + *

                          The full description of the association that was updated.

                          */ inline const PodIdentityAssociation& GetAssociation() const { return m_association; } template diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigRequest.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigRequest.h index 79c3bb260f5..add2c9b3b72 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigRequest.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigRequest.h @@ -82,11 +82,11 @@ namespace Model * cluster's Kubernetes API server endpoint. If you disable public access, your * cluster's Kubernetes API server can only receive requests from within the * cluster VPC. The default value for this parameter is true, which - * enables public access for your Kubernetes API server. For more information, see - * Amazon - * EKS cluster endpoint access control in the Amazon EKS User Guide - * .

                          + * enables public access for your Kubernetes API server. The endpoint domain name + * and IP address family depends on the value of the ipFamily for the + * cluster. For more information, see Cluster + * API server endpoint in the Amazon EKS User Guide .

                          */ inline bool GetEndpointPublicAccess() const { return m_endpointPublicAccess; } inline bool EndpointPublicAccessHasBeenSet() const { return m_endpointPublicAccessHasBeenSet; } @@ -104,9 +104,8 @@ namespace Model * access and you have nodes or Fargate pods in the cluster, then ensure that * publicAccessCidrs includes the necessary CIDR blocks for * communication with the nodes or Fargate pods. For more information, see Amazon - * EKS cluster endpoint access control in the Amazon EKS User Guide - * .

                          + * href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster + * API server endpoint in the Amazon EKS User Guide .

                          */ inline bool GetEndpointPrivateAccess() const { return m_endpointPrivateAccess; } inline bool EndpointPrivateAccessHasBeenSet() const { return m_endpointPrivateAccessHasBeenSet; } @@ -119,12 +118,16 @@ namespace Model *

                          The CIDR blocks that are allowed access to your cluster's public Kubernetes * API server endpoint. Communication to the endpoint from addresses outside of the * CIDR blocks that you specify is denied. The default value is - * 0.0.0.0/0. If you've disabled private endpoint access, make sure - * that you specify the necessary CIDR blocks for every node and Fargate - * Pod in the cluster. For more information, see Amazon - * EKS cluster endpoint access control in the Amazon EKS User Guide - * .

                          + * 0.0.0.0/0 and additionally ::/0 for dual-stack `IPv6` + * clusters. If you've disabled private endpoint access, make sure that you specify + * the necessary CIDR blocks for every node and Fargate Pod in the + * cluster. For more information, see Cluster + * API server endpoint in the Amazon EKS User Guide .

                          + *

                          Note that the public endpoints are dual-stack for only IPv6 + * clusters that are made after October 2024. You can't add IPv6 CIDR + * blocks to IPv4 clusters or IPv6 clusters that were + * made before October 2024.

                          */ inline const Aws::Vector& GetPublicAccessCidrs() const { return m_publicAccessCidrs; } inline bool PublicAccessCidrsHasBeenSet() const { return m_publicAccessCidrsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigResponse.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigResponse.h index 43e30c9f702..15efdcdd3d6 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigResponse.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/model/VpcConfigResponse.h @@ -114,9 +114,8 @@ namespace Model * have nodes or Fargate pods in the cluster, then ensure that * publicAccessCidrs includes the necessary CIDR blocks for * communication with the nodes or Fargate pods. For more information, see Amazon - * EKS cluster endpoint access control in the Amazon EKS User Guide - * .

                          + * href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html">Cluster + * API server endpoint in the Amazon EKS User Guide .

                          */ inline bool GetEndpointPrivateAccess() const { return m_endpointPrivateAccess; } inline bool EndpointPrivateAccessHasBeenSet() const { return m_endpointPrivateAccessHasBeenSet; } @@ -127,7 +126,18 @@ namespace Model ///@{ /** *

                          The CIDR blocks that are allowed access to your cluster's public Kubernetes - * API server endpoint.

                          + * API server endpoint. Communication to the endpoint from addresses outside of the + * CIDR blocks that you specify is denied. The default value is + * 0.0.0.0/0 and additionally ::/0 for dual-stack `IPv6` + * clusters. If you've disabled private endpoint access, make sure that you specify + * the necessary CIDR blocks for every node and Fargate Pod in the + * cluster. For more information, see Cluster + * API server endpoint in the Amazon EKS User Guide .

                          + *

                          Note that the public endpoints are dual-stack for only IPv6 + * clusters that are made after October 2024. You can't add IPv6 CIDR + * blocks to IPv4 clusters or IPv6 clusters that were + * made before October 2024.

                          */ inline const Aws::Vector& GetPublicAccessCidrs() const { return m_publicAccessCidrs; } inline bool PublicAccessCidrsHasBeenSet() const { return m_publicAccessCidrsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp index 57812ef170b..d63ae63558a 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/CreatePodIdentityAssociationRequest.cpp @@ -51,6 +51,18 @@ Aws::String CreatePodIdentityAssociationRequest::SerializePayload() const } + if(m_disableSessionTagsHasBeenSet) + { + payload.WithBool("disableSessionTags", m_disableSessionTags); + + } + + if(m_targetRoleArnHasBeenSet) + { + payload.WithString("targetRoleArn", m_targetRoleArn); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociation.cpp b/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociation.cpp index 29e0250de97..9096d8494ac 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociation.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/PodIdentityAssociation.cpp @@ -79,6 +79,21 @@ PodIdentityAssociation& PodIdentityAssociation::operator =(JsonView jsonValue) m_ownerArn = jsonValue.GetString("ownerArn"); m_ownerArnHasBeenSet = true; } + if(jsonValue.ValueExists("disableSessionTags")) + { + m_disableSessionTags = jsonValue.GetBool("disableSessionTags"); + m_disableSessionTagsHasBeenSet = true; + } + if(jsonValue.ValueExists("targetRoleArn")) + { + m_targetRoleArn = jsonValue.GetString("targetRoleArn"); + m_targetRoleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("externalId")) + { + m_externalId = jsonValue.GetString("externalId"); + m_externalIdHasBeenSet = true; + } return *this; } @@ -149,6 +164,24 @@ JsonValue PodIdentityAssociation::Jsonize() const } + if(m_disableSessionTagsHasBeenSet) + { + payload.WithBool("disableSessionTags", m_disableSessionTags); + + } + + if(m_targetRoleArnHasBeenSet) + { + payload.WithString("targetRoleArn", m_targetRoleArn); + + } + + if(m_externalIdHasBeenSet) + { + payload.WithString("externalId", m_externalId); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.cpp b/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.cpp index 8e06cf49751..bddd7e33a66 100644 --- a/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/model/UpdatePodIdentityAssociationRequest.cpp @@ -28,6 +28,18 @@ Aws::String UpdatePodIdentityAssociationRequest::SerializePayload() const } + if(m_disableSessionTagsHasBeenSet) + { + payload.WithBool("disableSessionTags", m_disableSessionTags); + + } + + if(m_targetRoleArnHasBeenSet) + { + payload.WithString("targetRoleArn", m_targetRoleArn); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h index af90be3c018..9d746087d75 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h @@ -92,11 +92,13 @@ namespace EFS * operating system user and group override any identity information provided by * the NFS client. The file system path is exposed as the access point's root * directory. Applications using the access point can only access data in the - * application's own directory and any subdirectories. To learn more, see Mounting * a file system using EFS access points.

                          If multiple requests to * create access points on the same file system are sent in quick succession, and - * the file system is near the limit of 1,000 access points, you may experience a + * the file system is near the limit of access points, you may experience a * throttling response for these requests. This is to ensure that the file system * does not exceed the stated access point limit.

                          This operation * requires permissions for the elasticfilesystem:CreateAccessPoint @@ -277,15 +279,16 @@ namespace EFS * in each of the Availability Zones. There are cost considerations for using a * file system in an Availability Zone through a mount target created in another * Availability Zone. For more information, see Amazon EFS. In addition, by always using a - * mount target local to the instance's Availability Zone, you eliminate a partial - * failure scenario. If the Availability Zone in which your mount target is created - * goes down, then you can't access your file system through that mount target. - *

                          This operation requires permissions for the following action on the file - * system:

                          • elasticfilesystem:CreateMountTarget

                            - *

                          This operation also requires permissions for the following Amazon - * EC2 actions:

                          • ec2:DescribeSubnets

                          • - *

                            ec2:DescribeNetworkInterfaces

                          • + * href="http://aws.amazon.com/efs/pricing/">Amazon EFS pricing. In addition, + * by always using a mount target local to the instance's Availability Zone, you + * eliminate a partial failure scenario. If the Availability Zone in which your + * mount target is created goes down, then you can't access your file system + * through that mount target.

                            This operation requires permissions for the + * following action on the file system:

                            • + * elasticfilesystem:CreateMountTarget

                            This + * operation also requires permissions for the following Amazon EC2 actions:

                            + *
                            • ec2:DescribeSubnets

                            • + * ec2:DescribeNetworkInterfaces

                            • * ec2:CreateNetworkInterface

                            See Also:

                            * AWS @@ -691,7 +694,7 @@ namespace EFS /** *

                            Returns the current LifecycleConfiguration object for the - * specified Amazon EFS file system. Lifecycle management uses the + * specified EFS file system. Lifecycle management uses the * LifecycleConfiguration object to identify when to move files * between storage classes. For a file system without a * LifecycleConfiguration object, the call returns an empty array in diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h index 2d673dfdbc6..7db183e6d86 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateFileSystemRequest.h @@ -135,7 +135,7 @@ namespace Model * provision for a file system that you're creating. Required if * ThroughputMode is set to provisioned. Valid values are * 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, - * contact Amazon Web Services Support. For more information, see Amazon * EFS quotas that you can increase in the Amazon EFS User Guide.

                            */ diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h index 34018eb57de..a39878c640a 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -63,7 +64,8 @@ namespace Model ///@{ /** - *

                            Valid IPv4 address within the address range of the specified subnet.

                            + *

                            If the IP address type for the mount target is IPv4, then specify the IPv4 + * address within the address range of the specified subnet.

                            */ inline const Aws::String& GetIpAddress() const { return m_ipAddress; } inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } @@ -75,8 +77,41 @@ namespace Model ///@{ /** - *

                            Up to five VPC security group IDs, of the form sg-xxxxxxxx. - * These must be for the same VPC as subnet specified.

                            + *

                            If the IP address type for the mount target is IPv6, then specify the IPv6 + * address within the address range of the specified subnet.

                            + */ + inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; } + inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } + template + void SetIpv6Address(Ipv6AddressT&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::forward(value); } + template + CreateMountTargetRequest& WithIpv6Address(Ipv6AddressT&& value) { SetIpv6Address(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                            Specify the type of IP address of the mount target you are creating. Options + * are IPv4, dual stack, or IPv6. If you don’t specify an IpAddressType, then IPv4 + * is used.

                            • IPV4_ONLY – Create mount target with IPv4 only subnet + * or dual-stack subnet.

                            • DUAL_STACK – Create mount target with + * dual-stack subnet.

                            • IPV6_ONLY – Create mount target with IPv6 + * only subnet.

                            Creating IPv6 mount target only ENI in + * dual-stack subnet is not supported.

                            + */ + inline IpAddressType GetIpAddressType() const { return m_ipAddressType; } + inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } + inline void SetIpAddressType(IpAddressType value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } + inline CreateMountTargetRequest& WithIpAddressType(IpAddressType value) { SetIpAddressType(value); return *this;} + ///@} + + ///@{ + /** + *

                            VPC security group IDs, of the form sg-xxxxxxxx. These must be + * for the same VPC as the subnet specified. The maximum number of security groups + * depends on account quota. For more information, see Amazon + * VPC Quotas in the Amazon VPC User Guide (see the Security + * Groups table).

                            */ inline const Aws::Vector& GetSecurityGroups() const { return m_securityGroups; } inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } @@ -98,6 +133,12 @@ namespace Model Aws::String m_ipAddress; bool m_ipAddressHasBeenSet = false; + Aws::String m_ipv6Address; + bool m_ipv6AddressHasBeenSet = false; + + IpAddressType m_ipAddressType{IpAddressType::NOT_SET}; + bool m_ipAddressTypeHasBeenSet = false; + Aws::Vector m_securityGroups; bool m_securityGroupsHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetResult.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetResult.h index aae51a426c5..4fda72e037f 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetResult.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/CreateMountTargetResult.h @@ -103,6 +103,17 @@ namespace Model CreateMountTargetResult& WithIpAddress(IpAddressT&& value) { SetIpAddress(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                            The IPv6 address for the mount target.

                            + */ + inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; } + template + void SetIpv6Address(Ipv6AddressT&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::forward(value); } + template + CreateMountTargetResult& WithIpv6Address(Ipv6AddressT&& value) { SetIpv6Address(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                            The ID of the network interface that Amazon EFS created when it created the @@ -184,6 +195,9 @@ namespace Model Aws::String m_ipAddress; bool m_ipAddressHasBeenSet = false; + Aws::String m_ipv6Address; + bool m_ipv6AddressHasBeenSet = false; + Aws::String m_networkInterfaceId; bool m_networkInterfaceIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h index 95318f9a04a..f5e6b9e6ca3 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/DestinationToCreate.h @@ -120,7 +120,13 @@ namespace Model *

                            The ID or ARN of the file system to use for the destination. For * cross-account replication, this must be an ARN. The file system's replication * overwrite replication must be disabled. If no ID or ARN is specified, then a new - * file system is created.

                            + * file system is created.

                            When you initially configure replication + * to an existing file system, Amazon EFS writes data to or removes existing data + * from the destination file system to match data in the source file system. If you + * don't want to change data in the destination file system, then you should + * replicate to a new file system instead. For more information, see https://docs.aws.amazon.com/efs/latest/ug/create-replication.html.

                            + * */ inline const Aws::String& GetFileSystemId() const { return m_fileSystemId; } inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemProtectionDescription.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemProtectionDescription.h index 504fbc7efe1..f3544e02c14 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemProtectionDescription.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/FileSystemProtectionDescription.h @@ -48,7 +48,7 @@ namespace Model * destination file system in a replication configuration. The file system is * read-only and can only be modified by EFS replication.

                          • * REPLICATING – The file system is being used as the destination file - * system in a replication configuration. The file system is read-only and is only + * system in a replication configuration. The file system is read-only and is * modified only by EFS replication.

                          If the replication * configuration is deleted, the file system's replication overwrite protection is * re-enabled, the file system becomes writeable.

                          diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/IpAddressType.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/IpAddressType.h new file mode 100644 index 00000000000..ba1d20fa25d --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/IpAddressType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EFS +{ +namespace Model +{ + enum class IpAddressType + { + NOT_SET, + IPV4_ONLY, + IPV6_ONLY, + DUAL_STACK + }; + +namespace IpAddressTypeMapper +{ +AWS_EFS_API IpAddressType GetIpAddressTypeForName(const Aws::String& name); + +AWS_EFS_API Aws::String GetNameForIpAddressType(IpAddressType value); +} // namespace IpAddressTypeMapper +} // namespace Model +} // namespace EFS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ModifyMountTargetSecurityGroupsRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ModifyMountTargetSecurityGroupsRequest.h index 6fbc0418492..44ab8b36314 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ModifyMountTargetSecurityGroupsRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/ModifyMountTargetSecurityGroupsRequest.h @@ -50,7 +50,7 @@ namespace Model ///@{ /** - *

                          An array of up to five VPC security group IDs.

                          + *

                          An array of VPC security group IDs.

                          */ inline const Aws::Vector& GetSecurityGroups() const { return m_securityGroups; } inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/MountTargetDescription.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/MountTargetDescription.h index 67679980c86..baefbe17c3f 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/MountTargetDescription.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/MountTargetDescription.h @@ -109,6 +109,18 @@ namespace Model MountTargetDescription& WithIpAddress(IpAddressT&& value) { SetIpAddress(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                          The IPv6 address for the mount target.

                          + */ + inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; } + inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } + template + void SetIpv6Address(Ipv6AddressT&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::forward(value); } + template + MountTargetDescription& WithIpv6Address(Ipv6AddressT&& value) { SetIpv6Address(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                          The ID of the network interface that Amazon EFS created when it created the @@ -195,6 +207,9 @@ namespace Model Aws::String m_ipAddress; bool m_ipAddressHasBeenSet = false; + Aws::String m_ipv6Address; + bool m_ipv6AddressHasBeenSet = false; + Aws::String m_networkInterfaceId; bool m_networkInterfaceIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/NetworkInterfaceLimitExceeded.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/NetworkInterfaceLimitExceeded.h index 814cc36c0eb..d564bfdcee8 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/NetworkInterfaceLimitExceeded.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/NetworkInterfaceLimitExceeded.h @@ -27,7 +27,7 @@ namespace Model *

                          The calling account has reached the limit for elastic network interfaces for * the specific Amazon Web Services Region. Either delete some network interfaces * or request that the account quota be raised. For more information, see Amazon + * href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html">Amazon * VPC Quotas in the Amazon VPC User Guide (see the Network * interfaces per Region entry in the Network interfaces table). *

                          See Also:

                          Returned if the default file system policy is in effect for the EFS file - * system specified.

                          See Also:

                          Returned if no backup is specified for a One Zone EFS file + * system.

                          See Also:

                          AWS * API Reference

                          */ diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/SecurityGroupLimitExceeded.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/SecurityGroupLimitExceeded.h index 79f179c2d70..f0ce438782e 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/SecurityGroupLimitExceeded.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/SecurityGroupLimitExceeded.h @@ -24,8 +24,13 @@ namespace Model { /** - *

                          Returned if the size of SecurityGroups specified in the request - * is greater than five.

                          See Also:

                          Returned if the number of SecurityGroups specified in the + * request is greater than the limit, which is based on account quota. Either + * delete some security groups or request that the account quota be raised. For + * more information, see Amazon + * VPC Quotas in the Amazon VPC User Guide (see the Security + * Groups table).

                          See Also:

                          AWS * API Reference

                          */ diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemProtectionResult.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemProtectionResult.h index 1c7017b5754..cfdf1a7505c 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemProtectionResult.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemProtectionResult.h @@ -48,7 +48,7 @@ namespace Model * destination file system in a replication configuration. The file system is * read-only and can only be modified by EFS replication.

                        • * REPLICATING – The file system is being used as the destination file - * system in a replication configuration. The file system is read-only and is only + * system in a replication configuration. The file system is read-only and is * modified only by EFS replication.

                        If the replication * configuration is deleted, the file system's replication overwrite protection is * re-enabled, the file system becomes writeable.

                        diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemRequest.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemRequest.h index e90d7b6db5d..7c56f4de3cb 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemRequest.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/model/UpdateFileSystemRequest.h @@ -64,7 +64,7 @@ namespace Model * want to provision for a file system that you're creating. Required if * ThroughputMode is set to provisioned. Valid values are * 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, - * contact Amazon Web Services Support. For more information, see Amazon * EFS quotas that you can increase in the Amazon EFS User Guide.

                        */ diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp index 62e96e6d000..931b08dc38d 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointRules.cpp @@ -10,44 +10,44 @@ namespace Aws { namespace EFS { -const size_t EFSEndpointRules::RulesBlobStrLen = 3516; -const size_t EFSEndpointRules::RulesBlobSize = 3517; +const size_t EFSEndpointRules::RulesBlobStrLen = 5879; +const size_t EFSEndpointRules::RulesBlobSize = 5880; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ '{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', -'e','r','s','"',':','{','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n','"', -':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d','"', -':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','T', -'h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i','s', -'p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p','e', -'"',':','"','S','t','r','i','n','g','"','}',',','"','U','s','e','D','u','a','l','S','t','a','c','k', -'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a', -'l','S','t','a','c','k','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"', -'d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a', -'t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e', -' ','d','u','a','l','-','s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', -'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', -'o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c', -'k',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s', -'t',' ','M','A','Y',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"', -'t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S', -'"',':','{','"','b','u','i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P', -'S','"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u', -'l','t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', -':','"','W','h','e','n',' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e', -'q','u','e','s','t',' ','t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a', -'n','t',' ','r','e','g','i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ', -'t','h','e',' ','c','o','n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d', -'o','e','s',' ','n','o','t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l', -'i','a','n','t',' ','e','n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n', -'g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n', -' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e', -'a','n','"','}',',','"','E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n', -'"',':','"','S','D','K',':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r', -'e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"', -':','"','O','v','e','r','r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u', -'s','e','d',' ','t','o',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"', +'e','r','s','"',':','{','"','U','s','e','D','u','a','l','S','t','a','c','k','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l','S','t','a','c','k', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ','d','u','a','l','-', +'s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k',',',' ','d','i','s', +'p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','M','A','Y',' ', +'r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':', +'"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e', +'q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n', +' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ', +'t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g', +'i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e', +'n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ', +'r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r', +'r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"', +'E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K', +':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r', +'r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o', +' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q', +'u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i', +'o','n','"',':','"','T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ', +'t','o',' ','d','i','s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"', ',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', @@ -58,104 +58,199 @@ static constexpr RulesBlobT RulesBlob = {{ '"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', 'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', 'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', -'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', -'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', -'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', -' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', -'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"', -'E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', -'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', -'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', -'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', -'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':', +'{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','f','s','.','{','R','e','g','i', +'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l', +'S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']', '}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', -'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', -'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','f','i','l', -'e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', -'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', -'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', -'"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e', -'n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o', -'n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r', -' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', -'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', -'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', -',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', -'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','f','s','-','f', +'i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r', +'i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':', +'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"', +']','}',',','"','a','w','s','-','c','n','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','e','f','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','c','n','"',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','f','s','-','f','i','p','s','.','{', +'R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q', 'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A', 't','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t', -'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I', -'P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"', -':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','f', -'i','l','e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', -'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', -'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', -'}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a', +'w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u', +'e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h', +'t','t','p','s',':','/','/','e','f','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','f','s','-','f','i','p', +'s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"', +'b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e', +']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t', +'t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i', +'t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P', +'S','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t', +'s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t', +'i','c','f','i','l','e','s','y','s','t','e','m','-','f','i','p','s','.','{','R','e','g','i','o','n', +'}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', +'a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e', +'s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e', +'"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r', +'r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ', +'a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r', +'t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o', +'n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r', +'"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d', 'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':', -'"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o', -'r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s', -'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a', -'s','t','i','c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', -'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', -'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', -'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', -'"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b', -'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', -'t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p', -'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', -'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p', -'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a', -'s','t','i','c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', -'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', -'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', -'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','e','l','a','s','t','i','c','f','i','l','e','s','y','s','t','e','m', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"', ':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u', -'r','a','t','i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"', -'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}','\0' +',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d', +' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t', +'r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e', +'t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s', +'D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i', +'c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s', +'S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"', +'D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ', +'t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s', +'u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n', +'t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','e','l','a','s','t','i', +'c','f','i','l','e','s','y','s','t','e','m','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t', +'i','o','n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p', +'e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',']','}','\0' }}; const char* EFSEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetRequest.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetRequest.cpp index 989965c519a..afdb3d0051c 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetRequest.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetRequest.cpp @@ -34,6 +34,17 @@ Aws::String CreateMountTargetRequest::SerializePayload() const } + if(m_ipv6AddressHasBeenSet) + { + payload.WithString("Ipv6Address", m_ipv6Address); + + } + + if(m_ipAddressTypeHasBeenSet) + { + payload.WithString("IpAddressType", IpAddressTypeMapper::GetNameForIpAddressType(m_ipAddressType)); + } + if(m_securityGroupsHasBeenSet) { Aws::Utils::Array securityGroupsJsonList(m_securityGroups.size()); diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetResult.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetResult.cpp index 5ae3ff8f5c4..8d505bfaf53 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetResult.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/CreateMountTargetResult.cpp @@ -55,6 +55,11 @@ CreateMountTargetResult& CreateMountTargetResult::operator =(const Aws::AmazonWe m_ipAddress = jsonValue.GetString("IpAddress"); m_ipAddressHasBeenSet = true; } + if(jsonValue.ValueExists("Ipv6Address")) + { + m_ipv6Address = jsonValue.GetString("Ipv6Address"); + m_ipv6AddressHasBeenSet = true; + } if(jsonValue.ValueExists("NetworkInterfaceId")) { m_networkInterfaceId = jsonValue.GetString("NetworkInterfaceId"); diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/IpAddressType.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/IpAddressType.cpp new file mode 100644 index 00000000000..55dacc478aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/IpAddressType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EFS + { + namespace Model + { + namespace IpAddressTypeMapper + { + + static const int IPV4_ONLY_HASH = HashingUtils::HashString("IPV4_ONLY"); + static const int IPV6_ONLY_HASH = HashingUtils::HashString("IPV6_ONLY"); + static const int DUAL_STACK_HASH = HashingUtils::HashString("DUAL_STACK"); + + + IpAddressType GetIpAddressTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IPV4_ONLY_HASH) + { + return IpAddressType::IPV4_ONLY; + } + else if (hashCode == IPV6_ONLY_HASH) + { + return IpAddressType::IPV6_ONLY; + } + else if (hashCode == DUAL_STACK_HASH) + { + return IpAddressType::DUAL_STACK; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IpAddressType::NOT_SET; + } + + Aws::String GetNameForIpAddressType(IpAddressType enumValue) + { + switch(enumValue) + { + case IpAddressType::NOT_SET: + return {}; + case IpAddressType::IPV4_ONLY: + return "IPV4_ONLY"; + case IpAddressType::IPV6_ONLY: + return "IPV6_ONLY"; + case IpAddressType::DUAL_STACK: + return "DUAL_STACK"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IpAddressTypeMapper + } // namespace Model + } // namespace EFS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/MountTargetDescription.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/MountTargetDescription.cpp index 97bcc6e435e..e2c116636d4 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/MountTargetDescription.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/model/MountTargetDescription.cpp @@ -56,6 +56,11 @@ MountTargetDescription& MountTargetDescription::operator =(JsonView jsonValue) m_ipAddress = jsonValue.GetString("IpAddress"); m_ipAddressHasBeenSet = true; } + if(jsonValue.ValueExists("Ipv6Address")) + { + m_ipv6Address = jsonValue.GetString("Ipv6Address"); + m_ipv6AddressHasBeenSet = true; + } if(jsonValue.ValueExists("NetworkInterfaceId")) { m_networkInterfaceId = jsonValue.GetString("NetworkInterfaceId"); @@ -118,6 +123,12 @@ JsonValue MountTargetDescription::Jsonize() const } + if(m_ipv6AddressHasBeenSet) + { + payload.WithString("Ipv6Address", m_ipv6Address); + + } + if(m_networkInterfaceIdHasBeenSet) { payload.WithString("NetworkInterfaceId", m_networkInterfaceId); diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h index 431c9b9dfeb..d3e32b1f21d 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/Application.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -340,6 +341,19 @@ namespace Model template Application& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                        The IAM Identity Center configuration applied to enable trusted identity + * propagation.

                        + */ + inline const IdentityCenterConfiguration& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + template + void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward(value); } + template + Application& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -407,6 +421,9 @@ namespace Model SchedulerConfiguration m_schedulerConfiguration; bool m_schedulerConfigurationHasBeenSet = false; + + IdentityCenterConfiguration m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CancelJobRunRequest.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CancelJobRunRequest.h index d999eb2f1dc..72eff93e409 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CancelJobRunRequest.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CancelJobRunRequest.h @@ -64,7 +64,7 @@ namespace Model ///@{ /** - *

                        The duration (in seconds) to wait before forcefully terminating the job after + *

                        The duration in seconds to wait before forcefully terminating the job after * cancellation is requested.

                        */ inline int GetShutdownGracePeriodInSeconds() const { return m_shutdownGracePeriodInSeconds; } diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h index 7f8ef2d95b8..26852f0940b 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/CreateApplicationRequest.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -282,6 +283,21 @@ namespace Model template CreateApplicationRequest& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                        The IAM Identity Center Configuration accepts the Identity Center instance + * parameter required to enable trusted identity propagation. This configuration + * allows identity propagation between integrated services and the Identity Center + * instance.

                        + */ + inline const IdentityCenterConfigurationInput& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + template + void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward(value); } + template + CreateApplicationRequest& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -334,6 +350,9 @@ namespace Model SchedulerConfiguration m_schedulerConfiguration; bool m_schedulerConfigurationHasBeenSet = false; + + IdentityCenterConfigurationInput m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h new file mode 100644 index 00000000000..bd610a3f687 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfiguration.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EMRServerless +{ +namespace Model +{ + + /** + *

                        The IAM Identity Center Configuration that includes the Identify Center + * instance and application ARNs that provide trusted-identity + * propagation.

                        See Also:

                        AWS + * API Reference

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

                        The ARN of the IAM Identity Center instance.

                        + */ + inline const Aws::String& GetIdentityCenterInstanceArn() const { return m_identityCenterInstanceArn; } + inline bool IdentityCenterInstanceArnHasBeenSet() const { return m_identityCenterInstanceArnHasBeenSet; } + template + void SetIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { m_identityCenterInstanceArnHasBeenSet = true; m_identityCenterInstanceArn = std::forward(value); } + template + IdentityCenterConfiguration& WithIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { SetIdentityCenterInstanceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                        The ARN of the EMR Serverless created IAM Identity Center Application that + * provides trusted-identity propagation.

                        + */ + inline const Aws::String& GetIdentityCenterApplicationArn() const { return m_identityCenterApplicationArn; } + inline bool IdentityCenterApplicationArnHasBeenSet() const { return m_identityCenterApplicationArnHasBeenSet; } + template + void SetIdentityCenterApplicationArn(IdentityCenterApplicationArnT&& value) { m_identityCenterApplicationArnHasBeenSet = true; m_identityCenterApplicationArn = std::forward(value); } + template + IdentityCenterConfiguration& WithIdentityCenterApplicationArn(IdentityCenterApplicationArnT&& value) { SetIdentityCenterApplicationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identityCenterInstanceArn; + bool m_identityCenterInstanceArnHasBeenSet = false; + + Aws::String m_identityCenterApplicationArn; + bool m_identityCenterApplicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h new file mode 100644 index 00000000000..42e91efae16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/IdentityCenterConfigurationInput.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace EMRServerless +{ +namespace Model +{ + + /** + *

                        Specifies the IAM Identity Center configuration used to enable or disable + * trusted identity propagation. When provided, this configuration determines how + * the application interacts with IAM Identity Center for user authentication and + * access control.

                        See Also:

                        AWS + * API Reference

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

                        The ARN of the IAM Identity Center instance.

                        + */ + inline const Aws::String& GetIdentityCenterInstanceArn() const { return m_identityCenterInstanceArn; } + inline bool IdentityCenterInstanceArnHasBeenSet() const { return m_identityCenterInstanceArnHasBeenSet; } + template + void SetIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { m_identityCenterInstanceArnHasBeenSet = true; m_identityCenterInstanceArn = std::forward(value); } + template + IdentityCenterConfigurationInput& WithIdentityCenterInstanceArn(IdentityCenterInstanceArnT&& value) { SetIdentityCenterInstanceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identityCenterInstanceArn; + bool m_identityCenterInstanceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/JobRun.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/JobRun.h index 6bdecaa9a41..7390f9f6a21 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/JobRun.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/JobRun.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -145,6 +146,16 @@ namespace Model JobRun& WithExecutionRole(ExecutionRoleT&& value) { SetExecutionRole(std::forward(value)); return *this;} ///@} + ///@{ + + inline const JobRunExecutionIamPolicy& GetExecutionIamPolicy() const { return m_executionIamPolicy; } + inline bool ExecutionIamPolicyHasBeenSet() const { return m_executionIamPolicyHasBeenSet; } + template + void SetExecutionIamPolicy(ExecutionIamPolicyT&& value) { m_executionIamPolicyHasBeenSet = true; m_executionIamPolicy = std::forward(value); } + template + JobRun& WithExecutionIamPolicy(ExecutionIamPolicyT&& value) { SetExecutionIamPolicy(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                        The state of the job run.

                        @@ -399,6 +410,9 @@ namespace Model Aws::String m_executionRole; bool m_executionRoleHasBeenSet = false; + JobRunExecutionIamPolicy m_executionIamPolicy; + bool m_executionIamPolicyHasBeenSet = false; + JobRunState m_state{JobRunState::NOT_SET}; bool m_stateHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h index 3a7a09b409e..f23fd80b6fa 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/model/UpdateApplicationRequest.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -253,6 +254,21 @@ namespace Model template UpdateApplicationRequest& WithSchedulerConfiguration(SchedulerConfigurationT&& value) { SetSchedulerConfiguration(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                        Specifies the IAM Identity Center configuration used to enable or disable + * trusted identity propagation. When provided, this configuration determines how + * the application interacts with IAM Identity Center for user authentication and + * access control.

                        + */ + inline const IdentityCenterConfigurationInput& GetIdentityCenterConfiguration() const { return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + template + void SetIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::forward(value); } + template + UpdateApplicationRequest& WithIdentityCenterConfiguration(IdentityCenterConfigurationT&& value) { SetIdentityCenterConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_applicationId; @@ -299,6 +315,9 @@ namespace Model SchedulerConfiguration m_schedulerConfiguration; bool m_schedulerConfigurationHasBeenSet = false; + + IdentityCenterConfigurationInput m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp index 26afadd8b22..53d3d936a13 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/Application.cpp @@ -151,6 +151,11 @@ Application& Application::operator =(JsonView jsonValue) m_schedulerConfiguration = jsonValue.GetObject("schedulerConfiguration"); m_schedulerConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("identityCenterConfiguration")) + { + m_identityCenterConfiguration = jsonValue.GetObject("identityCenterConfiguration"); + m_identityCenterConfigurationHasBeenSet = true; + } return *this; } @@ -306,6 +311,12 @@ JsonValue Application::Jsonize() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("identityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp index 160dc158159..c619b71fb4b 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/CreateApplicationRequest.cpp @@ -137,6 +137,12 @@ Aws::String CreateApplicationRequest::SerializePayload() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("identityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp new file mode 100644 index 00000000000..875426b5ef4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfiguration.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EMRServerless +{ +namespace Model +{ + +IdentityCenterConfiguration::IdentityCenterConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentityCenterConfiguration& IdentityCenterConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("identityCenterInstanceArn")) + { + m_identityCenterInstanceArn = jsonValue.GetString("identityCenterInstanceArn"); + m_identityCenterInstanceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("identityCenterApplicationArn")) + { + m_identityCenterApplicationArn = jsonValue.GetString("identityCenterApplicationArn"); + m_identityCenterApplicationArnHasBeenSet = true; + } + return *this; +} + +JsonValue IdentityCenterConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterInstanceArnHasBeenSet) + { + payload.WithString("identityCenterInstanceArn", m_identityCenterInstanceArn); + + } + + if(m_identityCenterApplicationArnHasBeenSet) + { + payload.WithString("identityCenterApplicationArn", m_identityCenterApplicationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp new file mode 100644 index 00000000000..83426564005 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/IdentityCenterConfigurationInput.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EMRServerless +{ +namespace Model +{ + +IdentityCenterConfigurationInput::IdentityCenterConfigurationInput(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentityCenterConfigurationInput& IdentityCenterConfigurationInput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("identityCenterInstanceArn")) + { + m_identityCenterInstanceArn = jsonValue.GetString("identityCenterInstanceArn"); + m_identityCenterInstanceArnHasBeenSet = true; + } + return *this; +} + +JsonValue IdentityCenterConfigurationInput::Jsonize() const +{ + JsonValue payload; + + if(m_identityCenterInstanceArnHasBeenSet) + { + payload.WithString("identityCenterInstanceArn", m_identityCenterInstanceArn); + + } + + return payload; +} + +} // namespace Model +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/JobRun.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/JobRun.cpp index 73defa1f9fe..89719d20884 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/JobRun.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/JobRun.cpp @@ -65,6 +65,11 @@ JobRun& JobRun::operator =(JsonView jsonValue) m_executionRole = jsonValue.GetString("executionRole"); m_executionRoleHasBeenSet = true; } + if(jsonValue.ValueExists("executionIamPolicy")) + { + m_executionIamPolicy = jsonValue.GetObject("executionIamPolicy"); + m_executionIamPolicyHasBeenSet = true; + } if(jsonValue.ValueExists("state")) { m_state = JobRunStateMapper::GetJobRunStateForName(jsonValue.GetString("state")); @@ -217,6 +222,12 @@ JsonValue JobRun::Jsonize() const } + if(m_executionIamPolicyHasBeenSet) + { + payload.WithObject("executionIamPolicy", m_executionIamPolicy.Jsonize()); + + } + if(m_stateHasBeenSet) { payload.WithString("state", JobRunStateMapper::GetNameForJobRunState(m_state)); diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp index 26477d6e790..978792c8465 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/model/UpdateApplicationRequest.cpp @@ -114,6 +114,12 @@ Aws::String UpdateApplicationRequest::SerializePayload() const } + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("identityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h index 1e4bdb7afe4..4ae1121d7e0 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h @@ -22,10 +22,10 @@ namespace GameLiftStreams * scale computing resources to host streams, and manage stream session placement * to meet customer demand.

                        This Reference Guide describes the Amazon * GameLift Streams service API. You can use the API through the Amazon Web - * Services SDK, the Command Line Interface (AWS CLI), or by making direct REST - * calls through HTTPS.

                        See the Amazon GameLift Streams Developer - * Guide for more information on how Amazon GameLift Streams works and how to - * work with it.

                        + * Services SDK, the Command Line Interface (CLI), or by making direct REST calls + * through HTTPS.

                        See the Amazon GameLift Streams Developer Guide for + * more information on how Amazon GameLift Streams works and how to work with + * it.

                        */ class AWS_GAMELIFTSTREAMS_API GameLiftStreamsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { @@ -155,13 +155,13 @@ namespace GameLiftStreams * application, upload your application content files to an Amazon Simple Storage * Service (Amazon S3) bucket. For more information, see Getting Started in * the Amazon GameLift Streams Developer Guide.

                        Make sure that - * your files in the Amazon S3 bucket are the correct version you want to use. As - * soon as you create a Amazon GameLift Streams application, you cannot change the - * files at a later time.

                        If the request is successful, - * Amazon GameLift Streams begins to create an application and sets the status to - * INITIALIZED. When an application reaches READY status, - * you can use the application to set up stream groups and start streams. To track - * application status, call

                        If the request is + * successful, Amazon GameLift Streams begins to create an application and sets the + * status to INITIALIZED. When an application reaches + * READY status, you can use the application to set up stream groups + * and start streams. To track application status, call GetApplication. *

                        See Also:

                        AWS @@ -198,28 +198,25 @@ namespace GameLiftStreams * of concurrent streams you want to support at one time, and in what locations. *

                        Stream capacity represents the number of concurrent streams that can be * active at a time. You set stream capacity per location, per stream group. There - * are two types of capacity: always-on and on-demand:

                        • + * are two types of capacity, always-on and on-demand:

                          To + * adjust the capacity of any ACTIVE stream group, call UpdateStreamGroup. + *

                          If the request is successful, Amazon GameLift Streams begins creating + * the stream group. Amazon GameLift Streams assigns a unique ID to the stream + * group resource and sets the status to ACTIVATING. When the stream + * group reaches ACTIVE status, you can start stream sessions by using + * StartStreamSession. + * To check the stream group's status, call GetStreamGroup. + *

                          See Also:

                          AWS * API Reference

                          */ @@ -716,23 +713,23 @@ namespace GameLiftStreams *

                          This action initiates a new stream session and outputs connection * information that clients can use to access the stream. A stream session refers * to an instance of a stream that Amazon GameLift Streams transmits from the - * server to the end-user. A stream session runs on a compute resource, or stream - * capacity, that a stream group has allocated.

                          To start a new stream - * session, specify a stream group and application ID, along with the transport - * protocol and signal request settings to use with the stream. You must have - * associated at least one application to the stream group before starting a stream - * session, either when creating the stream group, or by using

                          To start a new stream session, specify a + * stream group and application ID, along with the transport protocol and signal + * request settings to use with the stream. You must have associated at least one + * application to the stream group before starting a stream session, either when + * creating the stream group, or by using AssociateApplications.

                          *

                          For stream groups that have multiple locations, provide a set of locations - * ordered by priority by setting Locations. Amazon GameLift Streams - * will start a single stream session in the next available location. An + * ordered by priority using a Locations parameter. Amazon GameLift + * Streams will start a single stream session in the next available location. An * application must be finished replicating in a remote location before the remote * location can host a stream.

                          If the request is successful, Amazon * GameLift Streams begins to prepare the stream. Amazon GameLift Streams assigns * an Amazon Resource Name (ARN) value to the stream session resource and sets the * status to ACTIVATING. During the stream preparation process, Amazon * GameLift Streams queues the request and searches for available stream capacity - * to run the stream. This can result to one of the following:

                          • + * to run the stream. This results in one of the following:

                            • * Amazon GameLift Streams identifies an available compute resource to run the * application content and start the stream. When the stream is ready, the stream * session's status changes to ACTIVE and includes stream connection @@ -891,19 +888,18 @@ namespace GameLiftStreams * requested capacity of a stream group per location. If you want to change the * stream class, create a new stream group.

                              Stream capacity represents the * number of concurrent streams that can be active at a time. You set stream - * capacity per location, per stream group. There are two types of capacity: + * capacity per location, per stream group. There are two types of capacity, * always-on and on-demand:

                              To update a stream + * group, specify the stream group's Amazon Resource Name (ARN) and provide the new + * values. If the request is successful, Amazon GameLift Streams returns the + * complete updated metadata for the stream group.

                              See Also:

                              AWS * API Reference

                              */ diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsRequest.h index b1daa6bdd01..b12f1c84b29 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsRequest.h @@ -36,9 +36,13 @@ namespace Model ///@{ /** - *

                              A stream group to add the specified locations to.

                              This value is a - * Amazon Resource Name (ARN) that uniquely identifies the stream group resource. - * Format example: sg-1AB2C3De4.

                              + *

                              A stream group to add the specified locations to.

                              This value is an + * Amazon + * Resource Name (ARN) or ID that uniquely identifies the stream group + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsResult.h index 30b90a6de88..166b152fb51 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AddStreamGroupLocationsResult.h @@ -36,8 +36,12 @@ namespace Model ///@{ /** - *

                              This value is the Amazon Resource Name (ARN) that uniquely identifies the - * stream group resource. Format example: sg-1AB2C3De4.

                              + *

                              This value is an Amazon + * Resource Name (ARN) or ID that uniquely identifies the stream group + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ApplicationSummary.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ApplicationSummary.h index e365bf87833..453c1701fca 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ApplicationSummary.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ApplicationSummary.h @@ -87,12 +87,8 @@ namespace Model ///@{ /** - *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + *

                              An ID that uniquely identifies the application resource. Example ID: + * a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetId() const { return m_id; } inline bool IdHasBeenSet() const { return m_idHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsRequest.h index be298ffc21b..aeb541b68a1 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsRequest.h @@ -39,9 +39,9 @@ namespace Model * is a set of either Amazon * Resource Names (ARN) or IDs that uniquely identify application resources. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::Vector& GetApplicationIdentifiers() const { return m_applicationIdentifiers; } inline bool ApplicationIdentifiersHasBeenSet() const { return m_applicationIdentifiersHasBeenSet; } @@ -55,12 +55,12 @@ namespace Model ///@{ /** - *

                              A stream group to associate to the applications.

                              This value is a A stream group to associate to the applications.

                              This value is an Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsResult.h index cd42d9418fd..6ac42bc3804 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/AssociateApplicationsResult.h @@ -36,12 +36,12 @@ namespace Model ///@{ /** *

                              A set of applications that are associated to the stream group.

                              This - * value is a set of either Amazon - * Resource Names (ARN) or IDs that uniquely identify application resources. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Resource Names (ARNs) that uniquely identify application resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + *

                              */ inline const Aws::Vector& GetApplicationArns() const { return m_applicationArns; } template> @@ -54,13 +54,13 @@ namespace Model ///@{ /** - *

                              A stream group that is associated to the applications.

                              This value is a - * A stream group that is associated to the applications.

                              This value is + * an Amazon - * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * Resource Name (ARN) that uniquely identifies the stream group resource. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + *

                              */ inline const Aws::String& GetArn() const { return m_arn; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationRequest.h index c5aa8c437a4..6ded848e72a 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationRequest.h @@ -42,8 +42,10 @@ namespace Model * save application logs. Required if you specify one or more * ApplicationLogPaths.

                              The log bucket must have * permissions that give Amazon GameLift Streams access to write the log files. For - * more information, see Getting Started in the Amazon GameLift Streams - * Developer Guide.

                              + * more information, see Application + * log bucket permission policy in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetApplicationLogOutputUri() const { return m_applicationLogOutputUri; } inline bool ApplicationLogOutputUriHasBeenSet() const { return m_applicationLogOutputUriHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationResult.h index 625801a8f6c..7b66314009c 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateApplicationResult.h @@ -83,8 +83,10 @@ namespace Model ///@{ /** - *

                              An Amazon Resource Name (ARN) that's assigned to an application resource and - * uniquely identifies it across all Amazon Web Services Regions. Format is + *

                              The Amazon + * Resource Name (ARN) that's assigned to an application resource and uniquely + * identifies it across all Amazon Web Services Regions. Format is * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource * ID].

                              */ @@ -147,12 +149,8 @@ namespace Model ///@{ /** - *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + *

                              A unique ID value that is assigned to the resource when it's created. Format + * example: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetId() const { return m_id; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupRequest.h index 48179e169a1..23001a3d93a 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupRequest.h @@ -60,7 +60,13 @@ namespace Model * stream group. Once set, this application cannot be disassociated from the stream * group, unlike applications that are associated using AssociateApplications. If * not set when creating a stream group, you will need to call - * AssociateApplications later, before you can start streaming.

                              + * AssociateApplications later, before you can start streaming.

                              This value + * is an Amazon + * Resource Name (ARN) or ID that uniquely identifies the application resource. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetDefaultApplicationIdentifier() const { return m_defaultApplicationIdentifier; } inline bool DefaultApplicationIdentifierHasBeenSet() const { return m_defaultApplicationIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupResult.h index 4804b5e0e56..d4950f5de67 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamGroupResult.h @@ -41,10 +41,12 @@ namespace Model ///@{ /** - *

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource - * and that uniquely identifies the group across all Amazon Web Services Regions. - * Format is arn:aws:gameliftstreams:[AWS Region]:[AWS - * account]:streamgroup/[resource ID].

                              + *

                              The Amazon + * Resource Name (ARN) that is assigned to the stream group resource and that + * uniquely identifies the group across all Amazon Web Services Regions. Format is + * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource + * ID].

                              */ inline const Aws::String& GetArn() const { return m_arn; } template @@ -59,9 +61,9 @@ namespace Model * stream any of these applications by using this stream group.

                              This value * is a set of Amazon - * Resource Names (ARNs) that uniquely identify application resources. Format - * example: - * arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6. + * Resource Names (ARNs) that uniquely identify application resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. *

                              */ inline const Aws::Vector& GetAssociatedApplications() const { return m_associatedApplications; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamSessionConnectionRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamSessionConnectionRequest.h index 5860e9f64fa..66ed25f9704 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamSessionConnectionRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/CreateStreamSessionConnectionRequest.h @@ -52,11 +52,11 @@ namespace Model *

                              Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              The stream group that you want to run - * this stream session with. The stream group must be in ACTIVE status - * and have idle stream capacity.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              The stream group that you want + * to run this stream session with. The stream group must be in ACTIVE + * status and have idle stream capacity.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } @@ -85,8 +85,10 @@ namespace Model /** *

                              Amazon - * Resource Name (ARN) that uniquely identifies the stream session resource. - * Format example: 1AB2C3De4. The stream session must be in + * Resource Name (ARN) or ID that uniquely identifies the stream session + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. + * Example ID: ABC123def4567.

                              The stream session must be in * PENDING_CLIENT_RECONNECTION or ACTIVE status.

                              */ inline const Aws::String& GetStreamSessionIdentifier() const { return m_streamSessionIdentifier; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DefaultApplication.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DefaultApplication.h index bd98aa40e0a..41dd5283667 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DefaultApplication.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DefaultApplication.h @@ -43,8 +43,8 @@ namespace Model *

                              An Amazon * Resource Name (ARN) that uniquely identifies the application resource. - * Format example: - * arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. *

                              */ inline const Aws::String& GetArn() const { return m_arn; } @@ -57,8 +57,8 @@ namespace Model ///@{ /** - *

                              An ID that uniquely identifies the application resource. For example: - * a-9ZY8X7Wv6.

                              + *

                              An ID that uniquely identifies the application resource. Example ID: + * a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetId() const { return m_id; } inline bool IdHasBeenSet() const { return m_idHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteApplicationRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteApplicationRequest.h index 2a190d5e3be..18969e368bb 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteApplicationRequest.h @@ -37,9 +37,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteStreamGroupRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteStreamGroupRequest.h index 46d47765ab9..ae14fc5b9de 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteStreamGroupRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DeleteStreamGroupRequest.h @@ -34,8 +34,12 @@ namespace Model ///@{ /** - *

                              The unique ID value of the stream group resource to delete. Format example: - * sg-1AB2C3De4.

                              + *

                              An Amazon + * Resource Name (ARN) or ID that uniquely identifies the stream group + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsRequest.h index 1a25bffb7c5..809d2eb9d18 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsRequest.h @@ -39,9 +39,9 @@ namespace Model * group.

                              This value is a set of either Amazon * Resource Names (ARN) or IDs that uniquely identify application resources. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::Vector& GetApplicationIdentifiers() const { return m_applicationIdentifiers; } inline bool ApplicationIdentifiersHasBeenSet() const { return m_applicationIdentifiersHasBeenSet; } @@ -59,9 +59,9 @@ namespace Model * an Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsResult.h index 2b3c072bae6..dd78ab22b99 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/DisassociateApplicationsResult.h @@ -36,12 +36,12 @@ namespace Model ///@{ /** *

                              A set of applications that are disassociated from this stream group.

                              - *

                              This value is a set of either This value is a set of Amazon - * Resource Names (ARN) or IDs that uniquely identify application resources. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Resource Names (ARNs) that uniquely identify application resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + *

                              */ inline const Aws::Vector& GetApplicationArns() const { return m_applicationArns; } template> @@ -56,10 +56,10 @@ namespace Model /** *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * Resource Name (ARN) that uniquely identifies the stream group resource. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + *

                              */ inline const Aws::String& GetArn() const { return m_arn; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportFilesMetadata.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportFilesMetadata.h index 1fb3fb7ecba..ff7b60e438b 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportFilesMetadata.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportFilesMetadata.h @@ -46,11 +46,12 @@ namespace Model * generates a ZIP file name based on the stream session metadata. Alternatively, * you can provide a custom file name with a .zip file extension.

                              *

                              Example 1: If you provide an S3 URI called - * s3://MyBucket/MyGame_Session1.zip, then Amazon GameLift Streams - * will save the files at that location.

                              Example 2: If you provide an S3 - * URI called s3://MyBucket/MyGameSessions_ExportedFiles/, then Amazon - * GameLift Streams will save the files at - * s3://MyBucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip + * s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then + * Amazon GameLift Streams will save the files at that location.

                              Example + * 2: If you provide an S3 URI called + * s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, + * then Amazon GameLift Streams will save the files at + * s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip * or another similar name.

                              */ inline const Aws::String& GetOutputUri() const { return m_outputUri; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportStreamSessionFilesRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportStreamSessionFilesRequest.h index 10e8c387e4f..a8dfbf2ec30 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportStreamSessionFilesRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ExportStreamSessionFilesRequest.h @@ -37,9 +37,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } @@ -56,11 +56,12 @@ namespace Model * generates a ZIP file name based on the stream session metadata. Alternatively, * you can provide a custom file name with a .zip file extension.

                              *

                              Example 1: If you provide an S3 URI called - * s3://MyBucket/MyGame_Session1.zip, then Amazon GameLift Streams - * will save the files at that location.

                              Example 2: If you provide an S3 - * URI called s3://MyBucket/MyGameSessions_ExportedFiles/, then Amazon - * GameLift Streams will save the files at - * s3://MyBucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip + * s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then + * Amazon GameLift Streams will save the files at that location.

                              Example + * 2: If you provide an S3 URI called + * s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, + * then Amazon GameLift Streams will save the files at + * s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip * or another similar name.

                              */ inline const Aws::String& GetOutputUri() const { return m_outputUri; } @@ -76,7 +77,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the stream session - * resource. Format example: 1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. + * Example ID: ABC123def4567.

                              */ inline const Aws::String& GetStreamSessionIdentifier() const { return m_streamSessionIdentifier; } inline bool StreamSessionIdentifierHasBeenSet() const { return m_streamSessionIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationRequest.h index 7e8ed479887..ea2ec8094e6 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationRequest.h @@ -37,9 +37,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationResult.h index cc80ee84490..bda5b9ce6db 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetApplicationResult.h @@ -83,8 +83,10 @@ namespace Model ///@{ /** - *

                              An Amazon Resource Name (ARN) that's assigned to an application resource and - * uniquely identifies it across all Amazon Web Services Regions. Format is + *

                              The Amazon + * Resource Name (ARN) that's assigned to an application resource and uniquely + * identifies it across all Amazon Web Services Regions. Format is * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource * ID].

                              */ @@ -101,9 +103,9 @@ namespace Model * any of these stream groups to stream your application.

                              This value is a * set of Amazon - * Resource Names (ARNs) that uniquely identify stream group resources. Format - * example: - * arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4. + * Resource Names (ARNs) that uniquely identify stream group resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. *

                              */ inline const Aws::Vector& GetAssociatedStreamGroups() const { return m_associatedStreamGroups; } @@ -153,12 +155,8 @@ namespace Model ///@{ /** - *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + *

                              A unique ID value that is assigned to the resource when it's created. Format + * example: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetId() const { return m_id; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupRequest.h index fca69fa3ee3..9eaf3efa10b 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupRequest.h @@ -34,8 +34,12 @@ namespace Model ///@{ /** - *

                              The unique ID value of the stream group resource to retrieve. Format example: - * sg-1AB2C3De4.

                              + *

                              An Amazon + * Resource Name (ARN) or ID that uniquely identifies the stream group + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupResult.h index 9259cbae526..f555fdf9f09 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamGroupResult.h @@ -41,10 +41,12 @@ namespace Model ///@{ /** - *

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource - * and that uniquely identifies the group across all Amazon Web Services Regions. - * Format is arn:aws:gameliftstreams:[AWS Region]:[AWS - * account]:streamgroup/[resource ID].

                              + *

                              The Amazon + * Resource Name (ARN) that is assigned to the stream group resource and that + * uniquely identifies the group across all Amazon Web Services Regions. Format is + * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource + * ID].

                              */ inline const Aws::String& GetArn() const { return m_arn; } template @@ -59,9 +61,9 @@ namespace Model * stream any of these applications by using this stream group.

                              This value * is a set of Amazon - * Resource Names (ARNs) that uniquely identify application resources. Format - * example: - * arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6. + * Resource Names (ARNs) that uniquely identify application resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. *

                              */ inline const Aws::Vector& GetAssociatedApplications() const { return m_associatedApplications; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionRequest.h index 7f1bb6c4a1b..0752817d286 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionRequest.h @@ -37,9 +37,9 @@ namespace Model *

                              The stream group that runs this stream session.

                              This value is an Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } @@ -53,8 +53,10 @@ namespace Model /** *

                              An Amazon - * Resource Name (ARN) that uniquely identifies the stream session resource. - * Format example: 1AB2C3De4.

                              + * Resource Name (ARN) or ID that uniquely identifies the stream session + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. + * Example ID: ABC123def4567.

                              */ inline const Aws::String& GetStreamSessionIdentifier() const { return m_streamSessionIdentifier; } inline bool StreamSessionIdentifierHasBeenSet() const { return m_streamSessionIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionResult.h index cee039daa7d..65580366834 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/GetStreamSessionResult.h @@ -92,8 +92,8 @@ namespace Model *

                              The application streaming in this session.

                              This value is an Amazon * Resource Name (ARN) that uniquely identifies the application resource. - * Format example: - * arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. *

                              */ inline const Aws::String& GetApplicationArn() const { return m_applicationArn; } @@ -105,10 +105,13 @@ namespace Model ///@{ /** - *

                              The Amazon Resource Name (ARN) assigned to the stream session resource. When - * combined with the stream group ARN, this value uniquely identifies it across all - * Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS - * Region]:[AWS account]:streamsession/[resource ID].

                              + *

                              The Amazon + * Resource Name (ARN) that's assigned to a stream session resource. When + * combined with the stream group resource ID, this value uniquely identifies the + * stream session across all Amazon Web Services Regions. Format is + * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream + * group resource ID]/[stream session resource ID].

                              */ inline const Aws::String& GetArn() const { return m_arn; } template @@ -182,8 +185,9 @@ namespace Model *

                              The location where Amazon GameLift Streams is hosting the stream session.

                              *

                              A location's name. For example, us-east-1. For a complete list * of locations that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetLocation() const { return m_location; } template @@ -272,7 +276,7 @@ namespace Model ///@{ /** *

                              The unique identifier for the Amazon GameLift Streams stream group that is - * hosting the stream session.

                              + * hosting the stream session. Format example: sg-1AB2C3De4.

                              */ inline const Aws::String& GetStreamGroupId() const { return m_streamGroupId; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListStreamSessionsRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListStreamSessionsRequest.h index fd67644aa5a..617778cdae7 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListStreamSessionsRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListStreamSessionsRequest.h @@ -60,8 +60,9 @@ namespace Model ///@{ /** *

                              The unique identifier of a Amazon GameLift Streams stream group to retrieve - * the stream session for. You can use either the stream group ID or the Amazon - * Resource Name (ARN).

                              + * the stream session for. You can use either the stream group ID or the Amazon + * Resource Name (ARN).

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListTagsForResourceRequest.h index ad232f3a393..dada9d287f0 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListTagsForResourceRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ListTagsForResourceRequest.h @@ -34,9 +34,9 @@ namespace Model ///@{ /** - *

                              The (Amazon - * Resource Name (ARN) that you want to retrieve tags for. To get a Amazon + *

                              The Amazon + * Resource Name (ARN) that you want to retrieve tags for. To get an Amazon * GameLift Streams resource ARN, call a List or Get operation for the * resource.

                              */ diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationConfiguration.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationConfiguration.h index 841d234f64b..060c65e0cf2 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationConfiguration.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationConfiguration.h @@ -46,9 +46,9 @@ namespace Model ///@{ /** - *

                              The streaming capacity that is allocated and ready to handle stream requests + *

                              The streaming capacity that is allocated and ready to handle stream requests * without delay. You pay for this capacity whether it's in use or not. Best for - * quickest time from streaming request to streaming session.

                              + * quickest time from streaming request to streaming session.

                              */ inline int GetAlwaysOnCapacity() const { return m_alwaysOnCapacity; } inline bool AlwaysOnCapacityHasBeenSet() const { return m_alwaysOnCapacityHasBeenSet; } @@ -60,8 +60,9 @@ namespace Model /** *

                              A location's name. For example, us-east-1. For a complete list * of locations that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetLocationName() const { return m_locationName; } inline bool LocationNameHasBeenSet() const { return m_locationNameHasBeenSet; } @@ -73,10 +74,10 @@ namespace Model ///@{ /** - *

                              The streaming capacity that Amazon GameLift Streams can allocate in response + *

                              The streaming capacity that Amazon GameLift Streams can allocate in response * to stream requests, and then de-allocate when the session has terminated. This * offers a cost control measure at the expense of a greater startup time - * (typically under 5 minutes).

                              + * (typically under 5 minutes).

                              */ inline int GetOnDemandCapacity() const { return m_onDemandCapacity; } inline bool OnDemandCapacityHasBeenSet() const { return m_onDemandCapacityHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationState.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationState.h index 7b3b7fc60e6..ca7abc06d9e 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationState.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/LocationState.h @@ -54,9 +54,9 @@ namespace Model ///@{ /** - *

                              The streaming capacity that is allocated and ready to handle stream requests + *

                              The streaming capacity that is allocated and ready to handle stream requests * without delay. You pay for this capacity whether it's in use or not. Best for - * quickest time from streaming request to streaming session.

                              + * quickest time from streaming request to streaming session.

                              */ inline int GetAlwaysOnCapacity() const { return m_alwaysOnCapacity; } inline bool AlwaysOnCapacityHasBeenSet() const { return m_alwaysOnCapacityHasBeenSet; } @@ -80,8 +80,9 @@ namespace Model /** *

                              A location's name. For example, us-east-1. For a complete list * of locations that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetLocationName() const { return m_locationName; } inline bool LocationNameHasBeenSet() const { return m_locationNameHasBeenSet; } @@ -93,10 +94,10 @@ namespace Model ///@{ /** - *

                              The streaming capacity that Amazon GameLift Streams can allocate in response + *

                              The streaming capacity that Amazon GameLift Streams can allocate in response * to stream requests, and then de-allocate when the session has terminated. This * offers a cost control measure at the expense of a greater startup time - * (typically under 5 minutes).

                              + * (typically under 5 minutes).

                              */ inline int GetOnDemandCapacity() const { return m_onDemandCapacity; } inline bool OnDemandCapacityHasBeenSet() const { return m_onDemandCapacityHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/RemoveStreamGroupLocationsRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/RemoveStreamGroupLocationsRequest.h index d757a9a8567..4e7735f145f 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/RemoveStreamGroupLocationsRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/RemoveStreamGroupLocationsRequest.h @@ -42,8 +42,12 @@ namespace Model ///@{ /** *

                              A stream group to remove the specified locations from.

                              This value - * is a Amazon Resource Name (ARN) that uniquely identifies the stream group - * resource. Format example: sg-1AB2C3De4.

                              + * is an Amazon + * Resource Name (ARN) or ID that uniquely identifies the stream group + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } @@ -58,8 +62,9 @@ namespace Model *

                              A set of locations to remove this stream group.

                              A set of location * names. For example, us-east-1. For a complete list of locations * that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::Vector& GetLocations() const { return m_locations; } inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ReplicationStatus.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ReplicationStatus.h index bcaf1f3c6cb..41517b7a68c 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ReplicationStatus.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/ReplicationStatus.h @@ -44,8 +44,9 @@ namespace Model /** *

                              A location's name. For example, us-east-1. For a complete list * of locations that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetLocation() const { return m_location; } inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionRequest.h index 40c8052402a..7d6e0e0a99c 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionRequest.h @@ -91,9 +91,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetApplicationIdentifier() const { return m_applicationIdentifier; } inline bool ApplicationIdentifierHasBeenSet() const { return m_applicationIdentifierHasBeenSet; } @@ -149,9 +149,9 @@ namespace Model *

                              The stream group to run this stream session with.

                              This value is an Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } @@ -170,8 +170,9 @@ namespace Model * the primary location.

                              This value is A set of location names. For * example, us-east-1. For a complete list of locations that Amazon * GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::Vector& GetLocations() const { return m_locations; } inline bool LocationsHasBeenSet() const { return m_locationsHasBeenSet; } @@ -208,9 +209,13 @@ namespace Model ///@{ /** - *

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. The - * offer is a very long JSON string. Provide the string as a text value in - * quotes.

                              + *

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. + * Typically, the offer is a very long JSON string. Provide the string as a text + * value in quotes.

                              Amazon GameLift Streams also supports setting the field + * to "NO_CLIENT_CONNECTION". This will create a session without needing any + * browser request or Web SDK integration. The session starts up as usual and waits + * for a reconnection from a browser, which is accomplished using CreateStreamSessionConnection.

                              */ inline const Aws::String& GetSignalRequest() const { return m_signalRequest; } inline bool SignalRequestHasBeenSet() const { return m_signalRequestHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionResult.h index 64f8106f5e7..648ac8f5bc9 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StartStreamSessionResult.h @@ -92,8 +92,8 @@ namespace Model *

                              An Amazon * Resource Name (ARN) that uniquely identifies the application resource. - * Format example: - * arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. *

                              */ inline const Aws::String& GetApplicationArn() const { return m_applicationArn; } @@ -105,10 +105,13 @@ namespace Model ///@{ /** - *

                              The Amazon Resource Name (ARN) assigned to the stream session resource. When - * combined with the stream group ARN, this value uniquely identifies it across all - * Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS - * Region]:[AWS account]:streamsession/[resource ID].

                              + *

                              The Amazon + * Resource Name (ARN) that's assigned to a stream session resource. When + * combined with the stream group resource ID, this value uniquely identifies the + * stream session across all Amazon Web Services Regions. Format is + * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream + * group resource ID]/[stream session resource ID].

                              */ inline const Aws::String& GetArn() const { return m_arn; } template @@ -182,8 +185,9 @@ namespace Model *

                              The location where Amazon GameLift Streams is streaming your application * from.

                              A location's name. For example, us-east-1. For a * complete list of locations that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetLocation() const { return m_location; } template @@ -272,7 +276,7 @@ namespace Model ///@{ /** *

                              The unique identifier for the Amazon GameLift Streams stream group that is - * hosting the stream session.

                              + * hosting the stream session. Format example: sg-1AB2C3De4.

                              */ inline const Aws::String& GetStreamGroupId() const { return m_streamGroupId; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamGroupSummary.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamGroupSummary.h index 6c898af4b48..9dfd1087677 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamGroupSummary.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamGroupSummary.h @@ -48,10 +48,10 @@ namespace Model /** *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * Resource Name (ARN) that uniquely identifies the stream group resource. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + *

                              */ inline const Aws::String& GetArn() const { return m_arn; } inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } @@ -102,12 +102,8 @@ namespace Model ///@{ /** - *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + *

                              An ID that uniquely identifies the stream group resource. Example ID: + * sg-1AB2C3De4.

                              */ inline const Aws::String& GetId() const { return m_id; } inline bool IdHasBeenSet() const { return m_idHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamSessionSummary.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamSessionSummary.h index 9144cf5a2f5..0c4622e0e06 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamSessionSummary.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/StreamSessionSummary.h @@ -48,10 +48,10 @@ namespace Model /** *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Resource Name (ARN) that uniquely identifies the application resource. + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + *

                              */ inline const Aws::String& GetApplicationArn() const { return m_applicationArn; } inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } @@ -66,7 +66,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) that uniquely identifies the stream session resource. - * Format example: 1AB2C3De4. .

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. + *

                              */ inline const Aws::String& GetArn() const { return m_arn; } inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } @@ -121,8 +123,9 @@ namespace Model *

                              The location where Amazon GameLift Streams is hosting the stream session.

                              *

                              A location's name. For example, us-east-1. For a complete list * of locations that Amazon GameLift Streams supports, refer to Regions - * and quotas in the Amazon GameLift Streams Developer Guide.

                              + * href="https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html">Regions, + * quotas, and limitations in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetLocation() const { return m_location; } inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TagResourceRequest.h index daab7207891..0a45939a342 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TagResourceRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TagResourceRequest.h @@ -36,7 +36,7 @@ namespace Model ///@{ /** *

                              The Amazon + * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon * Resource Name (ARN) of the Amazon GameLift Streams resource that you want to * apply tags to.

                              */ diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TerminateStreamSessionRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TerminateStreamSessionRequest.h index 486d3d67964..ab99c2adf5c 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TerminateStreamSessionRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/TerminateStreamSessionRequest.h @@ -37,10 +37,10 @@ namespace Model *

                              Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              The stream group that runs this stream - * session.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              The stream group that runs this + * stream session.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } @@ -54,8 +54,10 @@ namespace Model /** *

                              Amazon - * Resource Name (ARN) that uniquely identifies the stream session resource. - * Format example: 1AB2C3De4.

                              + * Resource Name (ARN) or ID that uniquely identifies the stream session + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. + * Example ID: ABC123def4567.

                              */ inline const Aws::String& GetStreamSessionIdentifier() const { return m_streamSessionIdentifier; } inline bool StreamSessionIdentifierHasBeenSet() const { return m_streamSessionIdentifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UntagResourceRequest.h index 7abe8df51f9..ff3885727fa 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UntagResourceRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UntagResourceRequest.h @@ -42,7 +42,7 @@ namespace Model ///@{ /** *

                              The Amazon + * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon * Resource Name (ARN) of the Amazon GameLift Streams resource that you want to * remove tags from.

                              */ diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationRequest.h index f0f956bd216..c9c8fedea3a 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationRequest.h @@ -39,8 +39,10 @@ namespace Model * save application logs. Required if you specify one or more * ApplicationLogPaths.

                              The log bucket must have * permissions that give Amazon GameLift Streams access to write the log files. For - * more information, see Getting Started in the Amazon GameLift Streams - * Developer Guide.

                              + * more information, see Application + * log bucket permission policy in the Amazon GameLift Streams Developer + * Guide.

                              */ inline const Aws::String& GetApplicationLogOutputUri() const { return m_applicationLogOutputUri; } inline bool ApplicationLogOutputUriHasBeenSet() const { return m_applicationLogOutputUriHasBeenSet; } @@ -88,9 +90,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + * Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. + * Example ID: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationResult.h index 75943bc7d7b..c7d4df39e37 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateApplicationResult.h @@ -83,8 +83,10 @@ namespace Model ///@{ /** - *

                              An Amazon Resource Name (ARN) that's assigned to an application resource and - * uniquely identifies it across all Amazon Web Services Regions. Format is + *

                              The Amazon + * Resource Name (ARN) that's assigned to an application resource and uniquely + * identifies it across all Amazon Web Services Regions. Format is * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource * ID].

                              */ @@ -101,9 +103,9 @@ namespace Model * any of these stream groups to stream your application.

                              This value is a * set of Amazon - * Resource Names (ARNs) that uniquely identify stream group resources. Format - * example: - * arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4. + * Resource Names (ARNs) that uniquely identify stream group resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. *

                              */ inline const Aws::Vector& GetAssociatedStreamGroups() const { return m_associatedStreamGroups; } @@ -153,12 +155,8 @@ namespace Model ///@{ /** - *

                              An Amazon - * Resource Name (ARN) or ID that uniquely identifies the application resource. - * Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 - * or ID-a-9ZY8X7Wv6.

                              + *

                              A unique ID value that is assigned to the resource when it's created. Format + * example: a-9ZY8X7Wv6.

                              */ inline const Aws::String& GetId() const { return m_id; } template diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupRequest.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupRequest.h index cb96b640afe..20502c90a31 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupRequest.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupRequest.h @@ -51,9 +51,9 @@ namespace Model *

                              An Amazon * Resource Name (ARN) or ID that uniquely identifies the stream group - * resource. Format example: - * ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 - * or ID-sg-1AB2C3De4.

                              + * resource. Example ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. + * Example ID: sg-1AB2C3De4.

                              */ inline const Aws::String& GetIdentifier() const { return m_identifier; } inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupResult.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupResult.h index b3a7e8fe2dd..9a0e60a9475 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupResult.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/model/UpdateStreamGroupResult.h @@ -41,10 +41,12 @@ namespace Model ///@{ /** - *

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource - * and that uniquely identifies the group across all Amazon Web Services Regions. - * Format is arn:aws:gameliftstreams:[AWS Region]:[AWS - * account]:streamgroup/[resource ID].

                              + *

                              The Amazon + * Resource Name (ARN) that is assigned to the stream group resource and that + * uniquely identifies the group across all Amazon Web Services Regions. Format is + * arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource + * ID].

                              */ inline const Aws::String& GetArn() const { return m_arn; } template @@ -59,9 +61,9 @@ namespace Model * stream any of these applications with the stream group.

                              This value is a * set of Amazon - * Resource Names (ARNs) that uniquely identify application resources. Format - * example: - * arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6. + * Resource Names (ARNs) that uniquely identify application resources. Example + * ARN: + * arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. *

                              */ inline const Aws::Vector& GetAssociatedApplications() const { return m_associatedApplications; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h index bf829a3e23b..8ee55e1b089 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h @@ -87,11 +87,13 @@ namespace GeoPlaces virtual ~GeoPlacesClient(); /** - *

                              The autocomplete operation speeds up and increases the accuracy of entering - * addresses by providing a list of address candidates matching a partially entered - * address. Results are sorted from most to least matching. Filtering and biasing - * can be used to increase the relevance of the results if additional search - * context is known

                              See Also:

                              Autocomplete completes potential places and addresses as the + * user types, based on the partial input. The API enhances the efficiency and + * accuracy of address by completing query based on a few entered keystrokes. It + * helps you by completing partial queries with valid address completion. Also, the + * API supports the filtering of results based on geographic location, country, or + * specific place types, and can be tailored using optional parameters like + * language and political views.

                              See Also:

                              AWS * API Reference

                              */ @@ -116,8 +118,12 @@ namespace GeoPlaces } /** - *

                              The Geocode action allows you to obtain coordinates, addresses, - * and other information about places.

                              See Also:

                              Geocode converts a textual address or place into geographic + * coordinates. You can obtain geographic coordinates, address component, and other + * related information. It supports flexible queries, including free-form text or + * structured queries with components like street names, postal codes, and regions. + * The Geocode API can also provide additional features such as time zone + * information and the inclusion of political views.

                              See Also:

                              AWS * API Reference

                              */ @@ -142,8 +148,8 @@ namespace GeoPlaces } /** - *

                              Finds a place by its unique ID. A PlaceId is returned by other - * place operations.

                              See Also:

                              GetPlace finds a place by its unique ID. A PlaceId + * is returned by other place operations.

                              See Also:

                              AWS * API Reference

                              */ @@ -168,8 +174,13 @@ namespace GeoPlaces } /** - *

                              The ReverseGeocode operation allows you to retrieve addresses - * and place information from coordinates.

                              See Also:

                              ReverseGeocode converts geographic coordinates into a + * human-readable address or place. You can obtain address component, and other + * related information such as place type, category, street information. The + * Reverse Geocode API supports filtering to on place type so that you can refine + * result based on your need. Also, The Reverse Geocode API can also provide + * additional features such as time zone information and the inclusion of political + * views.

                              See Also:

                              AWS * API Reference

                              */ @@ -194,7 +205,12 @@ namespace GeoPlaces } /** - *

                              Search nearby a specified location.

                              See Also:

                              SearchNearby queries for points of interest within a radius + * from a central coordinates, returning place results with optional filters such + * as categories, business chains, food types and more. The API returns details + * such as a place name, address, phone, category, food type, contact, opening + * hours. Also, the API can return phonemes, time zones and more based on requested + * parameters.

                              See Also:

                              AWS * API Reference

                              */ @@ -219,9 +235,9 @@ namespace GeoPlaces } /** - *

                              Use the SearchText operation to search for geocode and place - * information. You can then complete a follow-up query suggested from the - * Suggest API via a query id.

                              See Also:

                              SearchText searches for geocode and place information. You can + * then complete a follow-up query suggested from the Suggest API via + * a query id.

                              See Also:

                              AWS * API Reference

                              */ @@ -246,9 +262,17 @@ namespace GeoPlaces } /** - *

                              The Suggest operation finds addresses or place candidates based - * on incomplete or misspelled queries. You then select the best query to submit - * based on the returned results.

                              See Also:

                              Suggest provides intelligent predictions or recommendations + * based on the user's input or context, such as relevant places, points of + * interest, query terms or search category. It is designed to help users find + * places or point of interests candidates or identify a follow on query based on + * incomplete or misspelled queries. It returns a list of possible matches or + * refinements that can be used to formulate a more accurate query. Users can + * select the most appropriate suggestion and use it for further searching. The API + * provides options for filtering results by location and other attributes, and + * allows for additional features like phonemes and timezones. The response + * includes refined query terms and detailed place information.

                              See + * Also:

                              AWS * API Reference

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h index bfeb2a9eab2..9994ffa035e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -94,7 +95,7 @@ namespace Model ///@{ /** - *

                              The locality or city of the address.

                              Example: + *

                              The city or locality of the address.

                              Example: * Vancouver.

                              */ inline const Aws::String& GetLocality() const { return m_locality; } @@ -134,7 +135,7 @@ namespace Model /** *

                              An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code, for which the result should - * posses.

                              + * possess.

                              */ inline const Aws::String& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } @@ -235,6 +236,22 @@ namespace Model template Address& WithBuilding(BuildingT&& value) { SetBuilding(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              Components that correspond to secondary identifiers on an Address. Secondary + * address components include information such as Suite or Unit Number, Building, + * or Floor.

                              + */ + inline const Aws::Vector& GetSecondaryAddressComponents() const { return m_secondaryAddressComponents; } + inline bool SecondaryAddressComponentsHasBeenSet() const { return m_secondaryAddressComponentsHasBeenSet; } + template> + void SetSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents = std::forward(value); } + template> + Address& WithSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { SetSecondaryAddressComponents(std::forward(value)); return *this;} + template + Address& AddSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_label; @@ -281,6 +298,9 @@ namespace Model Aws::String m_building; bool m_buildingHasBeenSet = false; + + Aws::Vector m_secondaryAddressComponents; + bool m_secondaryAddressComponentsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h index ad2291ad58e..c437daa440b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -106,7 +107,7 @@ namespace Model /** *

                              An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code, for which the result should - * posses.

                              + * possess.

                              */ inline double GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } @@ -169,6 +170,20 @@ namespace Model inline void SetBuilding(double value) { m_buildingHasBeenSet = true; m_building = value; } inline AddressComponentMatchScores& WithBuilding(double value) { SetBuilding(value); return *this;} ///@} + + ///@{ + /** + *

                              Match scores for the secondary address components in the result.

                              + */ + inline const Aws::Vector& GetSecondaryAddressComponents() const { return m_secondaryAddressComponents; } + inline bool SecondaryAddressComponentsHasBeenSet() const { return m_secondaryAddressComponentsHasBeenSet; } + template> + void SetSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents = std::forward(value); } + template> + AddressComponentMatchScores& WithSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { SetSecondaryAddressComponents(std::forward(value)); return *this;} + template + AddressComponentMatchScores& AddSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents.emplace_back(std::forward(value)); return *this; } + ///@} private: double m_country{0.0}; @@ -206,6 +221,9 @@ namespace Model double m_building{0.0}; bool m_buildingHasBeenSet = false; + + Aws::Vector m_secondaryAddressComponents; + bool m_secondaryAddressComponentsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h index 6d5268007eb..09aea3a1824 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h @@ -158,7 +158,8 @@ namespace Model ///@{ /** - *

                              Name of the block. Example: Sunny Mansion 203 block: 2 Chome

                              + *

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 + * Chome

                              */ inline const Aws::Vector& GetBlock() const { return m_block; } inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } @@ -172,7 +173,8 @@ namespace Model ///@{ /** - *

                              Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                              + *

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: + * 4

                              */ inline const Aws::Vector& GetSubBlock() const { return m_subBlock; } inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } @@ -203,7 +205,7 @@ namespace Model /** *

                              An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code for which the result should - * posses.

                              + * possess.

                              */ inline const Aws::Vector& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h index 8806426edaf..b02910eca7f 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h @@ -28,7 +28,7 @@ namespace Model /** *

                              Autocomplete structure which contains a set of inclusion/exclusion properties - * that results must posses in order to be returned as a result.

                              See + * that results must possess in order to be returned as a result.

                              See * Also:

                              AWS * API Reference

                              diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h index 82e4941fe8c..e6dcf3cebce 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h @@ -46,7 +46,9 @@ namespace Model ///@{ /** *

                              The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                              + * partially typed address from an end user in an address box or form.

                              + *

                              The fields QueryText, and QueryID are mutually + * exclusive.

                              */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -86,7 +88,7 @@ namespace Model ///@{ /** *

                              A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              + * results must possess in order to be returned as a result.

                              */ inline const AutocompleteFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -101,8 +103,9 @@ namespace Model *

                              The PostalCodeMode affects how postal code results are returned. * If a postal code spans multiple localities and this value is empty, partial * district or locality information may be returned under a single postal code - * result entry. If it's populated with the value cityLookup, all - * cities in that postal code are returned.

                              + * result entry. If it's populated with the value + * EnumerateSpannedLocalities, all cities in that postal code are + * returned.

                              */ inline PostalCodeMode GetPostalCodeMode() const { return m_postalCodeMode; } inline bool PostalCodeModeHasBeenSet() const { return m_postalCodeModeHasBeenSet; } @@ -144,6 +147,23 @@ namespace Model *

                              The alpha-2 or alpha-3 character code for the political view of a country. * The political view applies to the results of the request to represent unresolved * territorial claims through the point of view of the specified country.

                              + *

                              The following political views are currently supported:

                              • + * ARG: Argentina's view on the Southern Patagonian Ice Field and + * Tierra Del Fuego, including the Falkland Islands, South Georgia, and South + * Sandwich Islands

                              • EGY: Egypt's view on Bir + * Tawil

                              • IND: India's view on Gilgit-Baltistan

                                + *
                              • KEN: Kenya's view on the Ilemi Triangle

                              • + *
                              • MAR: Morocco's view on Western Sahara

                              • + * RUS: Russia's view on Crimea

                              • SDN: + * Sudan's view on the Halaib Triangle

                              • SRB: + * Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                              • + * SUR: Suriname's view on the Courantyne Headwaters and Lawa + * Headwaters

                              • SYR: Syria's view on the Golan + * Heights

                              • TUR: Turkey's view on Cyprus and + * Northern Cyprus

                              • TZA: Tanzania's view on Lake + * Malawi

                              • URY: Uruguay's view on Rincon de + * Artigas

                              • VNM: Vietnam's view on the Paracel + * Islands and Spratly Islands

                              */ inline const Aws::String& GetPoliticalView() const { return m_politicalView; } inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h index cb0380779b0..79a68745a48 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h index 862e966b2fa..f92ed486c3c 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h @@ -24,9 +24,10 @@ namespace Model { /** - *

                              Indicates how well the input matches the returned element. It is equal to 1 - * if all input tokens are recognized and matched to the title in the - * result.

                              See Also:

                              Indicates how well the returned title and address components matches the + * input TextQuery. For each component a score is provied with 1 indicating all + * tokens were matched and 0 indicating no tokens were matched.

                              See + * Also:

                              AWS * API Reference

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

                              Indicates the starting and ending index of the title in the text query that - * match the found title.

                              + *

                              Indicates the match score of the title in the text query that match the found + * title.

                              */ inline double GetTitle() const { return m_title; } inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h index a1d24f0a9aa..9b5c68287bb 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h @@ -17,7 +17,9 @@ namespace Model { NOT_SET, TimeZone, - Access + Access, + SecondaryAddresses, + Intersections }; namespace GeocodeAdditionalFeatureMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h index 9402fe65f34..c0b3eee7992 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h @@ -27,7 +27,7 @@ namespace Model /** *

                              Geocode structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              See + * results must possess in order to be returned as a result.

                              See * Also:

                              AWS * API Reference

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

                              Parsed components in the provided QueryText.

                              See Also:

                              AWS + * API Reference

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

                              The localized display name of this result item based on request parameter + * language.

                              + */ + inline const Aws::Vector& GetTitle() const { return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + template> + void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward(value); } + template> + GeocodeParsedQuery& WithTitle(TitleT&& value) { SetTitle(std::forward(value)); return *this;} + template + GeocodeParsedQuery& AddTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The place address.

                              + */ + inline const GeocodeParsedQueryAddressComponents& GetAddress() const { return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + template + void SetAddress(AddressT&& value) { m_addressHasBeenSet = true; m_address = std::forward(value); } + template + GeocodeParsedQuery& WithAddress(AddressT&& value) { SetAddress(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_title; + bool m_titleHasBeenSet = false; + + GeocodeParsedQueryAddressComponents m_address; + bool m_addressHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h new file mode 100644 index 00000000000..0a5f345cdc2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeParsedQueryAddressComponents.h @@ -0,0 +1,276 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                              Parsed address components in the provided QueryText.

                              See Also:

                              + * AWS + * API Reference

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

                              The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                              + */ + inline const Aws::Vector& GetCountry() const { return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + template> + void SetCountry(CountryT&& value) { m_countryHasBeenSet = true; m_country = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithCountry(CountryT&& value) { SetCountry(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddCountry(CountryT&& value) { m_countryHasBeenSet = true; m_country.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The region or state results should be present in.

                              Example: + * North Rhine-Westphalia.

                              + */ + inline const Aws::Vector& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template> + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The sub-region or county for which results should be present in.

                              + */ + inline const Aws::Vector& GetSubRegion() const { return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + template> + void SetSubRegion(SubRegionT&& value) { m_subRegionHasBeenSet = true; m_subRegion = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSubRegion(SubRegionT&& value) { SetSubRegion(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSubRegion(SubRegionT&& value) { m_subRegionHasBeenSet = true; m_subRegion.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The city or locality of the address.

                              Example: + * Vancouver.

                              + */ + inline const Aws::Vector& GetLocality() const { return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + template> + void SetLocality(LocalityT&& value) { m_localityHasBeenSet = true; m_locality = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithLocality(LocalityT&& value) { SetLocality(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddLocality(LocalityT&& value) { m_localityHasBeenSet = true; m_locality.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The district or division of a city the results should be present in.

                              + */ + inline const Aws::Vector& GetDistrict() const { return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + template> + void SetDistrict(DistrictT&& value) { m_districtHasBeenSet = true; m_district = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithDistrict(DistrictT&& value) { SetDistrict(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddDistrict(DistrictT&& value) { m_districtHasBeenSet = true; m_district.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              A subdivision of a district.

                              Example: + * Minden-Lübbecke.

                              + */ + inline const Aws::Vector& GetSubDistrict() const { return m_subDistrict; } + inline bool SubDistrictHasBeenSet() const { return m_subDistrictHasBeenSet; } + template> + void SetSubDistrict(SubDistrictT&& value) { m_subDistrictHasBeenSet = true; m_subDistrict = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSubDistrict(SubDistrictT&& value) { SetSubDistrict(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSubDistrict(SubDistrictT&& value) { m_subDistrictHasBeenSet = true; m_subDistrict.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code, for which the result should + * possess.

                              + */ + inline const Aws::Vector& GetPostalCode() const { return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + template> + void SetPostalCode(PostalCodeT&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithPostalCode(PostalCodeT&& value) { SetPostalCode(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddPostalCode(PostalCodeT&& value) { m_postalCodeHasBeenSet = true; m_postalCode.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 + * Chome

                              + */ + inline const Aws::Vector& GetBlock() const { return m_block; } + inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } + template> + void SetBlock(BlockT&& value) { m_blockHasBeenSet = true; m_block = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithBlock(BlockT&& value) { SetBlock(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddBlock(BlockT&& value) { m_blockHasBeenSet = true; m_block.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: + * 4

                              + */ + inline const Aws::Vector& GetSubBlock() const { return m_subBlock; } + inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } + template> + void SetSubBlock(SubBlockT&& value) { m_subBlockHasBeenSet = true; m_subBlock = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSubBlock(SubBlockT&& value) { SetSubBlock(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSubBlock(SubBlockT&& value) { m_subBlockHasBeenSet = true; m_subBlock.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The name of the street results should be present in.

                              + */ + inline const Aws::Vector& GetStreet() const { return m_street; } + inline bool StreetHasBeenSet() const { return m_streetHasBeenSet; } + template> + void SetStreet(StreetT&& value) { m_streetHasBeenSet = true; m_street = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithStreet(StreetT&& value) { SetStreet(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddStreet(StreetT&& value) { m_streetHasBeenSet = true; m_street.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The number that identifies an address within a street.

                              + */ + inline const Aws::Vector& GetAddressNumber() const { return m_addressNumber; } + inline bool AddressNumberHasBeenSet() const { return m_addressNumberHasBeenSet; } + template> + void SetAddressNumber(AddressNumberT&& value) { m_addressNumberHasBeenSet = true; m_addressNumber = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithAddressNumber(AddressNumberT&& value) { SetAddressNumber(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddAddressNumber(AddressNumberT&& value) { m_addressNumberHasBeenSet = true; m_addressNumber.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The name of the building at the address.

                              + */ + inline const Aws::Vector& GetBuilding() const { return m_building; } + inline bool BuildingHasBeenSet() const { return m_buildingHasBeenSet; } + template> + void SetBuilding(BuildingT&& value) { m_buildingHasBeenSet = true; m_building = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithBuilding(BuildingT&& value) { SetBuilding(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddBuilding(BuildingT&& value) { m_buildingHasBeenSet = true; m_building.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Parsed secondary address components from the provided query text.

                              + */ + inline const Aws::Vector& GetSecondaryAddressComponents() const { return m_secondaryAddressComponents; } + inline bool SecondaryAddressComponentsHasBeenSet() const { return m_secondaryAddressComponentsHasBeenSet; } + template> + void SetSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents = std::forward(value); } + template> + GeocodeParsedQueryAddressComponents& WithSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { SetSecondaryAddressComponents(std::forward(value)); return *this;} + template + GeocodeParsedQueryAddressComponents& AddSecondaryAddressComponents(SecondaryAddressComponentsT&& value) { m_secondaryAddressComponentsHasBeenSet = true; m_secondaryAddressComponents.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_country; + bool m_countryHasBeenSet = false; + + Aws::Vector m_region; + bool m_regionHasBeenSet = false; + + Aws::Vector m_subRegion; + bool m_subRegionHasBeenSet = false; + + Aws::Vector m_locality; + bool m_localityHasBeenSet = false; + + Aws::Vector m_district; + bool m_districtHasBeenSet = false; + + Aws::Vector m_subDistrict; + bool m_subDistrictHasBeenSet = false; + + Aws::Vector m_postalCode; + bool m_postalCodeHasBeenSet = false; + + Aws::Vector m_block; + bool m_blockHasBeenSet = false; + + Aws::Vector m_subBlock; + bool m_subBlockHasBeenSet = false; + + Aws::Vector m_street; + bool m_streetHasBeenSet = false; + + Aws::Vector m_addressNumber; + bool m_addressNumberHasBeenSet = false; + + Aws::Vector m_building; + bool m_buildingHasBeenSet = false; + + Aws::Vector m_secondaryAddressComponents; + bool m_secondaryAddressComponentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h index 83a6991fba1..e8a382e8d9a 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h @@ -79,7 +79,7 @@ namespace Model ///@{ /** - *

                              City or locality results should be present in.

                              Example: + *

                              The city or locality results should be present in.

                              Example: * Vancouver.

                              */ inline const Aws::String& GetLocality() const { return m_locality; } @@ -130,7 +130,7 @@ namespace Model /** *

                              An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code for which the result should - * posses.

                              + * possess.

                              */ inline const Aws::String& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h index 1766a3488cc..558daede243 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h @@ -46,7 +46,9 @@ namespace Model ///@{ /** *

                              The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                              + * partially typed address from an end user in an address box or form.

                              + *

                              The fields QueryText, and QueryID are mutually + * exclusive.

                              */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -96,7 +98,7 @@ namespace Model ///@{ /** *

                              A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              + * results must possess in order to be returned as a result.

                              */ inline const GeocodeFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -152,7 +154,12 @@ namespace Model ///@{ /** *

                              Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                              + * if left empty.

                              Storing the response of an Geocode query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                              + * */ inline GeocodeIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h index 72571505ac4..b10498a2dbc 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h index bb8413b5c96..89be9cac118 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h @@ -11,10 +11,13 @@ #include #include #include +#include +#include #include #include #include #include +#include #include namespace Aws @@ -48,8 +51,7 @@ namespace Model ///@{ /** - *

                              The PlaceId of the place you wish to receive the information - * for.

                              + *

                              The PlaceId of the place result.

                              */ inline const Aws::String& GetPlaceId() const { return m_placeId; } inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } @@ -188,7 +190,7 @@ namespace Model ///@{ /** - *

                              Position of the access point represent by longitude and latitude.

                              + *

                              Position of the access point represented by longitude and latitude.

                              */ inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } @@ -238,6 +240,60 @@ namespace Model template GeocodeResultItem& WithMatchScores(MatchScoresT&& value) { SetMatchScores(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              Free-form text query.

                              + */ + inline const GeocodeParsedQuery& GetParsedQuery() const { return m_parsedQuery; } + inline bool ParsedQueryHasBeenSet() const { return m_parsedQueryHasBeenSet; } + template + void SetParsedQuery(ParsedQueryT&& value) { m_parsedQueryHasBeenSet = true; m_parsedQuery = std::forward(value); } + template + GeocodeResultItem& WithParsedQuery(ParsedQueryT&& value) { SetParsedQuery(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              All Intersections that are near the provided address.

                              + */ + inline const Aws::Vector& GetIntersections() const { return m_intersections; } + inline bool IntersectionsHasBeenSet() const { return m_intersectionsHasBeenSet; } + template> + void SetIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections = std::forward(value); } + template> + GeocodeResultItem& WithIntersections(IntersectionsT&& value) { SetIntersections(std::forward(value)); return *this;} + template + GeocodeResultItem& AddIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The main address corresponding to a place of type Secondary Address.

                              + */ + inline const RelatedPlace& GetMainAddress() const { return m_mainAddress; } + inline bool MainAddressHasBeenSet() const { return m_mainAddressHasBeenSet; } + template + void SetMainAddress(MainAddressT&& value) { m_mainAddressHasBeenSet = true; m_mainAddress = std::forward(value); } + template + GeocodeResultItem& WithMainAddress(MainAddressT&& value) { SetMainAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              All secondary addresses that are associated with a main address. A secondary + * address is one that includes secondary designators, such as a Suite or Unit + * Number, Building, or Floor information.

                              + */ + inline const Aws::Vector& GetSecondaryAddresses() const { return m_secondaryAddresses; } + inline bool SecondaryAddressesHasBeenSet() const { return m_secondaryAddressesHasBeenSet; } + template> + void SetSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses = std::forward(value); } + template> + GeocodeResultItem& WithSecondaryAddresses(SecondaryAddressesT&& value) { SetSecondaryAddresses(std::forward(value)); return *this;} + template + GeocodeResultItem& AddSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_placeId; @@ -284,6 +340,18 @@ namespace Model MatchScoreDetails m_matchScores; bool m_matchScoresHasBeenSet = false; + + GeocodeParsedQuery m_parsedQuery; + bool m_parsedQueryHasBeenSet = false; + + Aws::Vector m_intersections; + bool m_intersectionsHasBeenSet = false; + + RelatedPlace m_mainAddress; + bool m_mainAddressHasBeenSet = false; + + Aws::Vector m_secondaryAddresses; + bool m_secondaryAddressesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h index d06910caa41..ba8e48a5276 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h @@ -19,7 +19,8 @@ namespace Model TimeZone, Phonemes, Access, - Contact + Contact, + SecondaryAddresses }; namespace GetPlaceAdditionalFeatureMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h index 15f74768e22..0a9d80f1581 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h @@ -100,7 +100,12 @@ namespace Model ///@{ /** *

                              Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                              + * if left empty.

                              Storing the response of an GetPlace query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                              + * */ inline GetPlaceIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h index 3c04b0a28c0..01348b380c9 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -70,7 +71,7 @@ namespace Model ///@{ /** *

                              The localized display name of this result item based on request parameter - * language.

                              + * language.

                              */ inline const Aws::String& GetTitle() const { return m_title; } template @@ -82,7 +83,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                              */ @@ -280,6 +281,32 @@ namespace Model GetPlaceResult& WithPhonemes(PhonemesT&& value) { SetPhonemes(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              The main address corresponding to a place of type Secondary Address.

                              + */ + inline const RelatedPlace& GetMainAddress() const { return m_mainAddress; } + template + void SetMainAddress(MainAddressT&& value) { m_mainAddressHasBeenSet = true; m_mainAddress = std::forward(value); } + template + GetPlaceResult& WithMainAddress(MainAddressT&& value) { SetMainAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              All secondary addresses that are associated with a main address. A secondary + * address is one that includes secondary designators, such as a Suite or Unit + * Number, Building, or Floor information.

                              + */ + inline const Aws::Vector& GetSecondaryAddresses() const { return m_secondaryAddresses; } + template> + void SetSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses = std::forward(value); } + template> + GetPlaceResult& WithSecondaryAddresses(SecondaryAddressesT&& value) { SetSecondaryAddresses(std::forward(value)); return *this;} + template + GetPlaceResult& AddSecondaryAddresses(SecondaryAddressesT&& value) { m_secondaryAddressesHasBeenSet = true; m_secondaryAddresses.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -347,6 +374,12 @@ namespace Model PhonemeDetails m_phonemes; bool m_phonemesHasBeenSet = false; + RelatedPlace m_mainAddress; + bool m_mainAddressHasBeenSet = false; + + Aws::Vector m_secondaryAddresses; + bool m_secondaryAddressesHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h index c6c3f46dbaa..7776df90ca9 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h @@ -24,8 +24,8 @@ namespace Model { /** - *

                              Describes how parts of the result response match the input - * query.

                              See Also:

                              Indicates the starting and ending index of the text query that match the + * found title.

                              See Also:

                              AWS * API Reference

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

                              All Intersections that are near the provided address.

                              See + * Also:

                              AWS + * API Reference

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

                              The PlaceId of the place result.

                              + */ + inline const Aws::String& GetPlaceId() const { return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + template + void SetPlaceId(PlaceIdT&& value) { m_placeIdHasBeenSet = true; m_placeId = std::forward(value); } + template + Intersection& WithPlaceId(PlaceIdT&& value) { SetPlaceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The localized display name of this result item based on request parameter + * language.

                              + */ + inline const Aws::String& GetTitle() const { return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + template + void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward(value); } + template + Intersection& WithTitle(TitleT&& value) { SetTitle(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Address& GetAddress() const { return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + template + void SetAddress(AddressT&& value) { m_addressHasBeenSet = true; m_address = std::forward(value); } + template + Intersection& WithAddress(AddressT&& value) { SetAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The position, in longitude and latitude.

                              + */ + inline const Aws::Vector& GetPosition() const { return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + template> + void SetPosition(PositionT&& value) { m_positionHasBeenSet = true; m_position = std::forward(value); } + template> + Intersection& WithPosition(PositionT&& value) { SetPosition(std::forward(value)); return *this;} + inline Intersection& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                              The distance in meters from the QueryPosition.

                              + */ + inline long long GetDistance() const { return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline Intersection& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                              The distance from the routing position of the nearby address to the street + * result.

                              + */ + inline long long GetRouteDistance() const { return m_routeDistance; } + inline bool RouteDistanceHasBeenSet() const { return m_routeDistanceHasBeenSet; } + inline void SetRouteDistance(long long value) { m_routeDistanceHasBeenSet = true; m_routeDistance = value; } + inline Intersection& WithRouteDistance(long long value) { SetRouteDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                              The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                              The bounding box formed is defined as a set of + * four coordinates: [{westward lng}, {southern lat}, {eastward lng}, + * {northern lat}]

                              + */ + inline const Aws::Vector& GetMapView() const { return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + template> + void SetMapView(MapViewT&& value) { m_mapViewHasBeenSet = true; m_mapView = std::forward(value); } + template> + Intersection& WithMapView(MapViewT&& value) { SetMapView(std::forward(value)); return *this;} + inline Intersection& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                              Position of the access point represented by longitude and latitude.

                              + */ + inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + template> + void SetAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::forward(value); } + template> + Intersection& WithAccessPoints(AccessPointsT&& value) { SetAccessPoints(std::forward(value)); return *this;} + template + Intersection& AddAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance{0}; + bool m_distanceHasBeenSet = false; + + long long m_routeDistance{0}; + bool m_routeDistanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h new file mode 100644 index 00000000000..5e4fd30827f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQueryComponent.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                              Parsed components in the provided QueryText.

                              See Also:

                              AWS + * API Reference

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

                              Start index of the parsed query component.

                              + */ + inline int GetStartIndex() const { return m_startIndex; } + inline bool StartIndexHasBeenSet() const { return m_startIndexHasBeenSet; } + inline void SetStartIndex(int value) { m_startIndexHasBeenSet = true; m_startIndex = value; } + inline ParsedQueryComponent& WithStartIndex(int value) { SetStartIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                              End index of the parsed query component.

                              + */ + inline int GetEndIndex() const { return m_endIndex; } + inline bool EndIndexHasBeenSet() const { return m_endIndexHasBeenSet; } + inline void SetEndIndex(int value) { m_endIndexHasBeenSet = true; m_endIndex = value; } + inline ParsedQueryComponent& WithEndIndex(int value) { SetEndIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                              Value of the parsed query component.

                              + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + ParsedQueryComponent& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The address component that the parsed query component corresponds to.

                              + */ + inline const Aws::String& GetQueryComponent() const { return m_queryComponent; } + inline bool QueryComponentHasBeenSet() const { return m_queryComponentHasBeenSet; } + template + void SetQueryComponent(QueryComponentT&& value) { m_queryComponentHasBeenSet = true; m_queryComponent = std::forward(value); } + template + ParsedQueryComponent& WithQueryComponent(QueryComponentT&& value) { SetQueryComponent(std::forward(value)); return *this;} + ///@} + private: + + int m_startIndex{0}; + bool m_startIndexHasBeenSet = false; + + int m_endIndex{0}; + bool m_endIndexHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + + Aws::String m_queryComponent; + bool m_queryComponentHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h new file mode 100644 index 00000000000..1cf07b2504a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ParsedQuerySecondaryAddressComponent.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                              Information about a secondary address component parsed from the query + * text.

                              See Also:

                              AWS + * API Reference

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

                              Start index of the parsed secondary address component in the query text.

                              + */ + inline int GetStartIndex() const { return m_startIndex; } + inline bool StartIndexHasBeenSet() const { return m_startIndexHasBeenSet; } + inline void SetStartIndex(int value) { m_startIndexHasBeenSet = true; m_startIndex = value; } + inline ParsedQuerySecondaryAddressComponent& WithStartIndex(int value) { SetStartIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                              End index of the parsed secondary address component in the query text.

                              + */ + inline int GetEndIndex() const { return m_endIndex; } + inline bool EndIndexHasBeenSet() const { return m_endIndexHasBeenSet; } + inline void SetEndIndex(int value) { m_endIndexHasBeenSet = true; m_endIndex = value; } + inline ParsedQuerySecondaryAddressComponent& WithEndIndex(int value) { SetEndIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                              Value of the parsed secondary address component.

                              + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + ParsedQuerySecondaryAddressComponent& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Secondary address number provided in the query.

                              + */ + inline const Aws::String& GetNumber() const { return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + template + void SetNumber(NumberT&& value) { m_numberHasBeenSet = true; m_number = std::forward(value); } + template + ParsedQuerySecondaryAddressComponent& WithNumber(NumberT&& value) { SetNumber(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Secondary address designator provided in the query.

                              + */ + inline const Aws::String& GetDesignator() const { return m_designator; } + inline bool DesignatorHasBeenSet() const { return m_designatorHasBeenSet; } + template + void SetDesignator(DesignatorT&& value) { m_designatorHasBeenSet = true; m_designator = std::forward(value); } + template + ParsedQuerySecondaryAddressComponent& WithDesignator(DesignatorT&& value) { SetDesignator(std::forward(value)); return *this;} + ///@} + private: + + int m_startIndex{0}; + bool m_startIndexHasBeenSet = false; + + int m_endIndex{0}; + bool m_endIndexHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + + Aws::String m_number; + bool m_numberHasBeenSet = false; + + Aws::String m_designator; + bool m_designatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h index e7ae2a84a3a..c1342f466ea 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h @@ -29,7 +29,8 @@ namespace Model Street, PointOfInterest, PointAddress, - InterpolatedAddress + InterpolatedAddress, + SecondaryAddress }; namespace PlaceTypeMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h index 84d246993d0..156c8c548d6 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h @@ -46,7 +46,7 @@ namespace Model /** *

                              An alphanumeric string included in a postal address to facilitate mail * sorting, such as post code, postcode, or ZIP code for which the result should - * posses.

                              + * possess.

                              */ inline const Aws::String& GetPostalCode() const { return m_postalCode; } inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h new file mode 100644 index 00000000000..817fde288fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RelatedPlace.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                              Place that is related to the result item.

                              See Also:

                              AWS + * API Reference

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

                              The PlaceId of the place result.

                              + */ + inline const Aws::String& GetPlaceId() const { return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + template + void SetPlaceId(PlaceIdT&& value) { m_placeIdHasBeenSet = true; m_placeId = std::forward(value); } + template + RelatedPlace& WithPlaceId(PlaceIdT&& value) { SetPlaceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              A PlaceType is a category that the result place must belong + * to.

                              + */ + inline PlaceType GetPlaceType() const { return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(PlaceType value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline RelatedPlace& WithPlaceType(PlaceType value) { SetPlaceType(value); return *this;} + ///@} + + ///@{ + /** + *

                              The localized display name of this result item based on request parameter + * language.

                              + */ + inline const Aws::String& GetTitle() const { return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + template + void SetTitle(TitleT&& value) { m_titleHasBeenSet = true; m_title = std::forward(value); } + template + RelatedPlace& WithTitle(TitleT&& value) { SetTitle(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Address& GetAddress() const { return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + template + void SetAddress(AddressT&& value) { m_addressHasBeenSet = true; m_address = std::forward(value); } + template + RelatedPlace& WithAddress(AddressT&& value) { SetAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The position, in longitude and latitude.

                              + */ + inline const Aws::Vector& GetPosition() const { return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + template> + void SetPosition(PositionT&& value) { m_positionHasBeenSet = true; m_position = std::forward(value); } + template> + RelatedPlace& WithPosition(PositionT&& value) { SetPosition(std::forward(value)); return *this;} + inline RelatedPlace& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                              Position of the access point represented by longitude and latitude.

                              + */ + inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + template> + void SetAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::forward(value); } + template> + RelatedPlace& WithAccessPoints(AccessPointsT&& value) { SetAccessPoints(std::forward(value)); return *this;} + template + RelatedPlace& AddAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType{PlaceType::NOT_SET}; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h index 863017c3aae..3298cc7e355 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, TimeZone, - Access + Access, + Intersections }; namespace ReverseGeocodeAdditionalFeatureMapper diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h index cb6cb7c5055..327e484c581 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h @@ -45,7 +45,7 @@ namespace Model ///@{ /** *

                              The position, in [lng, lat] for which you are querying nearby - * resultsfor. Results closer to the position will be ranked higher then results + * results for. Results closer to the position will be ranked higher then results * further away from the position

                              */ inline const Aws::Vector& GetQueryPosition() const { return m_queryPosition; } @@ -81,7 +81,7 @@ namespace Model ///@{ /** *

                              A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              + * results must possess in order to be returned as a result.

                              */ inline const ReverseGeocodeFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -137,7 +137,12 @@ namespace Model ///@{ /** *

                              Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                              + * if left empty.

                              Storing the response of an ReverseGeocode query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                              + * */ inline ReverseGeocodeIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h index b08de9c1787..b26da46015e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h index 725a2fca498..518c4cc717b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h @@ -14,6 +14,7 @@ #include #include #include +#include #include namespace Aws @@ -188,7 +189,7 @@ namespace Model ///@{ /** - *

                              Position of the access point represent by longitude and latitude.

                              + *

                              Position of the access point represented by longitude and latitude.

                              */ inline const Aws::Vector& GetAccessPoints() const { return m_accessPoints; } inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } @@ -225,6 +226,20 @@ namespace Model template ReverseGeocodeResultItem& WithPoliticalView(PoliticalViewT&& value) { SetPoliticalView(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              All Intersections that are near the provided address.

                              + */ + inline const Aws::Vector& GetIntersections() const { return m_intersections; } + inline bool IntersectionsHasBeenSet() const { return m_intersectionsHasBeenSet; } + template> + void SetIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections = std::forward(value); } + template> + ReverseGeocodeResultItem& WithIntersections(IntersectionsT&& value) { SetIntersections(std::forward(value)); return *this;} + template + ReverseGeocodeResultItem& AddIntersections(IntersectionsT&& value) { m_intersectionsHasBeenSet = true; m_intersections.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_placeId; @@ -268,6 +283,9 @@ namespace Model Aws::String m_politicalView; bool m_politicalViewHasBeenSet = false; + + Aws::Vector m_intersections; + bool m_intersectionsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h index cbeb059a61e..651a3d193ca 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h @@ -26,7 +26,7 @@ namespace Model /** *

                              SearchNearby structure which contains a set of inclusion/exclusion properties - * that results must posses in order to be returned as a result.

                              See + * that results must possess in order to be returned as a result.

                              See * Also:

                              AWS * API Reference

                              diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h index e8f3fa7c03e..3c26044b68c 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h @@ -45,7 +45,7 @@ namespace Model ///@{ /** *

                              The position, in [lng, lat] for which you are querying nearby - * resultsfor. Results closer to the position will be ranked higher then results + * results for. Results closer to the position will be ranked higher then results * further away from the position

                              */ inline const Aws::Vector& GetQueryPosition() const { return m_queryPosition; } @@ -60,7 +60,8 @@ namespace Model ///@{ /** *

                              The maximum distance in meters from the QueryPosition from which a result - * will be returned.

                              + * will be returned.

                              The fields QueryText, and + * QueryID are mutually exclusive.

                              */ inline long long GetQueryRadius() const { return m_queryRadius; } inline bool QueryRadiusHasBeenSet() const { return m_queryRadiusHasBeenSet; } @@ -81,7 +82,7 @@ namespace Model ///@{ /** *

                              A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              + * results must possess in order to be returned as a result.

                              */ inline const SearchNearbyFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -137,7 +138,12 @@ namespace Model ///@{ /** *

                              Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                              + * if left empty.

                              Storing the response of an SearchNearby query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                              + * */ inline SearchNearbyIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h index e458b8472d0..e1a1ec6ea6d 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h index 6f1ecbf7596..0e506e63a52 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h @@ -27,7 +27,7 @@ namespace Model /** *

                              SearchText structure which contains a set of inclusion/exclusion properties - * that results must posses in order to be returned as a result.

                              See + * that results must possess in order to be returned as a result.

                              See * Also:

                              AWS * API Reference

                              diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h index 2d32a4b0dc5..a1962580e58 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h @@ -45,7 +45,9 @@ namespace Model ///@{ /** *

                              The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                              + * partially typed address from an end user in an address box or form.

                              + *

                              The fields QueryText, and QueryID are mutually + * exclusive.

                              */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -57,7 +59,11 @@ namespace Model ///@{ /** - *

                              The query Id.

                              + *

                              The query Id returned by the suggest API. If passed in the request, the + * SearchText API will preform a SearchText query with the improved query terms for + * the original query made to the suggest API.

                              The fields + * QueryText, and QueryID are mutually exclusive.

                              + * */ inline const Aws::String& GetQueryId() const { return m_queryId; } inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } @@ -97,7 +103,7 @@ namespace Model ///@{ /** *

                              A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              + * results must possess in order to be returned as a result.

                              */ inline const SearchTextFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } @@ -153,7 +159,12 @@ namespace Model ///@{ /** *

                              Indicates if the results will be stored. Defaults to SingleUse, - * if left empty.

                              + * if left empty.

                              Storing the response of an SearchText query is + * required to comply with service terms, but charged at a higher cost per request. + * Please review the user + * agreement and service + * pricing structure to determine the correct setting for your use case.

                              + * */ inline SearchTextIntendedUse GetIntendedUse() const { return m_intendedUse; } inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h index fed93045178..afe2e9e2d42 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

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

                              Components that correspond to secondary identifiers on an address. The only + * component type supported currently is Unit.

                              See Also:

                              AWS + * API Reference

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

                              Number that uniquely identifies a secondary address.

                              + */ + inline const Aws::String& GetNumber() const { return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + template + void SetNumber(NumberT&& value) { m_numberHasBeenSet = true; m_number = std::forward(value); } + template + SecondaryAddressComponent& WithNumber(NumberT&& value) { SetNumber(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_number; + bool m_numberHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h new file mode 100644 index 00000000000..f2d38004774 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SecondaryAddressComponentMatchScore.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                              Match score for a secondary address component in the result.

                              See + * Also:

                              AWS + * API Reference

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

                              Match score for the secondary address number.

                              + */ + inline double GetNumber() const { return m_number; } + inline bool NumberHasBeenSet() const { return m_numberHasBeenSet; } + inline void SetNumber(double value) { m_numberHasBeenSet = true; m_number = value; } + inline SecondaryAddressComponentMatchScore& WithNumber(double value) { SetNumber(value); return *this;} + ///@} + private: + + double m_number{0.0}; + bool m_numberHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h index ce94bef3acc..f8f5bf40ffe 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h @@ -40,7 +40,7 @@ namespace Model ///@{ /** - *

                              Base name part of the street name.

                              Example: Younge from the “Younge + *

                              Base name part of the street name.

                              Example: Younge from the "Younge * street".

                              */ inline const Aws::String& GetBaseName() const { return m_baseName; } @@ -54,7 +54,7 @@ namespace Model ///@{ /** *

                              Street type part of the street name.

                              Example: - * “avenue".

                              + * "avenue".

                              */ inline const Aws::String& GetType() const { return m_type; } inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } @@ -76,7 +76,8 @@ namespace Model ///@{ /** - *

                              What character(s) separates the string from its type.

                              + *

                              Defines a separator character such as "" or " " + * between the base name and type.

                              */ inline const Aws::String& GetTypeSeparator() const { return m_typeSeparator; } inline bool TypeSeparatorHasBeenSet() const { return m_typeSeparatorHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h index 6dda8a3fed7..e7e2a9f2d36 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h @@ -27,7 +27,7 @@ namespace Model /** *

                              SuggestFilter structure which contains a set of inclusion/exclusion - * properties that results must posses in order to be returned as a + * properties that results must possess in order to be returned as a * result.

                              See Also:

                              AWS * API Reference

                              diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h index 00f17b34ee1..4b1d8dbc18d 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h @@ -45,7 +45,8 @@ namespace Model * political view and language. See the SearchText API documentation for more * details SearchText - * API docs.

                              + * API docs.

                              The fields QueryText, and + * QueryID are mutually exclusive.

                              */ inline const Aws::String& GetQueryId() const { return m_queryId; } inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } @@ -57,7 +58,7 @@ namespace Model ///@{ /** - *

                              The query type. Category qeuries will search for places which have an entry + *

                              The query type. Category queries will search for places which have an entry * matching the given category, for example "doctor office". BusinessChain queries * will search for instances of a given business.

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h index b317170da2c..d44b6108c2b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h @@ -45,7 +45,9 @@ namespace Model ///@{ /** *

                              The free-form text query to match addresses against. This is usually a - * partially typed address from an end user in an address box or form.

                              + * partially typed address from an end user in an address box or form.

                              + *

                              The fields QueryText, and QueryID are mutually + * exclusive.

                              */ inline const Aws::String& GetQueryText() const { return m_queryText; } inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } @@ -96,7 +98,7 @@ namespace Model ///@{ /** *

                              A structure which contains a set of inclusion/exclusion properties that - * results must posses in order to be returned as a result.

                              + * results must possess in order to be returned as a result.

                              */ inline const SuggestFilter& GetFilter() const { return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h index b92dbf1e36a..ade3589b87d 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h @@ -38,7 +38,7 @@ namespace Model ///@{ /** *

                              The pricing bucket for which the query is charged at.

                              For more - * inforamtion on pricing, please visit Amazon Location Service * Pricing.

                              */ diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp index 6eaee5342a0..98931a817f3 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace GeoPlaces { -const size_t GeoPlacesEndpointRules::RulesBlobStrLen = 6649; -const size_t GeoPlacesEndpointRules::RulesBlobSize = 6650; +const size_t GeoPlacesEndpointRules::RulesBlobStrLen = 6621; +const size_t GeoPlacesEndpointRules::RulesBlobSize = 6622; using RulesBlobT = Aws::Array; static constexpr RulesBlobT RulesBlob = {{ @@ -148,139 +148,138 @@ static constexpr RulesBlobT RulesBlob = {{ 'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', 'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"', 'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', -'/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u','s','-','g', -'o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', -'f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', -',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', -'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', -':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', -'"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']', -'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', -'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', -'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', -'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', -'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', -'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e', -'s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','u','s','-','g','o', -'v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', -'a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', -'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','p','l','a','c','e','s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i', -'o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', -'l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', -'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', -'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', -'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', -'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', -'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', -'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', -'s',':','/','/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u', -'s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', -'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r', +'/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v', +'2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s', +'t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m', +'e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g','e','o','-','f', +'i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','/', +'v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a', +'m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}', +',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c', +'k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g','e','o', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r', 'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', '}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', -'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', -'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', -'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', -'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', -']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t', 'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', -'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', -'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', -'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', -'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a', -'c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', -'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', -'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', -'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', -'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', -'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', -'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', -'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', -'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', -'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', -'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', -'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p', -'p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l', -'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', -'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g', -'e','o','-','p','l','a','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"', +'a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r', +'u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o', +'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', +'t','a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a','c','e','s', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', '}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', 'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', '}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', -'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', -'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', -'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', -'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', -':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', -'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', -'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', -'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', -'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', -'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',', -'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', -',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', -':','/','/','g','e','o','-','p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P', -'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', -'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', -'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', -'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', -'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', -' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', -'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a', +'n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',', +' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',', +'"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', +'t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"', +':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', 'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-', -'p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', -':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', -'M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e', -'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +'p','l','a','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',', +'"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s',' ','e', +'n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n', +' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"',',','"', +'t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t', +'r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c', +'o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u', +'p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u', +'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e', +'n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/', +'g','e','o','-','p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t', +'i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D', +'u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t', +'h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u', +'p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a', +'c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', +'n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s', +'s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' }}; const char* GeoPlacesEndpointRules::GetRulesBlob() diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp index c4c62760956..1bbead42cfe 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp @@ -108,6 +108,15 @@ Address& Address::operator =(JsonView jsonValue) m_building = jsonValue.GetString("Building"); m_buildingHasBeenSet = true; } + if(jsonValue.ValueExists("SecondaryAddressComponents")) + { + Aws::Utils::Array secondaryAddressComponentsJsonList = jsonValue.GetArray("SecondaryAddressComponents"); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + m_secondaryAddressComponents.push_back(secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject()); + } + m_secondaryAddressComponentsHasBeenSet = true; + } return *this; } @@ -215,6 +224,17 @@ JsonValue Address::Jsonize() const } + if(m_secondaryAddressComponentsHasBeenSet) + { + Aws::Utils::Array secondaryAddressComponentsJsonList(m_secondaryAddressComponents.size()); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject(m_secondaryAddressComponents[secondaryAddressComponentsIndex].Jsonize()); + } + payload.WithArray("SecondaryAddressComponents", std::move(secondaryAddressComponentsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp index 95cd46aebfa..27737030216 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp @@ -89,6 +89,15 @@ AddressComponentMatchScores& AddressComponentMatchScores::operator =(JsonView js m_building = jsonValue.GetDouble("Building"); m_buildingHasBeenSet = true; } + if(jsonValue.ValueExists("SecondaryAddressComponents")) + { + Aws::Utils::Array secondaryAddressComponentsJsonList = jsonValue.GetArray("SecondaryAddressComponents"); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + m_secondaryAddressComponents.push_back(secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject()); + } + m_secondaryAddressComponentsHasBeenSet = true; + } return *this; } @@ -173,6 +182,17 @@ JsonValue AddressComponentMatchScores::Jsonize() const } + if(m_secondaryAddressComponentsHasBeenSet) + { + Aws::Utils::Array secondaryAddressComponentsJsonList(m_secondaryAddressComponents.size()); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject(m_secondaryAddressComponents[secondaryAddressComponentsIndex].Jsonize()); + } + payload.WithArray("SecondaryAddressComponents", std::move(secondaryAddressComponentsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp index 7dbed83759b..e661500227a 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp @@ -22,6 +22,8 @@ namespace Aws static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); static const int Access_HASH = HashingUtils::HashString("Access"); + static const int SecondaryAddresses_HASH = HashingUtils::HashString("SecondaryAddresses"); + static const int Intersections_HASH = HashingUtils::HashString("Intersections"); GeocodeAdditionalFeature GetGeocodeAdditionalFeatureForName(const Aws::String& name) @@ -35,6 +37,14 @@ namespace Aws { return GeocodeAdditionalFeature::Access; } + else if (hashCode == SecondaryAddresses_HASH) + { + return GeocodeAdditionalFeature::SecondaryAddresses; + } + else if (hashCode == Intersections_HASH) + { + return GeocodeAdditionalFeature::Intersections; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +65,10 @@ namespace Aws return "TimeZone"; case GeocodeAdditionalFeature::Access: return "Access"; + case GeocodeAdditionalFeature::SecondaryAddresses: + return "SecondaryAddresses"; + case GeocodeAdditionalFeature::Intersections: + return "Intersections"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp new file mode 100644 index 00000000000..a48d44a4568 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQuery.cpp @@ -0,0 +1,71 @@ +/** + * 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 GeoPlaces +{ +namespace Model +{ + +GeocodeParsedQuery::GeocodeParsedQuery(JsonView jsonValue) +{ + *this = jsonValue; +} + +GeocodeParsedQuery& GeocodeParsedQuery::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + Aws::Utils::Array titleJsonList = jsonValue.GetArray("Title"); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + m_title.push_back(titleJsonList[titleIndex].AsObject()); + } + m_titleHasBeenSet = true; + } + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + m_addressHasBeenSet = true; + } + return *this; +} + +JsonValue GeocodeParsedQuery::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + Aws::Utils::Array titleJsonList(m_title.size()); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + titleJsonList[titleIndex].AsObject(m_title[titleIndex].Jsonize()); + } + payload.WithArray("Title", std::move(titleJsonList)); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp new file mode 100644 index 00000000000..0490db0c058 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeParsedQueryAddressComponents.cpp @@ -0,0 +1,300 @@ +/** + * 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 GeoPlaces +{ +namespace Model +{ + +GeocodeParsedQueryAddressComponents::GeocodeParsedQueryAddressComponents(JsonView jsonValue) +{ + *this = jsonValue; +} + +GeocodeParsedQueryAddressComponents& GeocodeParsedQueryAddressComponents::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + Aws::Utils::Array countryJsonList = jsonValue.GetArray("Country"); + for(unsigned countryIndex = 0; countryIndex < countryJsonList.GetLength(); ++countryIndex) + { + m_country.push_back(countryJsonList[countryIndex].AsObject()); + } + m_countryHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + Aws::Utils::Array regionJsonList = jsonValue.GetArray("Region"); + for(unsigned regionIndex = 0; regionIndex < regionJsonList.GetLength(); ++regionIndex) + { + m_region.push_back(regionJsonList[regionIndex].AsObject()); + } + m_regionHasBeenSet = true; + } + if(jsonValue.ValueExists("SubRegion")) + { + Aws::Utils::Array subRegionJsonList = jsonValue.GetArray("SubRegion"); + for(unsigned subRegionIndex = 0; subRegionIndex < subRegionJsonList.GetLength(); ++subRegionIndex) + { + m_subRegion.push_back(subRegionJsonList[subRegionIndex].AsObject()); + } + m_subRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("Locality")) + { + Aws::Utils::Array localityJsonList = jsonValue.GetArray("Locality"); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + m_locality.push_back(localityJsonList[localityIndex].AsObject()); + } + m_localityHasBeenSet = true; + } + if(jsonValue.ValueExists("District")) + { + Aws::Utils::Array districtJsonList = jsonValue.GetArray("District"); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + m_district.push_back(districtJsonList[districtIndex].AsObject()); + } + m_districtHasBeenSet = true; + } + if(jsonValue.ValueExists("SubDistrict")) + { + Aws::Utils::Array subDistrictJsonList = jsonValue.GetArray("SubDistrict"); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + m_subDistrict.push_back(subDistrictJsonList[subDistrictIndex].AsObject()); + } + m_subDistrictHasBeenSet = true; + } + if(jsonValue.ValueExists("PostalCode")) + { + Aws::Utils::Array postalCodeJsonList = jsonValue.GetArray("PostalCode"); + for(unsigned postalCodeIndex = 0; postalCodeIndex < postalCodeJsonList.GetLength(); ++postalCodeIndex) + { + m_postalCode.push_back(postalCodeJsonList[postalCodeIndex].AsObject()); + } + m_postalCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("Block")) + { + Aws::Utils::Array blockJsonList = jsonValue.GetArray("Block"); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + m_block.push_back(blockJsonList[blockIndex].AsObject()); + } + m_blockHasBeenSet = true; + } + if(jsonValue.ValueExists("SubBlock")) + { + Aws::Utils::Array subBlockJsonList = jsonValue.GetArray("SubBlock"); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + m_subBlock.push_back(subBlockJsonList[subBlockIndex].AsObject()); + } + m_subBlockHasBeenSet = true; + } + if(jsonValue.ValueExists("Street")) + { + Aws::Utils::Array streetJsonList = jsonValue.GetArray("Street"); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + m_street.push_back(streetJsonList[streetIndex].AsObject()); + } + m_streetHasBeenSet = true; + } + if(jsonValue.ValueExists("AddressNumber")) + { + Aws::Utils::Array addressNumberJsonList = jsonValue.GetArray("AddressNumber"); + for(unsigned addressNumberIndex = 0; addressNumberIndex < addressNumberJsonList.GetLength(); ++addressNumberIndex) + { + m_addressNumber.push_back(addressNumberJsonList[addressNumberIndex].AsObject()); + } + m_addressNumberHasBeenSet = true; + } + if(jsonValue.ValueExists("Building")) + { + Aws::Utils::Array buildingJsonList = jsonValue.GetArray("Building"); + for(unsigned buildingIndex = 0; buildingIndex < buildingJsonList.GetLength(); ++buildingIndex) + { + m_building.push_back(buildingJsonList[buildingIndex].AsObject()); + } + m_buildingHasBeenSet = true; + } + if(jsonValue.ValueExists("SecondaryAddressComponents")) + { + Aws::Utils::Array secondaryAddressComponentsJsonList = jsonValue.GetArray("SecondaryAddressComponents"); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + m_secondaryAddressComponents.push_back(secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject()); + } + m_secondaryAddressComponentsHasBeenSet = true; + } + return *this; +} + +JsonValue GeocodeParsedQueryAddressComponents::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + Aws::Utils::Array countryJsonList(m_country.size()); + for(unsigned countryIndex = 0; countryIndex < countryJsonList.GetLength(); ++countryIndex) + { + countryJsonList[countryIndex].AsObject(m_country[countryIndex].Jsonize()); + } + payload.WithArray("Country", std::move(countryJsonList)); + + } + + if(m_regionHasBeenSet) + { + Aws::Utils::Array regionJsonList(m_region.size()); + for(unsigned regionIndex = 0; regionIndex < regionJsonList.GetLength(); ++regionIndex) + { + regionJsonList[regionIndex].AsObject(m_region[regionIndex].Jsonize()); + } + payload.WithArray("Region", std::move(regionJsonList)); + + } + + if(m_subRegionHasBeenSet) + { + Aws::Utils::Array subRegionJsonList(m_subRegion.size()); + for(unsigned subRegionIndex = 0; subRegionIndex < subRegionJsonList.GetLength(); ++subRegionIndex) + { + subRegionJsonList[subRegionIndex].AsObject(m_subRegion[subRegionIndex].Jsonize()); + } + payload.WithArray("SubRegion", std::move(subRegionJsonList)); + + } + + if(m_localityHasBeenSet) + { + Aws::Utils::Array localityJsonList(m_locality.size()); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + localityJsonList[localityIndex].AsObject(m_locality[localityIndex].Jsonize()); + } + payload.WithArray("Locality", std::move(localityJsonList)); + + } + + if(m_districtHasBeenSet) + { + Aws::Utils::Array districtJsonList(m_district.size()); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + districtJsonList[districtIndex].AsObject(m_district[districtIndex].Jsonize()); + } + payload.WithArray("District", std::move(districtJsonList)); + + } + + if(m_subDistrictHasBeenSet) + { + Aws::Utils::Array subDistrictJsonList(m_subDistrict.size()); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + subDistrictJsonList[subDistrictIndex].AsObject(m_subDistrict[subDistrictIndex].Jsonize()); + } + payload.WithArray("SubDistrict", std::move(subDistrictJsonList)); + + } + + if(m_postalCodeHasBeenSet) + { + Aws::Utils::Array postalCodeJsonList(m_postalCode.size()); + for(unsigned postalCodeIndex = 0; postalCodeIndex < postalCodeJsonList.GetLength(); ++postalCodeIndex) + { + postalCodeJsonList[postalCodeIndex].AsObject(m_postalCode[postalCodeIndex].Jsonize()); + } + payload.WithArray("PostalCode", std::move(postalCodeJsonList)); + + } + + if(m_blockHasBeenSet) + { + Aws::Utils::Array blockJsonList(m_block.size()); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + blockJsonList[blockIndex].AsObject(m_block[blockIndex].Jsonize()); + } + payload.WithArray("Block", std::move(blockJsonList)); + + } + + if(m_subBlockHasBeenSet) + { + Aws::Utils::Array subBlockJsonList(m_subBlock.size()); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + subBlockJsonList[subBlockIndex].AsObject(m_subBlock[subBlockIndex].Jsonize()); + } + payload.WithArray("SubBlock", std::move(subBlockJsonList)); + + } + + if(m_streetHasBeenSet) + { + Aws::Utils::Array streetJsonList(m_street.size()); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + streetJsonList[streetIndex].AsObject(m_street[streetIndex].Jsonize()); + } + payload.WithArray("Street", std::move(streetJsonList)); + + } + + if(m_addressNumberHasBeenSet) + { + Aws::Utils::Array addressNumberJsonList(m_addressNumber.size()); + for(unsigned addressNumberIndex = 0; addressNumberIndex < addressNumberJsonList.GetLength(); ++addressNumberIndex) + { + addressNumberJsonList[addressNumberIndex].AsObject(m_addressNumber[addressNumberIndex].Jsonize()); + } + payload.WithArray("AddressNumber", std::move(addressNumberJsonList)); + + } + + if(m_buildingHasBeenSet) + { + Aws::Utils::Array buildingJsonList(m_building.size()); + for(unsigned buildingIndex = 0; buildingIndex < buildingJsonList.GetLength(); ++buildingIndex) + { + buildingJsonList[buildingIndex].AsObject(m_building[buildingIndex].Jsonize()); + } + payload.WithArray("Building", std::move(buildingJsonList)); + + } + + if(m_secondaryAddressComponentsHasBeenSet) + { + Aws::Utils::Array secondaryAddressComponentsJsonList(m_secondaryAddressComponents.size()); + for(unsigned secondaryAddressComponentsIndex = 0; secondaryAddressComponentsIndex < secondaryAddressComponentsJsonList.GetLength(); ++secondaryAddressComponentsIndex) + { + secondaryAddressComponentsJsonList[secondaryAddressComponentsIndex].AsObject(m_secondaryAddressComponents[secondaryAddressComponentsIndex].Jsonize()); + } + payload.WithArray("SecondaryAddressComponents", std::move(secondaryAddressComponentsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp index 61c9fd5735a..63179706eb6 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp @@ -124,6 +124,34 @@ GeocodeResultItem& GeocodeResultItem::operator =(JsonView jsonValue) m_matchScores = jsonValue.GetObject("MatchScores"); m_matchScoresHasBeenSet = true; } + if(jsonValue.ValueExists("ParsedQuery")) + { + m_parsedQuery = jsonValue.GetObject("ParsedQuery"); + m_parsedQueryHasBeenSet = true; + } + if(jsonValue.ValueExists("Intersections")) + { + Aws::Utils::Array intersectionsJsonList = jsonValue.GetArray("Intersections"); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + m_intersections.push_back(intersectionsJsonList[intersectionsIndex].AsObject()); + } + m_intersectionsHasBeenSet = true; + } + if(jsonValue.ValueExists("MainAddress")) + { + m_mainAddress = jsonValue.GetObject("MainAddress"); + m_mainAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("SecondaryAddresses")) + { + Aws::Utils::Array secondaryAddressesJsonList = jsonValue.GetArray("SecondaryAddresses"); + for(unsigned secondaryAddressesIndex = 0; secondaryAddressesIndex < secondaryAddressesJsonList.GetLength(); ++secondaryAddressesIndex) + { + m_secondaryAddresses.push_back(secondaryAddressesJsonList[secondaryAddressesIndex].AsObject()); + } + m_secondaryAddressesHasBeenSet = true; + } return *this; } @@ -250,6 +278,40 @@ JsonValue GeocodeResultItem::Jsonize() const } + if(m_parsedQueryHasBeenSet) + { + payload.WithObject("ParsedQuery", m_parsedQuery.Jsonize()); + + } + + if(m_intersectionsHasBeenSet) + { + Aws::Utils::Array intersectionsJsonList(m_intersections.size()); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + intersectionsJsonList[intersectionsIndex].AsObject(m_intersections[intersectionsIndex].Jsonize()); + } + payload.WithArray("Intersections", std::move(intersectionsJsonList)); + + } + + if(m_mainAddressHasBeenSet) + { + payload.WithObject("MainAddress", m_mainAddress.Jsonize()); + + } + + if(m_secondaryAddressesHasBeenSet) + { + Aws::Utils::Array secondaryAddressesJsonList(m_secondaryAddresses.size()); + for(unsigned secondaryAddressesIndex = 0; secondaryAddressesIndex < secondaryAddressesJsonList.GetLength(); ++secondaryAddressesIndex) + { + secondaryAddressesJsonList[secondaryAddressesIndex].AsObject(m_secondaryAddresses[secondaryAddressesIndex].Jsonize()); + } + payload.WithArray("SecondaryAddresses", std::move(secondaryAddressesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp index 32ed9e37e75..df2b194d66e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp @@ -24,6 +24,7 @@ namespace Aws static const int Phonemes_HASH = HashingUtils::HashString("Phonemes"); static const int Access_HASH = HashingUtils::HashString("Access"); static const int Contact_HASH = HashingUtils::HashString("Contact"); + static const int SecondaryAddresses_HASH = HashingUtils::HashString("SecondaryAddresses"); GetPlaceAdditionalFeature GetGetPlaceAdditionalFeatureForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return GetPlaceAdditionalFeature::Contact; } + else if (hashCode == SecondaryAddresses_HASH) + { + return GetPlaceAdditionalFeature::SecondaryAddresses; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "Access"; case GetPlaceAdditionalFeature::Contact: return "Contact"; + case GetPlaceAdditionalFeature::SecondaryAddresses: + return "SecondaryAddresses"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp index be79fd63b9f..81a5acdbd9e 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp @@ -151,6 +151,20 @@ GetPlaceResult& GetPlaceResult::operator =(const Aws::AmazonWebServiceResult secondaryAddressesJsonList = jsonValue.GetArray("SecondaryAddresses"); + for(unsigned secondaryAddressesIndex = 0; secondaryAddressesIndex < secondaryAddressesJsonList.GetLength(); ++secondaryAddressesIndex) + { + m_secondaryAddresses.push_back(secondaryAddressesJsonList[secondaryAddressesIndex].AsObject()); + } + m_secondaryAddressesHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp new file mode 100644 index 00000000000..e1e0ad731c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Intersection.cpp @@ -0,0 +1,155 @@ +/** + * 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 GeoPlaces +{ +namespace Model +{ + +Intersection::Intersection(JsonView jsonValue) +{ + *this = jsonValue; +} + +Intersection& Intersection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + m_placeIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + m_titleHasBeenSet = true; + } + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + m_addressHasBeenSet = true; + } + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + m_distanceHasBeenSet = true; + } + if(jsonValue.ValueExists("RouteDistance")) + { + m_routeDistance = jsonValue.GetInt64("RouteDistance"); + m_routeDistanceHasBeenSet = true; + } + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + return *this; +} + +JsonValue Intersection::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_routeDistanceHasBeenSet) + { + payload.WithInt64("RouteDistance", m_routeDistance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp new file mode 100644 index 00000000000..60b69029fd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQueryComponent.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ParsedQueryComponent::ParsedQueryComponent(JsonView jsonValue) +{ + *this = jsonValue; +} + +ParsedQueryComponent& ParsedQueryComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartIndex")) + { + m_startIndex = jsonValue.GetInteger("StartIndex"); + m_startIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("EndIndex")) + { + m_endIndex = jsonValue.GetInteger("EndIndex"); + m_endIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + if(jsonValue.ValueExists("QueryComponent")) + { + m_queryComponent = jsonValue.GetString("QueryComponent"); + m_queryComponentHasBeenSet = true; + } + return *this; +} + +JsonValue ParsedQueryComponent::Jsonize() const +{ + JsonValue payload; + + if(m_startIndexHasBeenSet) + { + payload.WithInteger("StartIndex", m_startIndex); + + } + + if(m_endIndexHasBeenSet) + { + payload.WithInteger("EndIndex", m_endIndex); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + if(m_queryComponentHasBeenSet) + { + payload.WithString("QueryComponent", m_queryComponent); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp new file mode 100644 index 00000000000..e4081a54ee2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ParsedQuerySecondaryAddressComponent.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ParsedQuerySecondaryAddressComponent::ParsedQuerySecondaryAddressComponent(JsonView jsonValue) +{ + *this = jsonValue; +} + +ParsedQuerySecondaryAddressComponent& ParsedQuerySecondaryAddressComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartIndex")) + { + m_startIndex = jsonValue.GetInteger("StartIndex"); + m_startIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("EndIndex")) + { + m_endIndex = jsonValue.GetInteger("EndIndex"); + m_endIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetString("Number"); + m_numberHasBeenSet = true; + } + if(jsonValue.ValueExists("Designator")) + { + m_designator = jsonValue.GetString("Designator"); + m_designatorHasBeenSet = true; + } + return *this; +} + +JsonValue ParsedQuerySecondaryAddressComponent::Jsonize() const +{ + JsonValue payload; + + if(m_startIndexHasBeenSet) + { + payload.WithInteger("StartIndex", m_startIndex); + + } + + if(m_endIndexHasBeenSet) + { + payload.WithInteger("EndIndex", m_endIndex); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + if(m_numberHasBeenSet) + { + payload.WithString("Number", m_number); + + } + + if(m_designatorHasBeenSet) + { + payload.WithString("Designator", m_designator); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp index b9e18ce9b97..b6d4bedf57b 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp @@ -34,6 +34,7 @@ namespace Aws static const int PointOfInterest_HASH = HashingUtils::HashString("PointOfInterest"); static const int PointAddress_HASH = HashingUtils::HashString("PointAddress"); static const int InterpolatedAddress_HASH = HashingUtils::HashString("InterpolatedAddress"); + static const int SecondaryAddress_HASH = HashingUtils::HashString("SecondaryAddress"); PlaceType GetPlaceTypeForName(const Aws::String& name) @@ -95,6 +96,10 @@ namespace Aws { return PlaceType::InterpolatedAddress; } + else if (hashCode == SecondaryAddress_HASH) + { + return PlaceType::SecondaryAddress; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -139,6 +144,8 @@ namespace Aws return "PointAddress"; case PlaceType::InterpolatedAddress: return "InterpolatedAddress"; + case PlaceType::SecondaryAddress: + return "SecondaryAddress"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp new file mode 100644 index 00000000000..2edaa6b955d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/RelatedPlace.cpp @@ -0,0 +1,123 @@ +/** + * 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 GeoPlaces +{ +namespace Model +{ + +RelatedPlace::RelatedPlace(JsonView jsonValue) +{ + *this = jsonValue; +} + +RelatedPlace& RelatedPlace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + m_placeIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + m_placeTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + m_titleHasBeenSet = true; + } + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + m_addressHasBeenSet = true; + } + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + return *this; +} + +JsonValue RelatedPlace::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp index 44915a73283..11d2c9b5401 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp @@ -22,6 +22,7 @@ namespace Aws static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); static const int Access_HASH = HashingUtils::HashString("Access"); + static const int Intersections_HASH = HashingUtils::HashString("Intersections"); ReverseGeocodeAdditionalFeature GetReverseGeocodeAdditionalFeatureForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return ReverseGeocodeAdditionalFeature::Access; } + else if (hashCode == Intersections_HASH) + { + return ReverseGeocodeAdditionalFeature::Intersections; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "TimeZone"; case ReverseGeocodeAdditionalFeature::Access: return "Access"; + case ReverseGeocodeAdditionalFeature::Intersections: + return "Intersections"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp index 51c5aa7973a..21eec68e8f5 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp @@ -119,6 +119,15 @@ ReverseGeocodeResultItem& ReverseGeocodeResultItem::operator =(JsonView jsonValu m_politicalView = jsonValue.GetString("PoliticalView"); m_politicalViewHasBeenSet = true; } + if(jsonValue.ValueExists("Intersections")) + { + Aws::Utils::Array intersectionsJsonList = jsonValue.GetArray("Intersections"); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + m_intersections.push_back(intersectionsJsonList[intersectionsIndex].AsObject()); + } + m_intersectionsHasBeenSet = true; + } return *this; } @@ -239,6 +248,17 @@ JsonValue ReverseGeocodeResultItem::Jsonize() const } + if(m_intersectionsHasBeenSet) + { + Aws::Utils::Array intersectionsJsonList(m_intersections.size()); + for(unsigned intersectionsIndex = 0; intersectionsIndex < intersectionsJsonList.GetLength(); ++intersectionsIndex) + { + intersectionsJsonList[intersectionsIndex].AsObject(m_intersections[intersectionsIndex].Jsonize()); + } + payload.WithArray("Intersections", std::move(intersectionsJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp new file mode 100644 index 00000000000..bffe48e1e26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponent.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SecondaryAddressComponent::SecondaryAddressComponent(JsonView jsonValue) +{ + *this = jsonValue; +} + +SecondaryAddressComponent& SecondaryAddressComponent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetString("Number"); + m_numberHasBeenSet = true; + } + return *this; +} + +JsonValue SecondaryAddressComponent::Jsonize() const +{ + JsonValue payload; + + if(m_numberHasBeenSet) + { + payload.WithString("Number", m_number); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp new file mode 100644 index 00000000000..d219185799c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SecondaryAddressComponentMatchScore.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SecondaryAddressComponentMatchScore::SecondaryAddressComponentMatchScore(JsonView jsonValue) +{ + *this = jsonValue; +} + +SecondaryAddressComponentMatchScore& SecondaryAddressComponentMatchScore::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Number")) + { + m_number = jsonValue.GetDouble("Number"); + m_numberHasBeenSet = true; + } + return *this; +} + +JsonValue SecondaryAddressComponentMatchScore::Jsonize() const +{ + JsonValue payload; + + if(m_numberHasBeenSet) + { + payload.WithDouble("Number", m_number); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h new file mode 100644 index 00000000000..16e0577342a --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Glue +{ +namespace Model +{ + + /** + *

                              The configuration for a compaction optimizer. This configuration defines how + * data files in your table will be compacted to improve query performance and + * reduce storage costs.

                              See Also:

                              AWS + * API Reference

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

                              The configuration for an Iceberg compaction optimizer.

                              + */ + inline const IcebergCompactionConfiguration& GetIcebergConfiguration() const { return m_icebergConfiguration; } + inline bool IcebergConfigurationHasBeenSet() const { return m_icebergConfigurationHasBeenSet; } + template + void SetIcebergConfiguration(IcebergConfigurationT&& value) { m_icebergConfigurationHasBeenSet = true; m_icebergConfiguration = std::forward(value); } + template + CompactionConfiguration& WithIcebergConfiguration(IcebergConfigurationT&& value) { SetIcebergConfiguration(std::forward(value)); return *this;} + ///@} + private: + + IcebergCompactionConfiguration m_icebergConfiguration; + bool m_icebergConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h new file mode 100644 index 00000000000..dafe70e38d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CompactionStrategy.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + enum class CompactionStrategy + { + NOT_SET, + binpack, + sort, + z_order + }; + +namespace CompactionStrategyMapper +{ +AWS_GLUE_API CompactionStrategy GetCompactionStrategyForName(const Aws::String& name); + +AWS_GLUE_API Aws::String GetNameForCompactionStrategy(CompactionStrategy value); +} // namespace CompactionStrategyMapper +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h index f0ff9bd1479..ae93cf0901b 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/CreateDataQualityRulesetRequest.h @@ -19,6 +19,9 @@ namespace Model { /** + *

                              A request to create a data quality ruleset.

                              See Also:

                              AWS + * API Reference

                              */ class CreateDataQualityRulesetRequest : public GlueRequest { diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h new file mode 100644 index 00000000000..d6a7496b4bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityAggregatedMetrics.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Glue +{ +namespace Model +{ + + /** + *

                              A summary of metrics showing the total counts of processed rows and rules, + * including their pass/fail statistics based on row-level results.

                              See + * Also:

                              AWS + * API Reference

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

                              The total number of rows that were processed during the data quality + * evaluation.

                              + */ + inline double GetTotalRowsProcessed() const { return m_totalRowsProcessed; } + inline bool TotalRowsProcessedHasBeenSet() const { return m_totalRowsProcessedHasBeenSet; } + inline void SetTotalRowsProcessed(double value) { m_totalRowsProcessedHasBeenSet = true; m_totalRowsProcessed = value; } + inline DataQualityAggregatedMetrics& WithTotalRowsProcessed(double value) { SetTotalRowsProcessed(value); return *this;} + ///@} + + ///@{ + /** + *

                              The total number of rows that passed all applicable data quality rules.

                              + */ + inline double GetTotalRowsPassed() const { return m_totalRowsPassed; } + inline bool TotalRowsPassedHasBeenSet() const { return m_totalRowsPassedHasBeenSet; } + inline void SetTotalRowsPassed(double value) { m_totalRowsPassedHasBeenSet = true; m_totalRowsPassed = value; } + inline DataQualityAggregatedMetrics& WithTotalRowsPassed(double value) { SetTotalRowsPassed(value); return *this;} + ///@} + + ///@{ + /** + *

                              The total number of rows that failed one or more data quality rules.

                              + */ + inline double GetTotalRowsFailed() const { return m_totalRowsFailed; } + inline bool TotalRowsFailedHasBeenSet() const { return m_totalRowsFailedHasBeenSet; } + inline void SetTotalRowsFailed(double value) { m_totalRowsFailedHasBeenSet = true; m_totalRowsFailed = value; } + inline DataQualityAggregatedMetrics& WithTotalRowsFailed(double value) { SetTotalRowsFailed(value); return *this;} + ///@} + + ///@{ + /** + *

                              The total number of data quality rules that were evaluated.

                              + */ + inline double GetTotalRulesProcessed() const { return m_totalRulesProcessed; } + inline bool TotalRulesProcessedHasBeenSet() const { return m_totalRulesProcessedHasBeenSet; } + inline void SetTotalRulesProcessed(double value) { m_totalRulesProcessedHasBeenSet = true; m_totalRulesProcessed = value; } + inline DataQualityAggregatedMetrics& WithTotalRulesProcessed(double value) { SetTotalRulesProcessed(value); return *this;} + ///@} + + ///@{ + /** + *

                              The total number of data quality rules that passed their evaluation + * criteria.

                              + */ + inline double GetTotalRulesPassed() const { return m_totalRulesPassed; } + inline bool TotalRulesPassedHasBeenSet() const { return m_totalRulesPassedHasBeenSet; } + inline void SetTotalRulesPassed(double value) { m_totalRulesPassedHasBeenSet = true; m_totalRulesPassed = value; } + inline DataQualityAggregatedMetrics& WithTotalRulesPassed(double value) { SetTotalRulesPassed(value); return *this;} + ///@} + + ///@{ + /** + *

                              The total number of data quality rules that failed their evaluation + * criteria.

                              + */ + inline double GetTotalRulesFailed() const { return m_totalRulesFailed; } + inline bool TotalRulesFailedHasBeenSet() const { return m_totalRulesFailedHasBeenSet; } + inline void SetTotalRulesFailed(double value) { m_totalRulesFailedHasBeenSet = true; m_totalRulesFailed = value; } + inline DataQualityAggregatedMetrics& WithTotalRulesFailed(double value) { SetTotalRulesFailed(value); return *this;} + ///@} + private: + + double m_totalRowsProcessed{0.0}; + bool m_totalRowsProcessedHasBeenSet = false; + + double m_totalRowsPassed{0.0}; + bool m_totalRowsPassedHasBeenSet = false; + + double m_totalRowsFailed{0.0}; + bool m_totalRowsFailedHasBeenSet = false; + + double m_totalRulesProcessed{0.0}; + bool m_totalRulesProcessedHasBeenSet = false; + + double m_totalRulesPassed{0.0}; + bool m_totalRulesPassedHasBeenSet = false; + + double m_totalRulesFailed{0.0}; + bool m_totalRulesFailedHasBeenSet = false; + }; + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h index ed028a7af52..661d4e4b389 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -222,6 +223,20 @@ namespace Model template DataQualityResult& AddObservations(ObservationsT&& value) { m_observationsHasBeenSet = true; m_observations.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                              A summary of DataQualityAggregatedMetrics objects showing the + * total counts of processed rows and rules, including their pass/fail statistics + * based on row-level results.

                              + */ + inline const DataQualityAggregatedMetrics& GetAggregatedMetrics() const { return m_aggregatedMetrics; } + inline bool AggregatedMetricsHasBeenSet() const { return m_aggregatedMetricsHasBeenSet; } + template + void SetAggregatedMetrics(AggregatedMetricsT&& value) { m_aggregatedMetricsHasBeenSet = true; m_aggregatedMetrics = std::forward(value); } + template + DataQualityResult& WithAggregatedMetrics(AggregatedMetricsT&& value) { SetAggregatedMetrics(std::forward(value)); return *this;} + ///@} private: Aws::String m_resultId; @@ -265,6 +280,9 @@ namespace Model Aws::Vector m_observations; bool m_observationsHasBeenSet = false; + + DataQualityAggregatedMetrics m_aggregatedMetrics; + bool m_aggregatedMetricsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h index 7a1f18f032f..90520e32a3d 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/DataQualityRuleResult.h @@ -112,6 +112,22 @@ namespace Model template DataQualityRuleResult& WithEvaluatedRule(EvaluatedRuleT&& value) { SetEvaluatedRule(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              A map containing metrics associated with the evaluation of the rule based on + * row-level results.

                              + */ + inline const Aws::Map& GetRuleMetrics() const { return m_ruleMetrics; } + inline bool RuleMetricsHasBeenSet() const { return m_ruleMetricsHasBeenSet; } + template> + void SetRuleMetrics(RuleMetricsT&& value) { m_ruleMetricsHasBeenSet = true; m_ruleMetrics = std::forward(value); } + template> + DataQualityRuleResult& WithRuleMetrics(RuleMetricsT&& value) { SetRuleMetrics(std::forward(value)); return *this;} + inline DataQualityRuleResult& AddRuleMetrics(Aws::String key, double value) { + m_ruleMetricsHasBeenSet = true; m_ruleMetrics.emplace(key, value); return *this; + } + ///@} private: Aws::String m_name; @@ -131,6 +147,9 @@ namespace Model Aws::String m_evaluatedRule; bool m_evaluatedRuleHasBeenSet = false; + + Aws::Map m_ruleMetrics; + bool m_ruleMetricsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h index 0886beb4c96..434ccf70ff4 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityResultResult.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -30,6 +31,11 @@ namespace Glue { namespace Model { + /** + *

                              The response for the data quality result.

                              See Also:

                              AWS + * API Reference

                              + */ class GetDataQualityResultResult { public: @@ -204,6 +210,19 @@ namespace Model GetDataQualityResultResult& AddObservations(ObservationsT&& value) { m_observationsHasBeenSet = true; m_observations.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

                              A summary of DataQualityAggregatedMetrics objects showing the + * total counts of processed rows and rules, including their pass/fail statistics + * based on row-level results.

                              + */ + inline const DataQualityAggregatedMetrics& GetAggregatedMetrics() const { return m_aggregatedMetrics; } + template + void SetAggregatedMetrics(AggregatedMetricsT&& value) { m_aggregatedMetricsHasBeenSet = true; m_aggregatedMetrics = std::forward(value); } + template + GetDataQualityResultResult& WithAggregatedMetrics(AggregatedMetricsT&& value) { SetAggregatedMetrics(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -256,6 +275,9 @@ namespace Model Aws::Vector m_observations; bool m_observationsHasBeenSet = false; + DataQualityAggregatedMetrics m_aggregatedMetrics; + bool m_aggregatedMetricsHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h index 12f07785e04..69a06659959 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRuleRecommendationRunResult.h @@ -27,6 +27,12 @@ namespace Glue { namespace Model { + /** + *

                              The response for the Data Quality rule recommendation run.

                              See + * Also:

                              AWS + * API Reference

                              + */ class GetDataQualityRuleRecommendationRunResult { public: diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h index 6b7fe62445c..e3032a99489 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/GetDataQualityRulesetResult.h @@ -26,6 +26,11 @@ namespace Glue { namespace Model { + /** + *

                              Returns the data quality ruleset response.

                              See Also:

                              AWS + * API Reference

                              + */ class GetDataQualityRulesetResult { public: diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h new file mode 100644 index 00000000000..45ecf0031fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/IcebergCompactionConfiguration.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Glue +{ +namespace Model +{ + + /** + *

                              The configuration for an Iceberg compaction optimizer. This configuration + * defines parameters for optimizing the layout of data files in Iceberg + * tables.

                              See Also:

                              AWS + * API Reference

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

                              The strategy to use for compaction. Valid values are:

                              • + * binpack: Combines small files into larger files, typically + * targeting sizes over 100MB, while applying any pending deletes. This is the + * recommended compaction strategy for most use cases.

                              • + * sort: Organizes data based on specified columns which are sorted + * hierarchically during compaction, improving query performance for filtered + * operations. This strategy is recommended when your queries frequently filter on + * specific columns. To use this strategy, you must first define a sort order in + * your Iceberg table properties using the sort_order table + * property.

                              • z-order: Optimizes data organization + * by blending multiple attributes into a single scalar value that can be used for + * sorting, allowing efficient querying across multiple dimensions. This strategy + * is recommended when you need to query data across multiple dimensions + * simultaneously. To use this strategy, you must first define a sort order in your + * Iceberg table properties using the sort_order table property.

                                + *

                              If an input is not provided, the default value 'binpack' will be + * used.

                              + */ + inline CompactionStrategy GetStrategy() const { return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(CompactionStrategy value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline IcebergCompactionConfiguration& WithStrategy(CompactionStrategy value) { SetStrategy(value); return *this;} + ///@} + private: + + CompactionStrategy m_strategy{CompactionStrategy::NOT_SET}; + bool m_strategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h index f23382d5bb9..2cbca89027f 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/StartDataQualityRuleRecommendationRunRequest.h @@ -18,6 +18,10 @@ namespace Model { /** + *

                              The request of the Data Quality rule recommendation request.

                              See + * Also:

                              AWS + * API Reference

                              */ class StartDataQualityRuleRecommendationRunRequest : public GlueRequest { diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h index bb8a0f9aaa2..47a72fb5e60 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerConfiguration.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -79,6 +80,20 @@ namespace Model TableOptimizerConfiguration& WithVpcConfiguration(VpcConfigurationT&& value) { SetVpcConfiguration(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              The configuration for a compaction optimizer. This configuration defines how + * data files in your table will be compacted to improve query performance and + * reduce storage costs.

                              + */ + inline const CompactionConfiguration& GetCompactionConfiguration() const { return m_compactionConfiguration; } + inline bool CompactionConfigurationHasBeenSet() const { return m_compactionConfigurationHasBeenSet; } + template + void SetCompactionConfiguration(CompactionConfigurationT&& value) { m_compactionConfigurationHasBeenSet = true; m_compactionConfiguration = std::forward(value); } + template + TableOptimizerConfiguration& WithCompactionConfiguration(CompactionConfigurationT&& value) { SetCompactionConfiguration(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                              The configuration for a snapshot retention optimizer.

                              @@ -113,6 +128,9 @@ namespace Model TableOptimizerVpcConfiguration m_vpcConfiguration; bool m_vpcConfigurationHasBeenSet = false; + CompactionConfiguration m_compactionConfiguration; + bool m_compactionConfigurationHasBeenSet = false; + RetentionConfiguration m_retentionConfiguration; bool m_retentionConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h index a2fab072009..066985ef947 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/model/TableOptimizerRun.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -102,6 +103,32 @@ namespace Model TableOptimizerRun& WithCompactionMetrics(CompactionMetricsT&& value) { SetCompactionMetrics(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              The strategy used for the compaction run. Indicates which algorithm was + * applied to determine how files were selected and combined during the compaction + * process. Valid values are:

                              • binpack: Combines + * small files into larger files, typically targeting sizes over 100MB, while + * applying any pending deletes. This is the recommended compaction strategy for + * most use cases.

                              • sort: Organizes data based on + * specified columns which are sorted hierarchically during compaction, improving + * query performance for filtered operations. This strategy is recommended when + * your queries frequently filter on specific columns. To use this strategy, you + * must first define a sort order in your Iceberg table properties using the + * sort_order table property.

                              • z-order: + * Optimizes data organization by blending multiple attributes into a single scalar + * value that can be used for sorting, allowing efficient querying across multiple + * dimensions. This strategy is recommended when you need to query data across + * multiple dimensions simultaneously. To use this strategy, you must first define + * a sort order in your Iceberg table properties using the sort_order + * table property.

                              + */ + inline CompactionStrategy GetCompactionStrategy() const { return m_compactionStrategy; } + inline bool CompactionStrategyHasBeenSet() const { return m_compactionStrategyHasBeenSet; } + inline void SetCompactionStrategy(CompactionStrategy value) { m_compactionStrategyHasBeenSet = true; m_compactionStrategy = value; } + inline TableOptimizerRun& WithCompactionStrategy(CompactionStrategy value) { SetCompactionStrategy(value); return *this;} + ///@} + ///@{ /** *

                              A RetentionMetrics object containing metrics for the optimizer @@ -144,6 +171,9 @@ namespace Model CompactionMetrics m_compactionMetrics; bool m_compactionMetricsHasBeenSet = false; + CompactionStrategy m_compactionStrategy{CompactionStrategy::NOT_SET}; + bool m_compactionStrategyHasBeenSet = false; + RetentionMetrics m_retentionMetrics; bool m_retentionMetricsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp new file mode 100644 index 00000000000..b3a5113ea55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/CompactionConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + +CompactionConfiguration::CompactionConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +CompactionConfiguration& CompactionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("icebergConfiguration")) + { + m_icebergConfiguration = jsonValue.GetObject("icebergConfiguration"); + m_icebergConfigurationHasBeenSet = true; + } + return *this; +} + +JsonValue CompactionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_icebergConfigurationHasBeenSet) + { + payload.WithObject("icebergConfiguration", m_icebergConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp b/generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp new file mode 100644 index 00000000000..3f27ec878fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/CompactionStrategy.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Glue + { + namespace Model + { + namespace CompactionStrategyMapper + { + + static const int binpack_HASH = HashingUtils::HashString("binpack"); + static const int sort_HASH = HashingUtils::HashString("sort"); + static const int z_order_HASH = HashingUtils::HashString("z-order"); + + + CompactionStrategy GetCompactionStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == binpack_HASH) + { + return CompactionStrategy::binpack; + } + else if (hashCode == sort_HASH) + { + return CompactionStrategy::sort; + } + else if (hashCode == z_order_HASH) + { + return CompactionStrategy::z_order; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CompactionStrategy::NOT_SET; + } + + Aws::String GetNameForCompactionStrategy(CompactionStrategy enumValue) + { + switch(enumValue) + { + case CompactionStrategy::NOT_SET: + return {}; + case CompactionStrategy::binpack: + return "binpack"; + case CompactionStrategy::sort: + return "sort"; + case CompactionStrategy::z_order: + return "z-order"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CompactionStrategyMapper + } // namespace Model + } // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp new file mode 100644 index 00000000000..fdbe18e11d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityAggregatedMetrics.cpp @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + +DataQualityAggregatedMetrics::DataQualityAggregatedMetrics(JsonView jsonValue) +{ + *this = jsonValue; +} + +DataQualityAggregatedMetrics& DataQualityAggregatedMetrics::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TotalRowsProcessed")) + { + m_totalRowsProcessed = jsonValue.GetDouble("TotalRowsProcessed"); + m_totalRowsProcessedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRowsPassed")) + { + m_totalRowsPassed = jsonValue.GetDouble("TotalRowsPassed"); + m_totalRowsPassedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRowsFailed")) + { + m_totalRowsFailed = jsonValue.GetDouble("TotalRowsFailed"); + m_totalRowsFailedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRulesProcessed")) + { + m_totalRulesProcessed = jsonValue.GetDouble("TotalRulesProcessed"); + m_totalRulesProcessedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRulesPassed")) + { + m_totalRulesPassed = jsonValue.GetDouble("TotalRulesPassed"); + m_totalRulesPassedHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalRulesFailed")) + { + m_totalRulesFailed = jsonValue.GetDouble("TotalRulesFailed"); + m_totalRulesFailedHasBeenSet = true; + } + return *this; +} + +JsonValue DataQualityAggregatedMetrics::Jsonize() const +{ + JsonValue payload; + + if(m_totalRowsProcessedHasBeenSet) + { + payload.WithDouble("TotalRowsProcessed", m_totalRowsProcessed); + + } + + if(m_totalRowsPassedHasBeenSet) + { + payload.WithDouble("TotalRowsPassed", m_totalRowsPassed); + + } + + if(m_totalRowsFailedHasBeenSet) + { + payload.WithDouble("TotalRowsFailed", m_totalRowsFailed); + + } + + if(m_totalRulesProcessedHasBeenSet) + { + payload.WithDouble("TotalRulesProcessed", m_totalRulesProcessed); + + } + + if(m_totalRulesPassedHasBeenSet) + { + payload.WithDouble("TotalRulesPassed", m_totalRulesPassed); + + } + + if(m_totalRulesFailedHasBeenSet) + { + payload.WithDouble("TotalRulesFailed", m_totalRulesFailed); + + } + + return payload; +} + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp index 81d2eb4577a..7d6ebc678ae 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityResult.cpp @@ -107,6 +107,11 @@ DataQualityResult& DataQualityResult::operator =(JsonView jsonValue) } m_observationsHasBeenSet = true; } + if(jsonValue.ValueExists("AggregatedMetrics")) + { + m_aggregatedMetrics = jsonValue.GetObject("AggregatedMetrics"); + m_aggregatedMetricsHasBeenSet = true; + } return *this; } @@ -211,6 +216,12 @@ JsonValue DataQualityResult::Jsonize() const } + if(m_aggregatedMetricsHasBeenSet) + { + payload.WithObject("AggregatedMetrics", m_aggregatedMetrics.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp index d1355ed4229..620518621eb 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/DataQualityRuleResult.cpp @@ -59,6 +59,15 @@ DataQualityRuleResult& DataQualityRuleResult::operator =(JsonView jsonValue) m_evaluatedRule = jsonValue.GetString("EvaluatedRule"); m_evaluatedRuleHasBeenSet = true; } + if(jsonValue.ValueExists("RuleMetrics")) + { + Aws::Map ruleMetricsJsonMap = jsonValue.GetObject("RuleMetrics").GetAllObjects(); + for(auto& ruleMetricsItem : ruleMetricsJsonMap) + { + m_ruleMetrics[ruleMetricsItem.first] = ruleMetricsItem.second.AsDouble(); + } + m_ruleMetricsHasBeenSet = true; + } return *this; } @@ -106,6 +115,17 @@ JsonValue DataQualityRuleResult::Jsonize() const } + if(m_ruleMetricsHasBeenSet) + { + JsonValue ruleMetricsJsonMap; + for(auto& ruleMetricsItem : m_ruleMetrics) + { + ruleMetricsJsonMap.WithDouble(ruleMetricsItem.first, ruleMetricsItem.second); + } + payload.WithObject("RuleMetrics", std::move(ruleMetricsJsonMap)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp b/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp index 8d55a6bc753..37804371254 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/GetDataQualityResultResult.cpp @@ -107,6 +107,11 @@ GetDataQualityResultResult& GetDataQualityResultResult::operator =(const Aws::Am } m_observationsHasBeenSet = true; } + if(jsonValue.ValueExists("AggregatedMetrics")) + { + m_aggregatedMetrics = jsonValue.GetObject("AggregatedMetrics"); + m_aggregatedMetricsHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp new file mode 100644 index 00000000000..64a02adbe14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/model/IcebergCompactionConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Glue +{ +namespace Model +{ + +IcebergCompactionConfiguration::IcebergCompactionConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +IcebergCompactionConfiguration& IcebergCompactionConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("strategy")) + { + m_strategy = CompactionStrategyMapper::GetCompactionStrategyForName(jsonValue.GetString("strategy")); + m_strategyHasBeenSet = true; + } + return *this; +} + +JsonValue IcebergCompactionConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_strategyHasBeenSet) + { + payload.WithString("strategy", CompactionStrategyMapper::GetNameForCompactionStrategy(m_strategy)); + } + + return payload; +} + +} // namespace Model +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp index fce95e77441..7b804e32714 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerConfiguration.cpp @@ -40,6 +40,11 @@ TableOptimizerConfiguration& TableOptimizerConfiguration::operator =(JsonView js m_vpcConfiguration = jsonValue.GetObject("vpcConfiguration"); m_vpcConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("compactionConfiguration")) + { + m_compactionConfiguration = jsonValue.GetObject("compactionConfiguration"); + m_compactionConfigurationHasBeenSet = true; + } if(jsonValue.ValueExists("retentionConfiguration")) { m_retentionConfiguration = jsonValue.GetObject("retentionConfiguration"); @@ -75,6 +80,12 @@ JsonValue TableOptimizerConfiguration::Jsonize() const } + if(m_compactionConfigurationHasBeenSet) + { + payload.WithObject("compactionConfiguration", m_compactionConfiguration.Jsonize()); + + } + if(m_retentionConfigurationHasBeenSet) { payload.WithObject("retentionConfiguration", m_retentionConfiguration.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp index 173e0e328f4..8f6deed3bf3 100644 --- a/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/model/TableOptimizerRun.cpp @@ -50,6 +50,11 @@ TableOptimizerRun& TableOptimizerRun::operator =(JsonView jsonValue) m_compactionMetrics = jsonValue.GetObject("compactionMetrics"); m_compactionMetricsHasBeenSet = true; } + if(jsonValue.ValueExists("compactionStrategy")) + { + m_compactionStrategy = CompactionStrategyMapper::GetCompactionStrategyForName(jsonValue.GetString("compactionStrategy")); + m_compactionStrategyHasBeenSet = true; + } if(jsonValue.ValueExists("retentionMetrics")) { m_retentionMetrics = jsonValue.GetObject("retentionMetrics"); @@ -94,6 +99,11 @@ JsonValue TableOptimizerRun::Jsonize() const } + if(m_compactionStrategyHasBeenSet) + { + payload.WithString("compactionStrategy", CompactionStrategyMapper::GetNameForCompactionStrategy(m_compactionStrategy)); + } + if(m_retentionMetricsHasBeenSet) { payload.WithObject("retentionMetrics", m_retentionMetrics.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h index 4e093cc2cff..ecb94b054ad 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h @@ -888,10 +888,15 @@ namespace GuardDuty /** *

                              Provides the details of the GuardDuty administrator account associated with - * the current GuardDuty member account.

                              If the organization's - * management account or a delegated administrator runs this API, it will return - * success (HTTP 200) but no content.

                              See Also:

                              - *

                              Based on the type of account that + * runs this API, the following list shows how the API behavior varies:

                                + *
                              • When the GuardDuty administrator account runs this API, it will return + * success (HTTP 200) but no content.

                              • When a member + * account runs this API, it will return the details of the GuardDuty administrator + * account that is associated with this calling member account.

                              • + *

                                When an individual account (not associated with an organization) runs this + * API, it will return success (HTTP 200) but no content.

                              • + *

                              See Also:

                              AWS * API Reference

                              */ diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccountDetail.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccountDetail.h index 8a142fa88df..dbb09964e40 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccountDetail.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/AccountDetail.h @@ -51,7 +51,17 @@ namespace Model ///@{ /** - *

                              The email address of the member account.

                              + *

                              The email address of the member account.

                              The rules for a valid email + * address:

                              • The email address must be a minimum of 6 and a maximum + * of 64 characters long.

                              • All characters must be 7-bit ASCII + * characters.

                              • There must be one and only one @ symbol, which + * separates the local name from the domain name.

                              • The local name + * can't contain any of the following characters:

                                whitespace, " ' ( ) < + * > [ ] : ' , \ | % &

                              • The local name can't begin with a + * dot (.).

                              • The domain name can consist of only the characters + * [a-z], [A-Z], [0-9], hyphen (-), or dot (.).

                              • The domain name + * can't begin or end with a dot (.) or hyphen (-).

                              • The domain + * name must contain at least one dot.

                              */ inline const Aws::String& GetEmail() const { return m_email; } inline bool EmailHasBeenSet() const { return m_emailHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h index 01d512d61b4..6b5841fb7ca 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Actor.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -75,6 +76,20 @@ namespace Model template Actor& WithSession(SessionT&& value) { SetSession(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              Contains information about the process associated with the threat actor. This + * includes details such as process name, path, execution time, and unique + * identifiers that help track the actor's activities within the system.

                              + */ + inline const ActorProcess& GetProcess() const { return m_process; } + inline bool ProcessHasBeenSet() const { return m_processHasBeenSet; } + template + void SetProcess(ProcessT&& value) { m_processHasBeenSet = true; m_process = std::forward(value); } + template + Actor& WithProcess(ProcessT&& value) { SetProcess(std::forward(value)); return *this;} + ///@} private: Aws::String m_id; @@ -85,6 +100,9 @@ namespace Model Session m_session; bool m_sessionHasBeenSet = false; + + ActorProcess m_process; + bool m_processHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ActorProcess.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ActorProcess.h new file mode 100644 index 00000000000..35a4bf52324 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ActorProcess.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

                              Contains information about a process involved in a GuardDuty finding, + * including process identification, execution details, and file + * information.

                              See Also:

                              AWS + * API Reference

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

                              The name of the process as it appears in the system.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ActorProcess& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The full file path to the process executable on the system.

                              + */ + inline const Aws::String& GetPath() const { return m_path; } + inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } + template + void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward(value); } + template + ActorProcess& WithPath(PathT&& value) { SetPath(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The SHA256 hash of the process executable file, which can be used for + * identification and verification purposes.

                              + */ + inline const Aws::String& GetSha256() const { return m_sha256; } + inline bool Sha256HasBeenSet() const { return m_sha256HasBeenSet; } + template + void SetSha256(Sha256T&& value) { m_sha256HasBeenSet = true; m_sha256 = std::forward(value); } + template + ActorProcess& WithSha256(Sha256T&& value) { SetSha256(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_path; + bool m_pathHasBeenSet = false; + + Aws::String m_sha256; + bool m_sha256HasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ClusterStatus.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ClusterStatus.h new file mode 100644 index 00000000000..06fa35ff6c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ClusterStatus.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class ClusterStatus + { + NOT_SET, + CREATING, + ACTIVE, + DELETING, + FAILED, + UPDATING, + PENDING + }; + +namespace ClusterStatusMapper +{ +AWS_GUARDDUTY_API ClusterStatus GetClusterStatusForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForClusterStatus(ClusterStatus value); +} // namespace ClusterStatusMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ContainerFindingResource.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ContainerFindingResource.h new file mode 100644 index 00000000000..b2b322fb662 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ContainerFindingResource.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

                              Contains information about container resources involved in a GuardDuty + * finding. This structure provides details about containers that were identified + * as part of suspicious or malicious activity.

                              See Also:

                              AWS + * API Reference

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

                              The container image information, including the image name and tag used to run + * the container that was involved in the finding.

                              + */ + inline const Aws::String& GetImage() const { return m_image; } + inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } + template + void SetImage(ImageT&& value) { m_imageHasBeenSet = true; m_image = std::forward(value); } + template + ContainerFindingResource& WithImage(ImageT&& value) { SetImage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The unique ID associated with the container image.

                              + */ + inline const Aws::String& GetImageUid() const { return m_imageUid; } + inline bool ImageUidHasBeenSet() const { return m_imageUidHasBeenSet; } + template + void SetImageUid(ImageUidT&& value) { m_imageUidHasBeenSet = true; m_imageUid = std::forward(value); } + template + ContainerFindingResource& WithImageUid(ImageUidT&& value) { SetImageUid(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_image; + bool m_imageHasBeenSet = false; + + Aws::String m_imageUid; + bool m_imageUidHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/EksCluster.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/EksCluster.h new file mode 100644 index 00000000000..2ee230d4fd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/EksCluster.h @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

                              Contains information about the Amazon EKS cluster involved in a GuardDuty + * finding, including cluster identification, status, and network + * configuration.

                              See Also:

                              AWS + * API Reference

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

                              The Amazon Resource Name (ARN) that uniquely identifies the Amazon EKS + * cluster involved in the finding.

                              + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + EksCluster& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp indicating when the Amazon EKS cluster was created, in UTC + * format.

                              + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + EksCluster& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the Amazon EKS cluster.

                              + */ + inline ClusterStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(ClusterStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline EksCluster& WithStatus(ClusterStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                              The ID of the Amazon Virtual Private Cloud (Amazon VPC) associated with the + * Amazon EKS cluster.

                              + */ + inline const Aws::String& GetVpcId() const { return m_vpcId; } + inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } + template + void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward(value); } + template + EksCluster& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              A list of unique identifiers for the Amazon EC2 instances that serve as + * worker nodes in the Amazon EKS cluster.

                              + */ + inline const Aws::Vector& GetEc2InstanceUids() const { return m_ec2InstanceUids; } + inline bool Ec2InstanceUidsHasBeenSet() const { return m_ec2InstanceUidsHasBeenSet; } + template> + void SetEc2InstanceUids(Ec2InstanceUidsT&& value) { m_ec2InstanceUidsHasBeenSet = true; m_ec2InstanceUids = std::forward(value); } + template> + EksCluster& WithEc2InstanceUids(Ec2InstanceUidsT&& value) { SetEc2InstanceUids(std::forward(value)); return *this;} + template + EksCluster& AddEc2InstanceUids(Ec2InstanceUidsT&& value) { m_ec2InstanceUidsHasBeenSet = true; m_ec2InstanceUids.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + ClusterStatus m_status{ClusterStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_vpcId; + bool m_vpcIdHasBeenSet = false; + + Aws::Vector m_ec2InstanceUids; + bool m_ec2InstanceUidsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FilterCriterion.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FilterCriterion.h index 4e4cea03a3d..23884f37222 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FilterCriterion.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FilterCriterion.h @@ -45,9 +45,7 @@ namespace Model ///@{ /** *

                              An enum value representing possible scan properties to match with given scan - * entries.

                              Replace the enum value CLUSTER_NAME with - * EKS_CLUSTER_NAME. CLUSTER_NAME has been - * deprecated.

                              + * entries.

                              */ inline CriterionKey GetCriterionKey() const { return m_criterionKey; } inline bool CriterionKeyHasBeenSet() const { return m_criterionKeyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h index c32eab28541..89e1dca4e4e 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Finding.h @@ -124,7 +124,13 @@ namespace Model ///@{ /** - *

                              The Region where the finding was generated.

                              + *

                              The Region where the finding was generated. For findings generated from Global + * Service Events, the Region value in the finding might differ from the Region + * where GuardDuty identifies the potential threat. For more information, see How + * GuardDuty handles Amazon Web Services CloudTrail global events in the + * Amazon GuardDuty User Guide.

                              */ inline const Aws::String& GetRegion() const { return m_region; } inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h index 9e9ac9d4804..3882e16a198 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/FindingResourceType.h @@ -20,7 +20,10 @@ namespace Model EC2_NETWORK_INTERFACE, S3_BUCKET, S3_OBJECT, - ACCESS_KEY + ACCESS_KEY, + EKS_CLUSTER, + KUBERNETES_WORKLOAD, + CONTAINER }; namespace FindingResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h index 4695893ee6a..11cc42c4d06 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/IndicatorType.h @@ -25,7 +25,13 @@ namespace Model ATTACK_TECHNIQUE, UNUSUAL_API_FOR_ACCOUNT, UNUSUAL_ASN_FOR_ACCOUNT, - UNUSUAL_ASN_FOR_USER + UNUSUAL_ASN_FOR_USER, + SUSPICIOUS_PROCESS, + MALICIOUS_DOMAIN, + MALICIOUS_PROCESS, + CRYPTOMINING_IP, + CRYPTOMINING_DOMAIN, + CRYPTOMINING_PROCESS }; namespace IndicatorTypeMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/KubernetesResourcesTypes.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/KubernetesResourcesTypes.h new file mode 100644 index 00000000000..8291ad6be1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/KubernetesResourcesTypes.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + enum class KubernetesResourcesTypes + { + NOT_SET, + PODS, + JOBS, + CRONJOBS, + DEPLOYMENTS, + DAEMONSETS, + STATEFULSETS, + REPLICASETS, + REPLICATIONCONTROLLERS + }; + +namespace KubernetesResourcesTypesMapper +{ +AWS_GUARDDUTY_API KubernetesResourcesTypes GetKubernetesResourcesTypesForName(const Aws::String& name); + +AWS_GUARDDUTY_API Aws::String GetNameForKubernetesResourcesTypes(KubernetesResourcesTypes value); +} // namespace KubernetesResourcesTypesMapper +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/KubernetesWorkload.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/KubernetesWorkload.h new file mode 100644 index 00000000000..49bdc656d34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/KubernetesWorkload.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GuardDuty +{ +namespace Model +{ + + /** + *

                              Contains information about Kubernetes workloads involved in a GuardDuty + * finding, including pods, deployments, and other Kubernetes + * resources.

                              See Also:

                              AWS + * API Reference

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

                              A list of unique identifiers for the containers that are part of the + * Kubernetes workload.

                              + */ + inline const Aws::Vector& GetContainerUids() const { return m_containerUids; } + inline bool ContainerUidsHasBeenSet() const { return m_containerUidsHasBeenSet; } + template> + void SetContainerUids(ContainerUidsT&& value) { m_containerUidsHasBeenSet = true; m_containerUids = std::forward(value); } + template> + KubernetesWorkload& WithContainerUids(ContainerUidsT&& value) { SetContainerUids(std::forward(value)); return *this;} + template + KubernetesWorkload& AddContainerUids(ContainerUidsT&& value) { m_containerUidsHasBeenSet = true; m_containerUids.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The Kubernetes namespace in which the workload is running, providing logical + * isolation within the cluster.

                              + */ + inline const Aws::String& GetNamespace() const { return m_namespace; } + inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } + template + void SetNamespace(NamespaceT&& value) { m_namespaceHasBeenSet = true; m_namespace = std::forward(value); } + template + KubernetesWorkload& WithNamespace(NamespaceT&& value) { SetNamespace(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The types of Kubernetes resources involved in the workload.

                              + */ + inline KubernetesResourcesTypes GetKubernetesResourcesTypes() const { return m_kubernetesResourcesTypes; } + inline bool KubernetesResourcesTypesHasBeenSet() const { return m_kubernetesResourcesTypesHasBeenSet; } + inline void SetKubernetesResourcesTypes(KubernetesResourcesTypes value) { m_kubernetesResourcesTypesHasBeenSet = true; m_kubernetesResourcesTypes = value; } + inline KubernetesWorkload& WithKubernetesResourcesTypes(KubernetesResourcesTypes value) { SetKubernetesResourcesTypes(value); return *this;} + ///@} + private: + + Aws::Vector m_containerUids; + bool m_containerUidsHasBeenSet = false; + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + KubernetesResourcesTypes m_kubernetesResourcesTypes{KubernetesResourcesTypes::NOT_SET}; + bool m_kubernetesResourcesTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h index 9357e5e57c9..c313b820f4d 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/ResourceData.h @@ -10,6 +10,9 @@ #include #include #include +#include +#include +#include #include namespace Aws @@ -104,6 +107,45 @@ namespace Model template ResourceData& WithS3Object(S3ObjectT&& value) { SetS3Object(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              Contains detailed information about the Amazon EKS cluster associated with + * the activity that prompted GuardDuty to generate a finding.

                              + */ + inline const EksCluster& GetEksCluster() const { return m_eksCluster; } + inline bool EksClusterHasBeenSet() const { return m_eksClusterHasBeenSet; } + template + void SetEksCluster(EksClusterT&& value) { m_eksClusterHasBeenSet = true; m_eksCluster = std::forward(value); } + template + ResourceData& WithEksCluster(EksClusterT&& value) { SetEksCluster(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Contains detailed information about the Kubernetes workload associated with + * the activity that prompted GuardDuty to generate a finding.

                              + */ + inline const KubernetesWorkload& GetKubernetesWorkload() const { return m_kubernetesWorkload; } + inline bool KubernetesWorkloadHasBeenSet() const { return m_kubernetesWorkloadHasBeenSet; } + template + void SetKubernetesWorkload(KubernetesWorkloadT&& value) { m_kubernetesWorkloadHasBeenSet = true; m_kubernetesWorkload = std::forward(value); } + template + ResourceData& WithKubernetesWorkload(KubernetesWorkloadT&& value) { SetKubernetesWorkload(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Contains detailed information about the container associated with the + * activity that prompted GuardDuty to generate a finding.

                              + */ + inline const ContainerFindingResource& GetContainer() const { return m_container; } + inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; } + template + void SetContainer(ContainerT&& value) { m_containerHasBeenSet = true; m_container = std::forward(value); } + template + ResourceData& WithContainer(ContainerT&& value) { SetContainer(std::forward(value)); return *this;} + ///@} private: S3Bucket m_s3Bucket; @@ -120,6 +162,15 @@ namespace Model S3Object m_s3Object; bool m_s3ObjectHasBeenSet = false; + + EksCluster m_eksCluster; + bool m_eksClusterHasBeenSet = false; + + KubernetesWorkload m_kubernetesWorkload; + bool m_kubernetesWorkloadHasBeenSet = false; + + ContainerFindingResource m_container; + bool m_containerHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h index 39407c31e51..292dcd56755 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/Sequence.h @@ -139,6 +139,21 @@ namespace Model template Sequence& AddSequenceIndicators(SequenceIndicatorsT&& value) { m_sequenceIndicatorsHasBeenSet = true; m_sequenceIndicators.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                              Additional types of sequences that may be associated with the attack sequence + * finding, providing further context about the nature of the detected threat.

                              + */ + inline const Aws::Vector& GetAdditionalSequenceTypes() const { return m_additionalSequenceTypes; } + inline bool AdditionalSequenceTypesHasBeenSet() const { return m_additionalSequenceTypesHasBeenSet; } + template> + void SetAdditionalSequenceTypes(AdditionalSequenceTypesT&& value) { m_additionalSequenceTypesHasBeenSet = true; m_additionalSequenceTypes = std::forward(value); } + template> + Sequence& WithAdditionalSequenceTypes(AdditionalSequenceTypesT&& value) { SetAdditionalSequenceTypes(std::forward(value)); return *this;} + template + Sequence& AddAdditionalSequenceTypes(AdditionalSequenceTypesT&& value) { m_additionalSequenceTypesHasBeenSet = true; m_additionalSequenceTypes.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_uid; @@ -161,6 +176,9 @@ namespace Model Aws::Vector m_sequenceIndicators; bool m_sequenceIndicatorsHasBeenSet = false; + + Aws::Vector m_additionalSequenceTypes; + bool m_additionalSequenceTypesHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h index 7849933fb9a..3a9e2c8699b 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/model/SignalType.h @@ -18,7 +18,11 @@ namespace Model NOT_SET, FINDING, CLOUD_TRAIL, - S3_DATA_EVENTS + S3_DATA_EVENTS, + EKS_AUDIT_LOGS, + FLOW_LOGS, + DNS_LOGS, + RUNTIME_MONITORING }; namespace SignalTypeMapper diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp index 02e6920df09..2902b8f6325 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Actor.cpp @@ -40,6 +40,11 @@ Actor& Actor::operator =(JsonView jsonValue) m_session = jsonValue.GetObject("session"); m_sessionHasBeenSet = true; } + if(jsonValue.ValueExists("process")) + { + m_process = jsonValue.GetObject("process"); + m_processHasBeenSet = true; + } return *this; } @@ -65,6 +70,12 @@ JsonValue Actor::Jsonize() const } + if(m_processHasBeenSet) + { + payload.WithObject("process", m_process.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ActorProcess.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ActorProcess.cpp new file mode 100644 index 00000000000..88050967095 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ActorProcess.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +ActorProcess::ActorProcess(JsonView jsonValue) +{ + *this = jsonValue; +} + +ActorProcess& ActorProcess::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("path")) + { + m_path = jsonValue.GetString("path"); + m_pathHasBeenSet = true; + } + if(jsonValue.ValueExists("sha256")) + { + m_sha256 = jsonValue.GetString("sha256"); + m_sha256HasBeenSet = true; + } + return *this; +} + +JsonValue ActorProcess::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_pathHasBeenSet) + { + payload.WithString("path", m_path); + + } + + if(m_sha256HasBeenSet) + { + payload.WithString("sha256", m_sha256); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ClusterStatus.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ClusterStatus.cpp new file mode 100644 index 00000000000..c595aa89b82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ClusterStatus.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace ClusterStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + + + ClusterStatus GetClusterStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return ClusterStatus::CREATING; + } + else if (hashCode == ACTIVE_HASH) + { + return ClusterStatus::ACTIVE; + } + else if (hashCode == DELETING_HASH) + { + return ClusterStatus::DELETING; + } + else if (hashCode == FAILED_HASH) + { + return ClusterStatus::FAILED; + } + else if (hashCode == UPDATING_HASH) + { + return ClusterStatus::UPDATING; + } + else if (hashCode == PENDING_HASH) + { + return ClusterStatus::PENDING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ClusterStatus::NOT_SET; + } + + Aws::String GetNameForClusterStatus(ClusterStatus enumValue) + { + switch(enumValue) + { + case ClusterStatus::NOT_SET: + return {}; + case ClusterStatus::CREATING: + return "CREATING"; + case ClusterStatus::ACTIVE: + return "ACTIVE"; + case ClusterStatus::DELETING: + return "DELETING"; + case ClusterStatus::FAILED: + return "FAILED"; + case ClusterStatus::UPDATING: + return "UPDATING"; + case ClusterStatus::PENDING: + return "PENDING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ClusterStatusMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ContainerFindingResource.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ContainerFindingResource.cpp new file mode 100644 index 00000000000..412beffebbe --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ContainerFindingResource.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +ContainerFindingResource::ContainerFindingResource(JsonView jsonValue) +{ + *this = jsonValue; +} + +ContainerFindingResource& ContainerFindingResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("image")) + { + m_image = jsonValue.GetString("image"); + m_imageHasBeenSet = true; + } + if(jsonValue.ValueExists("imageUid")) + { + m_imageUid = jsonValue.GetString("imageUid"); + m_imageUidHasBeenSet = true; + } + return *this; +} + +JsonValue ContainerFindingResource::Jsonize() const +{ + JsonValue payload; + + if(m_imageHasBeenSet) + { + payload.WithString("image", m_image); + + } + + if(m_imageUidHasBeenSet) + { + payload.WithString("imageUid", m_imageUid); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/EksCluster.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/EksCluster.cpp new file mode 100644 index 00000000000..aec078c740a --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/EksCluster.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +EksCluster::EksCluster(JsonView jsonValue) +{ + *this = jsonValue; +} + +EksCluster& EksCluster::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = ClusterStatusMapper::GetClusterStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("vpcId")) + { + m_vpcId = jsonValue.GetString("vpcId"); + m_vpcIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ec2InstanceUids")) + { + Aws::Utils::Array ec2InstanceUidsJsonList = jsonValue.GetArray("ec2InstanceUids"); + for(unsigned ec2InstanceUidsIndex = 0; ec2InstanceUidsIndex < ec2InstanceUidsJsonList.GetLength(); ++ec2InstanceUidsIndex) + { + m_ec2InstanceUids.push_back(ec2InstanceUidsJsonList[ec2InstanceUidsIndex].AsString()); + } + m_ec2InstanceUidsHasBeenSet = true; + } + return *this; +} + +JsonValue EksCluster::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ClusterStatusMapper::GetNameForClusterStatus(m_status)); + } + + if(m_vpcIdHasBeenSet) + { + payload.WithString("vpcId", m_vpcId); + + } + + if(m_ec2InstanceUidsHasBeenSet) + { + Aws::Utils::Array ec2InstanceUidsJsonList(m_ec2InstanceUids.size()); + for(unsigned ec2InstanceUidsIndex = 0; ec2InstanceUidsIndex < ec2InstanceUidsJsonList.GetLength(); ++ec2InstanceUidsIndex) + { + ec2InstanceUidsJsonList[ec2InstanceUidsIndex].AsString(m_ec2InstanceUids[ec2InstanceUidsIndex]); + } + payload.WithArray("ec2InstanceUids", std::move(ec2InstanceUidsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp index b65d5b3fb35..836d9bb8476 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/FindingResourceType.cpp @@ -25,6 +25,9 @@ namespace Aws static const int S3_BUCKET_HASH = HashingUtils::HashString("S3_BUCKET"); static const int S3_OBJECT_HASH = HashingUtils::HashString("S3_OBJECT"); static const int ACCESS_KEY_HASH = HashingUtils::HashString("ACCESS_KEY"); + static const int EKS_CLUSTER_HASH = HashingUtils::HashString("EKS_CLUSTER"); + static const int KUBERNETES_WORKLOAD_HASH = HashingUtils::HashString("KUBERNETES_WORKLOAD"); + static const int CONTAINER_HASH = HashingUtils::HashString("CONTAINER"); FindingResourceType GetFindingResourceTypeForName(const Aws::String& name) @@ -50,6 +53,18 @@ namespace Aws { return FindingResourceType::ACCESS_KEY; } + else if (hashCode == EKS_CLUSTER_HASH) + { + return FindingResourceType::EKS_CLUSTER; + } + else if (hashCode == KUBERNETES_WORKLOAD_HASH) + { + return FindingResourceType::KUBERNETES_WORKLOAD; + } + else if (hashCode == CONTAINER_HASH) + { + return FindingResourceType::CONTAINER; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +91,12 @@ namespace Aws return "S3_OBJECT"; case FindingResourceType::ACCESS_KEY: return "ACCESS_KEY"; + case FindingResourceType::EKS_CLUSTER: + return "EKS_CLUSTER"; + case FindingResourceType::KUBERNETES_WORKLOAD: + return "KUBERNETES_WORKLOAD"; + case FindingResourceType::CONTAINER: + return "CONTAINER"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp index 237bc3d7044..82884a847f1 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/IndicatorType.cpp @@ -30,6 +30,12 @@ namespace Aws static const int UNUSUAL_API_FOR_ACCOUNT_HASH = HashingUtils::HashString("UNUSUAL_API_FOR_ACCOUNT"); static const int UNUSUAL_ASN_FOR_ACCOUNT_HASH = HashingUtils::HashString("UNUSUAL_ASN_FOR_ACCOUNT"); static const int UNUSUAL_ASN_FOR_USER_HASH = HashingUtils::HashString("UNUSUAL_ASN_FOR_USER"); + static const int SUSPICIOUS_PROCESS_HASH = HashingUtils::HashString("SUSPICIOUS_PROCESS"); + static const int MALICIOUS_DOMAIN_HASH = HashingUtils::HashString("MALICIOUS_DOMAIN"); + static const int MALICIOUS_PROCESS_HASH = HashingUtils::HashString("MALICIOUS_PROCESS"); + static const int CRYPTOMINING_IP_HASH = HashingUtils::HashString("CRYPTOMINING_IP"); + static const int CRYPTOMINING_DOMAIN_HASH = HashingUtils::HashString("CRYPTOMINING_DOMAIN"); + static const int CRYPTOMINING_PROCESS_HASH = HashingUtils::HashString("CRYPTOMINING_PROCESS"); IndicatorType GetIndicatorTypeForName(const Aws::String& name) @@ -75,6 +81,30 @@ namespace Aws { return IndicatorType::UNUSUAL_ASN_FOR_USER; } + else if (hashCode == SUSPICIOUS_PROCESS_HASH) + { + return IndicatorType::SUSPICIOUS_PROCESS; + } + else if (hashCode == MALICIOUS_DOMAIN_HASH) + { + return IndicatorType::MALICIOUS_DOMAIN; + } + else if (hashCode == MALICIOUS_PROCESS_HASH) + { + return IndicatorType::MALICIOUS_PROCESS; + } + else if (hashCode == CRYPTOMINING_IP_HASH) + { + return IndicatorType::CRYPTOMINING_IP; + } + else if (hashCode == CRYPTOMINING_DOMAIN_HASH) + { + return IndicatorType::CRYPTOMINING_DOMAIN; + } + else if (hashCode == CRYPTOMINING_PROCESS_HASH) + { + return IndicatorType::CRYPTOMINING_PROCESS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -111,6 +141,18 @@ namespace Aws return "UNUSUAL_ASN_FOR_ACCOUNT"; case IndicatorType::UNUSUAL_ASN_FOR_USER: return "UNUSUAL_ASN_FOR_USER"; + case IndicatorType::SUSPICIOUS_PROCESS: + return "SUSPICIOUS_PROCESS"; + case IndicatorType::MALICIOUS_DOMAIN: + return "MALICIOUS_DOMAIN"; + case IndicatorType::MALICIOUS_PROCESS: + return "MALICIOUS_PROCESS"; + case IndicatorType::CRYPTOMINING_IP: + return "CRYPTOMINING_IP"; + case IndicatorType::CRYPTOMINING_DOMAIN: + return "CRYPTOMINING_DOMAIN"; + case IndicatorType::CRYPTOMINING_PROCESS: + return "CRYPTOMINING_PROCESS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/KubernetesResourcesTypes.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/KubernetesResourcesTypes.cpp new file mode 100644 index 00000000000..90710006f32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/KubernetesResourcesTypes.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GuardDuty + { + namespace Model + { + namespace KubernetesResourcesTypesMapper + { + + static const int PODS_HASH = HashingUtils::HashString("PODS"); + static const int JOBS_HASH = HashingUtils::HashString("JOBS"); + static const int CRONJOBS_HASH = HashingUtils::HashString("CRONJOBS"); + static const int DEPLOYMENTS_HASH = HashingUtils::HashString("DEPLOYMENTS"); + static const int DAEMONSETS_HASH = HashingUtils::HashString("DAEMONSETS"); + static const int STATEFULSETS_HASH = HashingUtils::HashString("STATEFULSETS"); + static const int REPLICASETS_HASH = HashingUtils::HashString("REPLICASETS"); + static const int REPLICATIONCONTROLLERS_HASH = HashingUtils::HashString("REPLICATIONCONTROLLERS"); + + + KubernetesResourcesTypes GetKubernetesResourcesTypesForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PODS_HASH) + { + return KubernetesResourcesTypes::PODS; + } + else if (hashCode == JOBS_HASH) + { + return KubernetesResourcesTypes::JOBS; + } + else if (hashCode == CRONJOBS_HASH) + { + return KubernetesResourcesTypes::CRONJOBS; + } + else if (hashCode == DEPLOYMENTS_HASH) + { + return KubernetesResourcesTypes::DEPLOYMENTS; + } + else if (hashCode == DAEMONSETS_HASH) + { + return KubernetesResourcesTypes::DAEMONSETS; + } + else if (hashCode == STATEFULSETS_HASH) + { + return KubernetesResourcesTypes::STATEFULSETS; + } + else if (hashCode == REPLICASETS_HASH) + { + return KubernetesResourcesTypes::REPLICASETS; + } + else if (hashCode == REPLICATIONCONTROLLERS_HASH) + { + return KubernetesResourcesTypes::REPLICATIONCONTROLLERS; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return KubernetesResourcesTypes::NOT_SET; + } + + Aws::String GetNameForKubernetesResourcesTypes(KubernetesResourcesTypes enumValue) + { + switch(enumValue) + { + case KubernetesResourcesTypes::NOT_SET: + return {}; + case KubernetesResourcesTypes::PODS: + return "PODS"; + case KubernetesResourcesTypes::JOBS: + return "JOBS"; + case KubernetesResourcesTypes::CRONJOBS: + return "CRONJOBS"; + case KubernetesResourcesTypes::DEPLOYMENTS: + return "DEPLOYMENTS"; + case KubernetesResourcesTypes::DAEMONSETS: + return "DAEMONSETS"; + case KubernetesResourcesTypes::STATEFULSETS: + return "STATEFULSETS"; + case KubernetesResourcesTypes::REPLICASETS: + return "REPLICASETS"; + case KubernetesResourcesTypes::REPLICATIONCONTROLLERS: + return "REPLICATIONCONTROLLERS"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace KubernetesResourcesTypesMapper + } // namespace Model + } // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/KubernetesWorkload.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/KubernetesWorkload.cpp new file mode 100644 index 00000000000..3406ac24537 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/KubernetesWorkload.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GuardDuty +{ +namespace Model +{ + +KubernetesWorkload::KubernetesWorkload(JsonView jsonValue) +{ + *this = jsonValue; +} + +KubernetesWorkload& KubernetesWorkload::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("containerUids")) + { + Aws::Utils::Array containerUidsJsonList = jsonValue.GetArray("containerUids"); + for(unsigned containerUidsIndex = 0; containerUidsIndex < containerUidsJsonList.GetLength(); ++containerUidsIndex) + { + m_containerUids.push_back(containerUidsJsonList[containerUidsIndex].AsString()); + } + m_containerUidsHasBeenSet = true; + } + if(jsonValue.ValueExists("namespace")) + { + m_namespace = jsonValue.GetString("namespace"); + m_namespaceHasBeenSet = true; + } + if(jsonValue.ValueExists("kubernetesResourcesTypes")) + { + m_kubernetesResourcesTypes = KubernetesResourcesTypesMapper::GetKubernetesResourcesTypesForName(jsonValue.GetString("kubernetesResourcesTypes")); + m_kubernetesResourcesTypesHasBeenSet = true; + } + return *this; +} + +JsonValue KubernetesWorkload::Jsonize() const +{ + JsonValue payload; + + if(m_containerUidsHasBeenSet) + { + Aws::Utils::Array containerUidsJsonList(m_containerUids.size()); + for(unsigned containerUidsIndex = 0; containerUidsIndex < containerUidsJsonList.GetLength(); ++containerUidsIndex) + { + containerUidsJsonList[containerUidsIndex].AsString(m_containerUids[containerUidsIndex]); + } + payload.WithArray("containerUids", std::move(containerUidsJsonList)); + + } + + if(m_namespaceHasBeenSet) + { + payload.WithString("namespace", m_namespace); + + } + + if(m_kubernetesResourcesTypesHasBeenSet) + { + payload.WithString("kubernetesResourcesTypes", KubernetesResourcesTypesMapper::GetNameForKubernetesResourcesTypes(m_kubernetesResourcesTypes)); + } + + return payload; +} + +} // namespace Model +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp index fce0e2709f5..c9f914f5670 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/ResourceData.cpp @@ -50,6 +50,21 @@ ResourceData& ResourceData::operator =(JsonView jsonValue) m_s3Object = jsonValue.GetObject("s3Object"); m_s3ObjectHasBeenSet = true; } + if(jsonValue.ValueExists("eksCluster")) + { + m_eksCluster = jsonValue.GetObject("eksCluster"); + m_eksClusterHasBeenSet = true; + } + if(jsonValue.ValueExists("kubernetesWorkload")) + { + m_kubernetesWorkload = jsonValue.GetObject("kubernetesWorkload"); + m_kubernetesWorkloadHasBeenSet = true; + } + if(jsonValue.ValueExists("container")) + { + m_container = jsonValue.GetObject("container"); + m_containerHasBeenSet = true; + } return *this; } @@ -87,6 +102,24 @@ JsonValue ResourceData::Jsonize() const } + if(m_eksClusterHasBeenSet) + { + payload.WithObject("eksCluster", m_eksCluster.Jsonize()); + + } + + if(m_kubernetesWorkloadHasBeenSet) + { + payload.WithObject("kubernetesWorkload", m_kubernetesWorkload.Jsonize()); + + } + + if(m_containerHasBeenSet) + { + payload.WithObject("container", m_container.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp index 0101ed47d78..69a9f138372 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/Sequence.cpp @@ -80,6 +80,15 @@ Sequence& Sequence::operator =(JsonView jsonValue) } m_sequenceIndicatorsHasBeenSet = true; } + if(jsonValue.ValueExists("additionalSequenceTypes")) + { + Aws::Utils::Array additionalSequenceTypesJsonList = jsonValue.GetArray("additionalSequenceTypes"); + for(unsigned additionalSequenceTypesIndex = 0; additionalSequenceTypesIndex < additionalSequenceTypesJsonList.GetLength(); ++additionalSequenceTypesIndex) + { + m_additionalSequenceTypes.push_back(additionalSequenceTypesJsonList[additionalSequenceTypesIndex].AsString()); + } + m_additionalSequenceTypesHasBeenSet = true; + } return *this; } @@ -154,6 +163,17 @@ JsonValue Sequence::Jsonize() const } + if(m_additionalSequenceTypesHasBeenSet) + { + Aws::Utils::Array additionalSequenceTypesJsonList(m_additionalSequenceTypes.size()); + for(unsigned additionalSequenceTypesIndex = 0; additionalSequenceTypesIndex < additionalSequenceTypesJsonList.GetLength(); ++additionalSequenceTypesIndex) + { + additionalSequenceTypesJsonList[additionalSequenceTypesIndex].AsString(m_additionalSequenceTypes[additionalSequenceTypesIndex]); + } + payload.WithArray("additionalSequenceTypes", std::move(additionalSequenceTypesJsonList)); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp b/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp index ccbcccf8200..6e2bdfb8136 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/model/SignalType.cpp @@ -23,6 +23,10 @@ namespace Aws static const int FINDING_HASH = HashingUtils::HashString("FINDING"); static const int CLOUD_TRAIL_HASH = HashingUtils::HashString("CLOUD_TRAIL"); static const int S3_DATA_EVENTS_HASH = HashingUtils::HashString("S3_DATA_EVENTS"); + static const int EKS_AUDIT_LOGS_HASH = HashingUtils::HashString("EKS_AUDIT_LOGS"); + static const int FLOW_LOGS_HASH = HashingUtils::HashString("FLOW_LOGS"); + static const int DNS_LOGS_HASH = HashingUtils::HashString("DNS_LOGS"); + static const int RUNTIME_MONITORING_HASH = HashingUtils::HashString("RUNTIME_MONITORING"); SignalType GetSignalTypeForName(const Aws::String& name) @@ -40,6 +44,22 @@ namespace Aws { return SignalType::S3_DATA_EVENTS; } + else if (hashCode == EKS_AUDIT_LOGS_HASH) + { + return SignalType::EKS_AUDIT_LOGS; + } + else if (hashCode == FLOW_LOGS_HASH) + { + return SignalType::FLOW_LOGS; + } + else if (hashCode == DNS_LOGS_HASH) + { + return SignalType::DNS_LOGS; + } + else if (hashCode == RUNTIME_MONITORING_HASH) + { + return SignalType::RUNTIME_MONITORING; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +82,14 @@ namespace Aws return "CLOUD_TRAIL"; case SignalType::S3_DATA_EVENTS: return "S3_DATA_EVENTS"; + case SignalType::EKS_AUDIT_LOGS: + return "EKS_AUDIT_LOGS"; + case SignalType::FLOW_LOGS: + return "FLOW_LOGS"; + case SignalType::DNS_LOGS: + return "DNS_LOGS"; + case SignalType::RUNTIME_MONITORING: + return "RUNTIME_MONITORING"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h index 657d8646e56..d0b79e3db06 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h @@ -110,6 +110,58 @@ namespace Inspector2 return SubmitAsync(&Inspector2Client::AssociateMember, request, handler, context); } + /** + *

                              Associates multiple code repositories with an Amazon Inspector code security + * scan configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + virtual Model::BatchAssociateCodeSecurityScanConfigurationOutcome BatchAssociateCodeSecurityScanConfiguration(const Model::BatchAssociateCodeSecurityScanConfigurationRequest& request) const; + + /** + * A Callable wrapper for BatchAssociateCodeSecurityScanConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchAssociateCodeSecurityScanConfigurationOutcomeCallable BatchAssociateCodeSecurityScanConfigurationCallable(const BatchAssociateCodeSecurityScanConfigurationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::BatchAssociateCodeSecurityScanConfiguration, request); + } + + /** + * An Async wrapper for BatchAssociateCodeSecurityScanConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchAssociateCodeSecurityScanConfigurationAsync(const BatchAssociateCodeSecurityScanConfigurationRequestT& request, const BatchAssociateCodeSecurityScanConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::BatchAssociateCodeSecurityScanConfiguration, request, handler, context); + } + + /** + *

                              Disassociates multiple code repositories from an Amazon Inspector code + * security scan configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + virtual Model::BatchDisassociateCodeSecurityScanConfigurationOutcome BatchDisassociateCodeSecurityScanConfiguration(const Model::BatchDisassociateCodeSecurityScanConfigurationRequest& request) const; + + /** + * A Callable wrapper for BatchDisassociateCodeSecurityScanConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchDisassociateCodeSecurityScanConfigurationOutcomeCallable BatchDisassociateCodeSecurityScanConfigurationCallable(const BatchDisassociateCodeSecurityScanConfigurationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::BatchDisassociateCodeSecurityScanConfiguration, request); + } + + /** + * An Async wrapper for BatchDisassociateCodeSecurityScanConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchDisassociateCodeSecurityScanConfigurationAsync(const BatchDisassociateCodeSecurityScanConfigurationRequestT& request, const BatchDisassociateCodeSecurityScanConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::BatchDisassociateCodeSecurityScanConfiguration, request, handler, context); + } + /** *

                              Retrieves the Amazon Inspector status of multiple Amazon Web Services * accounts within your environment.

                              See Also:

                              Creates a code security integration with a source code repository + * provider.

                              After calling the CreateCodeSecurityIntegration + * operation, you complete authentication and authorization with your provider. + * Next you call the UpdateCodeSecurityIntegration operation to + * provide the details to complete the integration setup

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::CreateCodeSecurityIntegrationOutcome CreateCodeSecurityIntegration(const Model::CreateCodeSecurityIntegrationRequest& request) const; + + /** + * A Callable wrapper for CreateCodeSecurityIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateCodeSecurityIntegrationOutcomeCallable CreateCodeSecurityIntegrationCallable(const CreateCodeSecurityIntegrationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::CreateCodeSecurityIntegration, request); + } + + /** + * An Async wrapper for CreateCodeSecurityIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateCodeSecurityIntegrationAsync(const CreateCodeSecurityIntegrationRequestT& request, const CreateCodeSecurityIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::CreateCodeSecurityIntegration, request, handler, context); + } + + /** + *

                              Creates a scan configuration for code security scanning.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::CreateCodeSecurityScanConfigurationOutcome CreateCodeSecurityScanConfiguration(const Model::CreateCodeSecurityScanConfigurationRequest& request) const; + + /** + * A Callable wrapper for CreateCodeSecurityScanConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateCodeSecurityScanConfigurationOutcomeCallable CreateCodeSecurityScanConfigurationCallable(const CreateCodeSecurityScanConfigurationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::CreateCodeSecurityScanConfiguration, request); + } + + /** + * An Async wrapper for CreateCodeSecurityScanConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateCodeSecurityScanConfigurationAsync(const CreateCodeSecurityScanConfigurationRequestT& request, const CreateCodeSecurityScanConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::CreateCodeSecurityScanConfiguration, request, handler, context); + } + /** *

                              Creates a filter resource using specified filter criteria. When the filter * action is set to SUPPRESS this action creates a suppression @@ -451,6 +559,56 @@ namespace Inspector2 return SubmitAsync(&Inspector2Client::DeleteCisScanConfiguration, request, handler, context); } + /** + *

                              Deletes a code security integration.

                              See Also:

                              AWS + * API Reference

                              + */ + virtual Model::DeleteCodeSecurityIntegrationOutcome DeleteCodeSecurityIntegration(const Model::DeleteCodeSecurityIntegrationRequest& request) const; + + /** + * A Callable wrapper for DeleteCodeSecurityIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteCodeSecurityIntegrationOutcomeCallable DeleteCodeSecurityIntegrationCallable(const DeleteCodeSecurityIntegrationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::DeleteCodeSecurityIntegration, request); + } + + /** + * An Async wrapper for DeleteCodeSecurityIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteCodeSecurityIntegrationAsync(const DeleteCodeSecurityIntegrationRequestT& request, const DeleteCodeSecurityIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::DeleteCodeSecurityIntegration, request, handler, context); + } + + /** + *

                              Deletes a code security scan configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + virtual Model::DeleteCodeSecurityScanConfigurationOutcome DeleteCodeSecurityScanConfiguration(const Model::DeleteCodeSecurityScanConfigurationRequest& request) const; + + /** + * A Callable wrapper for DeleteCodeSecurityScanConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteCodeSecurityScanConfigurationOutcomeCallable DeleteCodeSecurityScanConfigurationCallable(const DeleteCodeSecurityScanConfigurationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::DeleteCodeSecurityScanConfiguration, request); + } + + /** + * An Async wrapper for DeleteCodeSecurityScanConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteCodeSecurityScanConfigurationAsync(const DeleteCodeSecurityScanConfigurationRequestT& request, const DeleteCodeSecurityScanConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::DeleteCodeSecurityScanConfiguration, request, handler, context); + } + /** *

                              Deletes a filter resource.

                              See Also:

                              AWS @@ -709,6 +867,84 @@ namespace Inspector2 return SubmitAsync(&Inspector2Client::GetClustersForImage, request, handler, context); } + /** + *

                              Retrieves information about a code security integration.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::GetCodeSecurityIntegrationOutcome GetCodeSecurityIntegration(const Model::GetCodeSecurityIntegrationRequest& request) const; + + /** + * A Callable wrapper for GetCodeSecurityIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetCodeSecurityIntegrationOutcomeCallable GetCodeSecurityIntegrationCallable(const GetCodeSecurityIntegrationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::GetCodeSecurityIntegration, request); + } + + /** + * An Async wrapper for GetCodeSecurityIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetCodeSecurityIntegrationAsync(const GetCodeSecurityIntegrationRequestT& request, const GetCodeSecurityIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::GetCodeSecurityIntegration, request, handler, context); + } + + /** + *

                              Retrieves information about a specific code security scan.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::GetCodeSecurityScanOutcome GetCodeSecurityScan(const Model::GetCodeSecurityScanRequest& request) const; + + /** + * A Callable wrapper for GetCodeSecurityScan that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetCodeSecurityScanOutcomeCallable GetCodeSecurityScanCallable(const GetCodeSecurityScanRequestT& request) const + { + return SubmitCallable(&Inspector2Client::GetCodeSecurityScan, request); + } + + /** + * An Async wrapper for GetCodeSecurityScan that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetCodeSecurityScanAsync(const GetCodeSecurityScanRequestT& request, const GetCodeSecurityScanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::GetCodeSecurityScan, request, handler, context); + } + + /** + *

                              Retrieves information about a code security scan configuration.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::GetCodeSecurityScanConfigurationOutcome GetCodeSecurityScanConfiguration(const Model::GetCodeSecurityScanConfigurationRequest& request) const; + + /** + * A Callable wrapper for GetCodeSecurityScanConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetCodeSecurityScanConfigurationOutcomeCallable GetCodeSecurityScanConfigurationCallable(const GetCodeSecurityScanConfigurationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::GetCodeSecurityScanConfiguration, request); + } + + /** + * An Async wrapper for GetCodeSecurityScanConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetCodeSecurityScanConfigurationAsync(const GetCodeSecurityScanConfigurationRequestT& request, const GetCodeSecurityScanConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::GetCodeSecurityScanConfiguration, request, handler, context); + } + /** *

                              Retrieves setting configurations for Inspector scans.

                              See * Also:

                              Lists all code security integrations in your account.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::ListCodeSecurityIntegrationsOutcome ListCodeSecurityIntegrations(const Model::ListCodeSecurityIntegrationsRequest& request = {}) const; + + /** + * A Callable wrapper for ListCodeSecurityIntegrations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListCodeSecurityIntegrationsOutcomeCallable ListCodeSecurityIntegrationsCallable(const ListCodeSecurityIntegrationsRequestT& request = {}) const + { + return SubmitCallable(&Inspector2Client::ListCodeSecurityIntegrations, request); + } + + /** + * An Async wrapper for ListCodeSecurityIntegrations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListCodeSecurityIntegrationsAsync(const ListCodeSecurityIntegrationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListCodeSecurityIntegrationsRequestT& request = {}) const + { + return SubmitAsync(&Inspector2Client::ListCodeSecurityIntegrations, request, handler, context); + } + + /** + *

                              Lists the associations between code repositories and Amazon Inspector code + * security scan configurations.

                              See Also:

                              AWS + * API Reference

                              + */ + virtual Model::ListCodeSecurityScanConfigurationAssociationsOutcome ListCodeSecurityScanConfigurationAssociations(const Model::ListCodeSecurityScanConfigurationAssociationsRequest& request) const; + + /** + * A Callable wrapper for ListCodeSecurityScanConfigurationAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListCodeSecurityScanConfigurationAssociationsOutcomeCallable ListCodeSecurityScanConfigurationAssociationsCallable(const ListCodeSecurityScanConfigurationAssociationsRequestT& request) const + { + return SubmitCallable(&Inspector2Client::ListCodeSecurityScanConfigurationAssociations, request); + } + + /** + * An Async wrapper for ListCodeSecurityScanConfigurationAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListCodeSecurityScanConfigurationAssociationsAsync(const ListCodeSecurityScanConfigurationAssociationsRequestT& request, const ListCodeSecurityScanConfigurationAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::ListCodeSecurityScanConfigurationAssociations, request, handler, context); + } + + /** + *

                              Lists all code security scan configurations in your account.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::ListCodeSecurityScanConfigurationsOutcome ListCodeSecurityScanConfigurations(const Model::ListCodeSecurityScanConfigurationsRequest& request = {}) const; + + /** + * A Callable wrapper for ListCodeSecurityScanConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListCodeSecurityScanConfigurationsOutcomeCallable ListCodeSecurityScanConfigurationsCallable(const ListCodeSecurityScanConfigurationsRequestT& request = {}) const + { + return SubmitCallable(&Inspector2Client::ListCodeSecurityScanConfigurations, request); + } + + /** + * An Async wrapper for ListCodeSecurityScanConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListCodeSecurityScanConfigurationsAsync(const ListCodeSecurityScanConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListCodeSecurityScanConfigurationsRequestT& request = {}) const + { + return SubmitAsync(&Inspector2Client::ListCodeSecurityScanConfigurations, request, handler, context); + } + /** *

                              Lists coverage details for your environment.

                              See Also:

                              AWS @@ -1381,6 +1695,32 @@ namespace Inspector2 return SubmitAsync(&Inspector2Client::StartCisSession, request, handler, context); } + /** + *

                              Initiates a code security scan on a specified repository.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::StartCodeSecurityScanOutcome StartCodeSecurityScan(const Model::StartCodeSecurityScanRequest& request) const; + + /** + * A Callable wrapper for StartCodeSecurityScan that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartCodeSecurityScanOutcomeCallable StartCodeSecurityScanCallable(const StartCodeSecurityScanRequestT& request) const + { + return SubmitCallable(&Inspector2Client::StartCodeSecurityScan, request); + } + + /** + * An Async wrapper for StartCodeSecurityScan that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartCodeSecurityScanAsync(const StartCodeSecurityScanRequestT& request, const StartCodeSecurityScanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::StartCodeSecurityScan, request, handler, context); + } + /** *

                              Stops a CIS session. This API is used by the Amazon Inspector SSM plugin to * communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin @@ -1484,6 +1824,62 @@ namespace Inspector2 return SubmitAsync(&Inspector2Client::UpdateCisScanConfiguration, request, handler, context); } + /** + *

                              Updates an existing code security integration.

                              After calling the + * CreateCodeSecurityIntegration operation, you complete + * authentication and authorization with your provider. Next you call the + * UpdateCodeSecurityIntegration operation to provide the + * details to complete the integration setup

                              See Also:

                              + * AWS + * API Reference

                              + */ + virtual Model::UpdateCodeSecurityIntegrationOutcome UpdateCodeSecurityIntegration(const Model::UpdateCodeSecurityIntegrationRequest& request) const; + + /** + * A Callable wrapper for UpdateCodeSecurityIntegration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateCodeSecurityIntegrationOutcomeCallable UpdateCodeSecurityIntegrationCallable(const UpdateCodeSecurityIntegrationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::UpdateCodeSecurityIntegration, request); + } + + /** + * An Async wrapper for UpdateCodeSecurityIntegration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateCodeSecurityIntegrationAsync(const UpdateCodeSecurityIntegrationRequestT& request, const UpdateCodeSecurityIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::UpdateCodeSecurityIntegration, request, handler, context); + } + + /** + *

                              Updates an existing code security scan configuration.

                              See + * Also:

                              AWS + * API Reference

                              + */ + virtual Model::UpdateCodeSecurityScanConfigurationOutcome UpdateCodeSecurityScanConfiguration(const Model::UpdateCodeSecurityScanConfigurationRequest& request) const; + + /** + * A Callable wrapper for UpdateCodeSecurityScanConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateCodeSecurityScanConfigurationOutcomeCallable UpdateCodeSecurityScanConfigurationCallable(const UpdateCodeSecurityScanConfigurationRequestT& request) const + { + return SubmitCallable(&Inspector2Client::UpdateCodeSecurityScanConfiguration, request); + } + + /** + * An Async wrapper for UpdateCodeSecurityScanConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateCodeSecurityScanConfigurationAsync(const UpdateCodeSecurityScanConfigurationRequestT& request, const UpdateCodeSecurityScanConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&Inspector2Client::UpdateCodeSecurityScanConfiguration, request, handler, context); + } + /** *

                              Updates setting configurations for your Amazon Inspector account. When you * use this API as an Amazon Inspector delegated administrator this updates the diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h index 7b25e91e1b2..f714009d687 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h @@ -19,6 +19,8 @@ /* Service model headers required in Inspector2Client header */ #include +#include +#include #include #include #include @@ -28,10 +30,14 @@ #include #include #include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -42,6 +48,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -54,6 +63,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -68,16 +80,20 @@ #include #include #include +#include #include #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include @@ -93,6 +109,7 @@ #include #include #include +#include #include #include #include @@ -139,6 +156,8 @@ namespace Aws { /* Service model forward declarations required in Inspector2Client header */ class AssociateMemberRequest; + class BatchAssociateCodeSecurityScanConfigurationRequest; + class BatchDisassociateCodeSecurityScanConfigurationRequest; class BatchGetAccountStatusRequest; class BatchGetCodeSnippetRequest; class BatchGetFindingDetailsRequest; @@ -148,10 +167,14 @@ namespace Aws class CancelFindingsReportRequest; class CancelSbomExportRequest; class CreateCisScanConfigurationRequest; + class CreateCodeSecurityIntegrationRequest; + class CreateCodeSecurityScanConfigurationRequest; class CreateFilterRequest; class CreateFindingsReportRequest; class CreateSbomExportRequest; class DeleteCisScanConfigurationRequest; + class DeleteCodeSecurityIntegrationRequest; + class DeleteCodeSecurityScanConfigurationRequest; class DeleteFilterRequest; class DescribeOrganizationConfigurationRequest; class DisableRequest; @@ -162,6 +185,9 @@ namespace Aws class GetCisScanReportRequest; class GetCisScanResultDetailsRequest; class GetClustersForImageRequest; + class GetCodeSecurityIntegrationRequest; + class GetCodeSecurityScanRequest; + class GetCodeSecurityScanConfigurationRequest; class GetConfigurationRequest; class GetDelegatedAdminAccountRequest; class GetEc2DeepInspectionConfigurationRequest; @@ -174,6 +200,9 @@ namespace Aws class ListCisScanResultsAggregatedByChecksRequest; class ListCisScanResultsAggregatedByTargetResourceRequest; class ListCisScansRequest; + class ListCodeSecurityIntegrationsRequest; + class ListCodeSecurityScanConfigurationAssociationsRequest; + class ListCodeSecurityScanConfigurationsRequest; class ListCoverageRequest; class ListCoverageStatisticsRequest; class ListDelegatedAdminAccountsRequest; @@ -188,10 +217,13 @@ namespace Aws class SendCisSessionHealthRequest; class SendCisSessionTelemetryRequest; class StartCisSessionRequest; + class StartCodeSecurityScanRequest; class StopCisSessionRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateCisScanConfigurationRequest; + class UpdateCodeSecurityIntegrationRequest; + class UpdateCodeSecurityScanConfigurationRequest; class UpdateConfigurationRequest; class UpdateEc2DeepInspectionConfigurationRequest; class UpdateEncryptionKeyRequest; @@ -202,6 +234,8 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome AssociateMemberOutcome; + typedef Aws::Utils::Outcome BatchAssociateCodeSecurityScanConfigurationOutcome; + typedef Aws::Utils::Outcome BatchDisassociateCodeSecurityScanConfigurationOutcome; typedef Aws::Utils::Outcome BatchGetAccountStatusOutcome; typedef Aws::Utils::Outcome BatchGetCodeSnippetOutcome; typedef Aws::Utils::Outcome BatchGetFindingDetailsOutcome; @@ -211,10 +245,14 @@ namespace Aws typedef Aws::Utils::Outcome CancelFindingsReportOutcome; typedef Aws::Utils::Outcome CancelSbomExportOutcome; typedef Aws::Utils::Outcome CreateCisScanConfigurationOutcome; + typedef Aws::Utils::Outcome CreateCodeSecurityIntegrationOutcome; + typedef Aws::Utils::Outcome CreateCodeSecurityScanConfigurationOutcome; typedef Aws::Utils::Outcome CreateFilterOutcome; typedef Aws::Utils::Outcome CreateFindingsReportOutcome; typedef Aws::Utils::Outcome CreateSbomExportOutcome; typedef Aws::Utils::Outcome DeleteCisScanConfigurationOutcome; + typedef Aws::Utils::Outcome DeleteCodeSecurityIntegrationOutcome; + typedef Aws::Utils::Outcome DeleteCodeSecurityScanConfigurationOutcome; typedef Aws::Utils::Outcome DeleteFilterOutcome; typedef Aws::Utils::Outcome DescribeOrganizationConfigurationOutcome; typedef Aws::Utils::Outcome DisableOutcome; @@ -225,6 +263,9 @@ namespace Aws typedef Aws::Utils::Outcome GetCisScanReportOutcome; typedef Aws::Utils::Outcome GetCisScanResultDetailsOutcome; typedef Aws::Utils::Outcome GetClustersForImageOutcome; + typedef Aws::Utils::Outcome GetCodeSecurityIntegrationOutcome; + typedef Aws::Utils::Outcome GetCodeSecurityScanOutcome; + typedef Aws::Utils::Outcome GetCodeSecurityScanConfigurationOutcome; typedef Aws::Utils::Outcome GetConfigurationOutcome; typedef Aws::Utils::Outcome GetDelegatedAdminAccountOutcome; typedef Aws::Utils::Outcome GetEc2DeepInspectionConfigurationOutcome; @@ -237,6 +278,9 @@ namespace Aws typedef Aws::Utils::Outcome ListCisScanResultsAggregatedByChecksOutcome; typedef Aws::Utils::Outcome ListCisScanResultsAggregatedByTargetResourceOutcome; typedef Aws::Utils::Outcome ListCisScansOutcome; + typedef Aws::Utils::Outcome ListCodeSecurityIntegrationsOutcome; + typedef Aws::Utils::Outcome ListCodeSecurityScanConfigurationAssociationsOutcome; + typedef Aws::Utils::Outcome ListCodeSecurityScanConfigurationsOutcome; typedef Aws::Utils::Outcome ListCoverageOutcome; typedef Aws::Utils::Outcome ListCoverageStatisticsOutcome; typedef Aws::Utils::Outcome ListDelegatedAdminAccountsOutcome; @@ -251,10 +295,13 @@ namespace Aws typedef Aws::Utils::Outcome SendCisSessionHealthOutcome; typedef Aws::Utils::Outcome SendCisSessionTelemetryOutcome; typedef Aws::Utils::Outcome StartCisSessionOutcome; + typedef Aws::Utils::Outcome StartCodeSecurityScanOutcome; typedef Aws::Utils::Outcome StopCisSessionOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateCisScanConfigurationOutcome; + typedef Aws::Utils::Outcome UpdateCodeSecurityIntegrationOutcome; + typedef Aws::Utils::Outcome UpdateCodeSecurityScanConfigurationOutcome; typedef Aws::Utils::Outcome UpdateConfigurationOutcome; typedef Aws::Utils::Outcome UpdateEc2DeepInspectionConfigurationOutcome; typedef Aws::Utils::Outcome UpdateEncryptionKeyOutcome; @@ -265,6 +312,8 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future AssociateMemberOutcomeCallable; + typedef std::future BatchAssociateCodeSecurityScanConfigurationOutcomeCallable; + typedef std::future BatchDisassociateCodeSecurityScanConfigurationOutcomeCallable; typedef std::future BatchGetAccountStatusOutcomeCallable; typedef std::future BatchGetCodeSnippetOutcomeCallable; typedef std::future BatchGetFindingDetailsOutcomeCallable; @@ -274,10 +323,14 @@ namespace Aws typedef std::future CancelFindingsReportOutcomeCallable; typedef std::future CancelSbomExportOutcomeCallable; typedef std::future CreateCisScanConfigurationOutcomeCallable; + typedef std::future CreateCodeSecurityIntegrationOutcomeCallable; + typedef std::future CreateCodeSecurityScanConfigurationOutcomeCallable; typedef std::future CreateFilterOutcomeCallable; typedef std::future CreateFindingsReportOutcomeCallable; typedef std::future CreateSbomExportOutcomeCallable; typedef std::future DeleteCisScanConfigurationOutcomeCallable; + typedef std::future DeleteCodeSecurityIntegrationOutcomeCallable; + typedef std::future DeleteCodeSecurityScanConfigurationOutcomeCallable; typedef std::future DeleteFilterOutcomeCallable; typedef std::future DescribeOrganizationConfigurationOutcomeCallable; typedef std::future DisableOutcomeCallable; @@ -288,6 +341,9 @@ namespace Aws typedef std::future GetCisScanReportOutcomeCallable; typedef std::future GetCisScanResultDetailsOutcomeCallable; typedef std::future GetClustersForImageOutcomeCallable; + typedef std::future GetCodeSecurityIntegrationOutcomeCallable; + typedef std::future GetCodeSecurityScanOutcomeCallable; + typedef std::future GetCodeSecurityScanConfigurationOutcomeCallable; typedef std::future GetConfigurationOutcomeCallable; typedef std::future GetDelegatedAdminAccountOutcomeCallable; typedef std::future GetEc2DeepInspectionConfigurationOutcomeCallable; @@ -300,6 +356,9 @@ namespace Aws typedef std::future ListCisScanResultsAggregatedByChecksOutcomeCallable; typedef std::future ListCisScanResultsAggregatedByTargetResourceOutcomeCallable; typedef std::future ListCisScansOutcomeCallable; + typedef std::future ListCodeSecurityIntegrationsOutcomeCallable; + typedef std::future ListCodeSecurityScanConfigurationAssociationsOutcomeCallable; + typedef std::future ListCodeSecurityScanConfigurationsOutcomeCallable; typedef std::future ListCoverageOutcomeCallable; typedef std::future ListCoverageStatisticsOutcomeCallable; typedef std::future ListDelegatedAdminAccountsOutcomeCallable; @@ -314,10 +373,13 @@ namespace Aws typedef std::future SendCisSessionHealthOutcomeCallable; typedef std::future SendCisSessionTelemetryOutcomeCallable; typedef std::future StartCisSessionOutcomeCallable; + typedef std::future StartCodeSecurityScanOutcomeCallable; typedef std::future StopCisSessionOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateCisScanConfigurationOutcomeCallable; + typedef std::future UpdateCodeSecurityIntegrationOutcomeCallable; + typedef std::future UpdateCodeSecurityScanConfigurationOutcomeCallable; typedef std::future UpdateConfigurationOutcomeCallable; typedef std::future UpdateEc2DeepInspectionConfigurationOutcomeCallable; typedef std::future UpdateEncryptionKeyOutcomeCallable; @@ -331,6 +393,8 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > AssociateMemberResponseReceivedHandler; + typedef std::function&) > BatchAssociateCodeSecurityScanConfigurationResponseReceivedHandler; + typedef std::function&) > BatchDisassociateCodeSecurityScanConfigurationResponseReceivedHandler; typedef std::function&) > BatchGetAccountStatusResponseReceivedHandler; typedef std::function&) > BatchGetCodeSnippetResponseReceivedHandler; typedef std::function&) > BatchGetFindingDetailsResponseReceivedHandler; @@ -340,10 +404,14 @@ namespace Aws typedef std::function&) > CancelFindingsReportResponseReceivedHandler; typedef std::function&) > CancelSbomExportResponseReceivedHandler; typedef std::function&) > CreateCisScanConfigurationResponseReceivedHandler; + typedef std::function&) > CreateCodeSecurityIntegrationResponseReceivedHandler; + typedef std::function&) > CreateCodeSecurityScanConfigurationResponseReceivedHandler; typedef std::function&) > CreateFilterResponseReceivedHandler; typedef std::function&) > CreateFindingsReportResponseReceivedHandler; typedef std::function&) > CreateSbomExportResponseReceivedHandler; typedef std::function&) > DeleteCisScanConfigurationResponseReceivedHandler; + typedef std::function&) > DeleteCodeSecurityIntegrationResponseReceivedHandler; + typedef std::function&) > DeleteCodeSecurityScanConfigurationResponseReceivedHandler; typedef std::function&) > DeleteFilterResponseReceivedHandler; typedef std::function&) > DescribeOrganizationConfigurationResponseReceivedHandler; typedef std::function&) > DisableResponseReceivedHandler; @@ -354,6 +422,9 @@ namespace Aws typedef std::function&) > GetCisScanReportResponseReceivedHandler; typedef std::function&) > GetCisScanResultDetailsResponseReceivedHandler; typedef std::function&) > GetClustersForImageResponseReceivedHandler; + typedef std::function&) > GetCodeSecurityIntegrationResponseReceivedHandler; + typedef std::function&) > GetCodeSecurityScanResponseReceivedHandler; + typedef std::function&) > GetCodeSecurityScanConfigurationResponseReceivedHandler; typedef std::function&) > GetConfigurationResponseReceivedHandler; typedef std::function&) > GetDelegatedAdminAccountResponseReceivedHandler; typedef std::function&) > GetEc2DeepInspectionConfigurationResponseReceivedHandler; @@ -366,6 +437,9 @@ namespace Aws typedef std::function&) > ListCisScanResultsAggregatedByChecksResponseReceivedHandler; typedef std::function&) > ListCisScanResultsAggregatedByTargetResourceResponseReceivedHandler; typedef std::function&) > ListCisScansResponseReceivedHandler; + typedef std::function&) > ListCodeSecurityIntegrationsResponseReceivedHandler; + typedef std::function&) > ListCodeSecurityScanConfigurationAssociationsResponseReceivedHandler; + typedef std::function&) > ListCodeSecurityScanConfigurationsResponseReceivedHandler; typedef std::function&) > ListCoverageResponseReceivedHandler; typedef std::function&) > ListCoverageStatisticsResponseReceivedHandler; typedef std::function&) > ListDelegatedAdminAccountsResponseReceivedHandler; @@ -380,10 +454,13 @@ namespace Aws typedef std::function&) > SendCisSessionHealthResponseReceivedHandler; typedef std::function&) > SendCisSessionTelemetryResponseReceivedHandler; typedef std::function&) > StartCisSessionResponseReceivedHandler; + typedef std::function&) > StartCodeSecurityScanResponseReceivedHandler; typedef std::function&) > StopCisSessionResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateCisScanConfigurationResponseReceivedHandler; + typedef std::function&) > UpdateCodeSecurityIntegrationResponseReceivedHandler; + typedef std::function&) > UpdateCodeSecurityScanConfigurationResponseReceivedHandler; typedef std::function&) > UpdateConfigurationResponseReceivedHandler; typedef std::function&) > UpdateEc2DeepInspectionConfigurationResponseReceivedHandler; typedef std::function&) > UpdateEncryptionKeyResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationRequest.h index 75163aaf088..f05834c0d79 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationRequest.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -86,6 +87,19 @@ namespace Model AggregationRequest& WithAwsEcrContainerAggregation(AwsEcrContainerAggregationT&& value) { SetAwsEcrContainerAggregation(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              An object that contains details about an aggregation request based on code + * repositories.

                              + */ + inline const CodeRepositoryAggregation& GetCodeRepositoryAggregation() const { return m_codeRepositoryAggregation; } + inline bool CodeRepositoryAggregationHasBeenSet() const { return m_codeRepositoryAggregationHasBeenSet; } + template + void SetCodeRepositoryAggregation(CodeRepositoryAggregationT&& value) { m_codeRepositoryAggregationHasBeenSet = true; m_codeRepositoryAggregation = std::forward(value); } + template + AggregationRequest& WithCodeRepositoryAggregation(CodeRepositoryAggregationT&& value) { SetCodeRepositoryAggregation(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                              An object that contains details about an aggregation request based on Amazon @@ -200,6 +214,9 @@ namespace Model AwsEcrContainerAggregation m_awsEcrContainerAggregation; bool m_awsEcrContainerAggregationHasBeenSet = false; + CodeRepositoryAggregation m_codeRepositoryAggregation; + bool m_codeRepositoryAggregationHasBeenSet = false; + Ec2InstanceAggregation m_ec2InstanceAggregation; bool m_ec2InstanceAggregationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationResponse.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationResponse.h index 16e7d059db8..05cd4f35dae 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationResponse.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationResponse.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -87,6 +88,19 @@ namespace Model AggregationResponse& WithAwsEcrContainerAggregation(AwsEcrContainerAggregationT&& value) { SetAwsEcrContainerAggregation(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              An object that contains details about an aggregation response based on code + * repositories.

                              + */ + inline const CodeRepositoryAggregationResponse& GetCodeRepositoryAggregation() const { return m_codeRepositoryAggregation; } + inline bool CodeRepositoryAggregationHasBeenSet() const { return m_codeRepositoryAggregationHasBeenSet; } + template + void SetCodeRepositoryAggregation(CodeRepositoryAggregationT&& value) { m_codeRepositoryAggregationHasBeenSet = true; m_codeRepositoryAggregation = std::forward(value); } + template + AggregationResponse& WithCodeRepositoryAggregation(CodeRepositoryAggregationT&& value) { SetCodeRepositoryAggregation(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                              An object that contains details about an aggregation response based on Amazon @@ -199,6 +213,9 @@ namespace Model AwsEcrContainerAggregationResponse m_awsEcrContainerAggregation; bool m_awsEcrContainerAggregationHasBeenSet = false; + CodeRepositoryAggregationResponse m_codeRepositoryAggregation; + bool m_codeRepositoryAggregationHasBeenSet = false; + Ec2InstanceAggregationResponse m_ec2InstanceAggregation; bool m_ec2InstanceAggregationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationType.h index 8a7989c175a..d52cc849bce 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationType.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AggregationType.h @@ -26,7 +26,8 @@ namespace Model IMAGE_LAYER, ACCOUNT, AWS_LAMBDA_FUNCTION, - LAMBDA_LAYER + LAMBDA_LAYER, + CODE_REPOSITORY }; namespace AggregationTypeMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AssociateConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AssociateConfigurationRequest.h new file mode 100644 index 00000000000..b6e8652d1de --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AssociateConfigurationRequest.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details about a request to associate a code repository with a scan + * configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + class AssociateConfigurationRequest + { + public: + AWS_INSPECTOR2_API AssociateConfigurationRequest() = default; + AWS_INSPECTOR2_API AssociateConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API AssociateConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + AssociateConfigurationRequest& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + AssociateConfigurationRequest& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AssociationResultStatusCode.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AssociationResultStatusCode.h new file mode 100644 index 00000000000..e636d8336e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AssociationResultStatusCode.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + enum class AssociationResultStatusCode + { + NOT_SET, + INTERNAL_ERROR, + ACCESS_DENIED, + SCAN_CONFIGURATION_NOT_FOUND, + INVALID_INPUT, + RESOURCE_NOT_FOUND, + QUOTA_EXCEEDED + }; + +namespace AssociationResultStatusCodeMapper +{ +AWS_INSPECTOR2_API AssociationResultStatusCode GetAssociationResultStatusCodeForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForAssociationResultStatusCode(AssociationResultStatusCode value); +} // namespace AssociationResultStatusCodeMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AutoEnable.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AutoEnable.h index ce49fa6f22a..8457d68083a 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AutoEnable.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/AutoEnable.h @@ -36,6 +36,17 @@ namespace Model AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

                              Represents whether code repository scans are automatically enabled for new + * members of your Amazon Inspector organization.

                              + */ + inline bool GetCodeRepository() const { return m_codeRepository; } + inline bool CodeRepositoryHasBeenSet() const { return m_codeRepositoryHasBeenSet; } + inline void SetCodeRepository(bool value) { m_codeRepositoryHasBeenSet = true; m_codeRepository = value; } + inline AutoEnable& WithCodeRepository(bool value) { SetCodeRepository(value); return *this;} + ///@} + ///@{ /** *

                              Represents whether Amazon EC2 scans are automatically enabled for new members @@ -73,8 +84,7 @@ namespace Model ///@{ /** *

                              Represents whether Lambda code scans are automatically enabled for new - * members of your Amazon Inspector organization.

                               </p>
                              -     * 
                              + * members of your Amazon Inspector organization.

                              */ inline bool GetLambdaCode() const { return m_lambdaCode; } inline bool LambdaCodeHasBeenSet() const { return m_lambdaCodeHasBeenSet; } @@ -83,6 +93,9 @@ namespace Model ///@} private: + bool m_codeRepository{false}; + bool m_codeRepositoryHasBeenSet = false; + bool m_ec2{false}; bool m_ec2HasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchAssociateCodeSecurityScanConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchAssociateCodeSecurityScanConfigurationRequest.h new file mode 100644 index 00000000000..16699a6837c --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchAssociateCodeSecurityScanConfigurationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class BatchAssociateCodeSecurityScanConfigurationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API BatchAssociateCodeSecurityScanConfigurationRequest() = default; + + // 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 "BatchAssociateCodeSecurityScanConfiguration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              A list of code repositories to associate with the specified scan + * configuration.

                              + */ + inline const Aws::Vector& GetAssociateConfigurationRequests() const { return m_associateConfigurationRequests; } + inline bool AssociateConfigurationRequestsHasBeenSet() const { return m_associateConfigurationRequestsHasBeenSet; } + template> + void SetAssociateConfigurationRequests(AssociateConfigurationRequestsT&& value) { m_associateConfigurationRequestsHasBeenSet = true; m_associateConfigurationRequests = std::forward(value); } + template> + BatchAssociateCodeSecurityScanConfigurationRequest& WithAssociateConfigurationRequests(AssociateConfigurationRequestsT&& value) { SetAssociateConfigurationRequests(std::forward(value)); return *this;} + template + BatchAssociateCodeSecurityScanConfigurationRequest& AddAssociateConfigurationRequests(AssociateConfigurationRequestsT&& value) { m_associateConfigurationRequestsHasBeenSet = true; m_associateConfigurationRequests.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_associateConfigurationRequests; + bool m_associateConfigurationRequestsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchAssociateCodeSecurityScanConfigurationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchAssociateCodeSecurityScanConfigurationResult.h new file mode 100644 index 00000000000..4f6473fdda8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchAssociateCodeSecurityScanConfigurationResult.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class BatchAssociateCodeSecurityScanConfigurationResult + { + public: + AWS_INSPECTOR2_API BatchAssociateCodeSecurityScanConfigurationResult() = default; + AWS_INSPECTOR2_API BatchAssociateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API BatchAssociateCodeSecurityScanConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              Details of any code repositories that failed to be associated with the scan + * configuration.

                              + */ + inline const Aws::Vector& GetFailedAssociations() const { return m_failedAssociations; } + template> + void SetFailedAssociations(FailedAssociationsT&& value) { m_failedAssociationsHasBeenSet = true; m_failedAssociations = std::forward(value); } + template> + BatchAssociateCodeSecurityScanConfigurationResult& WithFailedAssociations(FailedAssociationsT&& value) { SetFailedAssociations(std::forward(value)); return *this;} + template + BatchAssociateCodeSecurityScanConfigurationResult& AddFailedAssociations(FailedAssociationsT&& value) { m_failedAssociationsHasBeenSet = true; m_failedAssociations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Details of code repositories that were successfully associated with the scan + * configuration.

                              + */ + inline const Aws::Vector& GetSuccessfulAssociations() const { return m_successfulAssociations; } + template> + void SetSuccessfulAssociations(SuccessfulAssociationsT&& value) { m_successfulAssociationsHasBeenSet = true; m_successfulAssociations = std::forward(value); } + template> + BatchAssociateCodeSecurityScanConfigurationResult& WithSuccessfulAssociations(SuccessfulAssociationsT&& value) { SetSuccessfulAssociations(std::forward(value)); return *this;} + template + BatchAssociateCodeSecurityScanConfigurationResult& AddSuccessfulAssociations(SuccessfulAssociationsT&& value) { m_successfulAssociationsHasBeenSet = true; m_successfulAssociations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + BatchAssociateCodeSecurityScanConfigurationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_failedAssociations; + bool m_failedAssociationsHasBeenSet = false; + + Aws::Vector m_successfulAssociations; + bool m_successfulAssociationsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchDisassociateCodeSecurityScanConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchDisassociateCodeSecurityScanConfigurationRequest.h new file mode 100644 index 00000000000..2296cc786cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchDisassociateCodeSecurityScanConfigurationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class BatchDisassociateCodeSecurityScanConfigurationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API BatchDisassociateCodeSecurityScanConfigurationRequest() = default; + + // 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 "BatchDisassociateCodeSecurityScanConfiguration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              A list of code repositories to disassociate from the specified scan + * configuration.

                              + */ + inline const Aws::Vector& GetDisassociateConfigurationRequests() const { return m_disassociateConfigurationRequests; } + inline bool DisassociateConfigurationRequestsHasBeenSet() const { return m_disassociateConfigurationRequestsHasBeenSet; } + template> + void SetDisassociateConfigurationRequests(DisassociateConfigurationRequestsT&& value) { m_disassociateConfigurationRequestsHasBeenSet = true; m_disassociateConfigurationRequests = std::forward(value); } + template> + BatchDisassociateCodeSecurityScanConfigurationRequest& WithDisassociateConfigurationRequests(DisassociateConfigurationRequestsT&& value) { SetDisassociateConfigurationRequests(std::forward(value)); return *this;} + template + BatchDisassociateCodeSecurityScanConfigurationRequest& AddDisassociateConfigurationRequests(DisassociateConfigurationRequestsT&& value) { m_disassociateConfigurationRequestsHasBeenSet = true; m_disassociateConfigurationRequests.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_disassociateConfigurationRequests; + bool m_disassociateConfigurationRequestsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchDisassociateCodeSecurityScanConfigurationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchDisassociateCodeSecurityScanConfigurationResult.h new file mode 100644 index 00000000000..9b4802461e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchDisassociateCodeSecurityScanConfigurationResult.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class BatchDisassociateCodeSecurityScanConfigurationResult + { + public: + AWS_INSPECTOR2_API BatchDisassociateCodeSecurityScanConfigurationResult() = default; + AWS_INSPECTOR2_API BatchDisassociateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API BatchDisassociateCodeSecurityScanConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              Details of any code repositories that failed to be disassociated from the + * scan configuration.

                              + */ + inline const Aws::Vector& GetFailedAssociations() const { return m_failedAssociations; } + template> + void SetFailedAssociations(FailedAssociationsT&& value) { m_failedAssociationsHasBeenSet = true; m_failedAssociations = std::forward(value); } + template> + BatchDisassociateCodeSecurityScanConfigurationResult& WithFailedAssociations(FailedAssociationsT&& value) { SetFailedAssociations(std::forward(value)); return *this;} + template + BatchDisassociateCodeSecurityScanConfigurationResult& AddFailedAssociations(FailedAssociationsT&& value) { m_failedAssociationsHasBeenSet = true; m_failedAssociations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Details of code repositories that were successfully disassociated from the + * scan configuration.

                              + */ + inline const Aws::Vector& GetSuccessfulAssociations() const { return m_successfulAssociations; } + template> + void SetSuccessfulAssociations(SuccessfulAssociationsT&& value) { m_successfulAssociationsHasBeenSet = true; m_successfulAssociations = std::forward(value); } + template> + BatchDisassociateCodeSecurityScanConfigurationResult& WithSuccessfulAssociations(SuccessfulAssociationsT&& value) { SetSuccessfulAssociations(std::forward(value)); return *this;} + template + BatchDisassociateCodeSecurityScanConfigurationResult& AddSuccessfulAssociations(SuccessfulAssociationsT&& value) { m_successfulAssociationsHasBeenSet = true; m_successfulAssociations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + BatchDisassociateCodeSecurityScanConfigurationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_failedAssociations; + bool m_failedAssociationsHasBeenSet = false; + + Aws::Vector m_successfulAssociations; + bool m_successfulAssociationsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusRequest.h index 6ea2787c476..4487e7c5372 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusRequest.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusRequest.h @@ -36,8 +36,7 @@ namespace Model ///@{ /** *

                              The unique identifiers for the Amazon Web Services accounts to retrieve - * Amazon Inspector deep inspection activation status for.

                               </p>
                              -     * 
                              + * Amazon Inspector deep inspection activation status for.

                              */ inline const Aws::Vector& GetAccountIds() const { return m_accountIds; } inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusResult.h index 1d26325babf..c72ebe19d3a 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusResult.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/BatchGetMemberEc2DeepInspectionStatusResult.h @@ -38,8 +38,7 @@ namespace Model ///@{ /** *

                              An array of objects that provide details on the activation status of Amazon - * Inspector deep inspection for each of the requested accounts.

                              
                              -     * </p> 
                              + * Inspector deep inspection for each of the requested accounts.

                              */ inline const Aws::Vector& GetAccountIds() const { return m_accountIds; } template> @@ -53,8 +52,7 @@ namespace Model ///@{ /** *

                              An array of objects that provide details on any accounts that failed to - * activate Amazon Inspector deep inspection and why.

                               </p>
                              -     * 
                              + * activate Amazon Inspector deep inspection and why.

                              */ inline const Aws::Vector& GetFailedAccountIds() const { return m_failedAccountIds; } template> diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryAggregation.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryAggregation.h new file mode 100644 index 00000000000..0ecf2747ee2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryAggregation.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              The details that define an aggregation based on code + * repositories.

                              See Also:

                              AWS + * API Reference

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

                              The project names to include in the aggregation results.

                              + */ + inline const Aws::Vector& GetProjectNames() const { return m_projectNames; } + inline bool ProjectNamesHasBeenSet() const { return m_projectNamesHasBeenSet; } + template> + void SetProjectNames(ProjectNamesT&& value) { m_projectNamesHasBeenSet = true; m_projectNames = std::forward(value); } + template> + CodeRepositoryAggregation& WithProjectNames(ProjectNamesT&& value) { SetProjectNames(std::forward(value)); return *this;} + template + CodeRepositoryAggregation& AddProjectNames(ProjectNamesT&& value) { m_projectNamesHasBeenSet = true; m_projectNames.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The repository provider types to include in the aggregation results.

                              + */ + inline const Aws::Vector& GetProviderTypes() const { return m_providerTypes; } + inline bool ProviderTypesHasBeenSet() const { return m_providerTypesHasBeenSet; } + template> + void SetProviderTypes(ProviderTypesT&& value) { m_providerTypesHasBeenSet = true; m_providerTypes = std::forward(value); } + template> + CodeRepositoryAggregation& WithProviderTypes(ProviderTypesT&& value) { SetProviderTypes(std::forward(value)); return *this;} + template + CodeRepositoryAggregation& AddProviderTypes(ProviderTypesT&& value) { m_providerTypesHasBeenSet = true; m_providerTypes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The resource IDs to include in the aggregation results.

                              + */ + inline const Aws::Vector& GetResourceIds() const { return m_resourceIds; } + inline bool ResourceIdsHasBeenSet() const { return m_resourceIdsHasBeenSet; } + template> + void SetResourceIds(ResourceIdsT&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds = std::forward(value); } + template> + CodeRepositoryAggregation& WithResourceIds(ResourceIdsT&& value) { SetResourceIds(std::forward(value)); return *this;} + template + CodeRepositoryAggregation& AddResourceIds(ResourceIdsT&& value) { m_resourceIdsHasBeenSet = true; m_resourceIds.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The value to sort results by in the code repository aggregation.

                              + */ + inline CodeRepositorySortBy GetSortBy() const { return m_sortBy; } + inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } + inline void SetSortBy(CodeRepositorySortBy value) { m_sortByHasBeenSet = true; m_sortBy = value; } + inline CodeRepositoryAggregation& WithSortBy(CodeRepositorySortBy value) { SetSortBy(value); return *this;} + ///@} + + ///@{ + /** + *

                              The order to sort results by (ascending or descending) in the code repository + * aggregation.

                              + */ + inline SortOrder GetSortOrder() const { return m_sortOrder; } + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + inline void SetSortOrder(SortOrder value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + inline CodeRepositoryAggregation& WithSortOrder(SortOrder value) { SetSortOrder(value); return *this;} + ///@} + private: + + Aws::Vector m_projectNames; + bool m_projectNamesHasBeenSet = false; + + Aws::Vector m_providerTypes; + bool m_providerTypesHasBeenSet = false; + + Aws::Vector m_resourceIds; + bool m_resourceIdsHasBeenSet = false; + + CodeRepositorySortBy m_sortBy{CodeRepositorySortBy::NOT_SET}; + bool m_sortByHasBeenSet = false; + + SortOrder m_sortOrder{SortOrder::NOT_SET}; + bool m_sortOrderHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryAggregationResponse.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryAggregationResponse.h new file mode 100644 index 00000000000..c4aaaa2a48e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryAggregationResponse.h @@ -0,0 +1,147 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + + /** + *

                              A response that contains the results of a finding aggregation by code + * repository.

                              See Also:

                              AWS + * API Reference

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

                              The Amazon Web Services account ID associated with the code repository.

                              + */ + inline const Aws::String& GetAccountId() const { return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + template + void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward(value); } + template + CodeRepositoryAggregationResponse& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The number of active findings that have an exploit available for the code + * repository.

                              + */ + inline long long GetExploitAvailableActiveFindingsCount() const { return m_exploitAvailableActiveFindingsCount; } + inline bool ExploitAvailableActiveFindingsCountHasBeenSet() const { return m_exploitAvailableActiveFindingsCountHasBeenSet; } + inline void SetExploitAvailableActiveFindingsCount(long long value) { m_exploitAvailableActiveFindingsCountHasBeenSet = true; m_exploitAvailableActiveFindingsCount = value; } + inline CodeRepositoryAggregationResponse& WithExploitAvailableActiveFindingsCount(long long value) { SetExploitAvailableActiveFindingsCount(value); return *this;} + ///@} + + ///@{ + /** + *

                              The number of active findings that have a fix available for the code + * repository.

                              + */ + inline long long GetFixAvailableActiveFindingsCount() const { return m_fixAvailableActiveFindingsCount; } + inline bool FixAvailableActiveFindingsCountHasBeenSet() const { return m_fixAvailableActiveFindingsCountHasBeenSet; } + inline void SetFixAvailableActiveFindingsCount(long long value) { m_fixAvailableActiveFindingsCountHasBeenSet = true; m_fixAvailableActiveFindingsCount = value; } + inline CodeRepositoryAggregationResponse& WithFixAvailableActiveFindingsCount(long long value) { SetFixAvailableActiveFindingsCount(value); return *this;} + ///@} + + ///@{ + /** + *

                              The names of the projects associated with the code repository.

                              + */ + inline const Aws::String& GetProjectNames() const { return m_projectNames; } + inline bool ProjectNamesHasBeenSet() const { return m_projectNamesHasBeenSet; } + template + void SetProjectNames(ProjectNamesT&& value) { m_projectNamesHasBeenSet = true; m_projectNames = std::forward(value); } + template + CodeRepositoryAggregationResponse& WithProjectNames(ProjectNamesT&& value) { SetProjectNames(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The type of repository provider for the code repository.

                              + */ + inline const Aws::String& GetProviderType() const { return m_providerType; } + inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } + template + void SetProviderType(ProviderTypeT&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::forward(value); } + template + CodeRepositoryAggregationResponse& WithProviderType(ProviderTypeT&& value) { SetProviderType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The resource ID of the code repository.

                              + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + CodeRepositoryAggregationResponse& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const SeverityCounts& GetSeverityCounts() const { return m_severityCounts; } + inline bool SeverityCountsHasBeenSet() const { return m_severityCountsHasBeenSet; } + template + void SetSeverityCounts(SeverityCountsT&& value) { m_severityCountsHasBeenSet = true; m_severityCounts = std::forward(value); } + template + CodeRepositoryAggregationResponse& WithSeverityCounts(SeverityCountsT&& value) { SetSeverityCounts(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + long long m_exploitAvailableActiveFindingsCount{0}; + bool m_exploitAvailableActiveFindingsCountHasBeenSet = false; + + long long m_fixAvailableActiveFindingsCount{0}; + bool m_fixAvailableActiveFindingsCountHasBeenSet = false; + + Aws::String m_projectNames; + bool m_projectNamesHasBeenSet = false; + + Aws::String m_providerType; + bool m_providerTypeHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + SeverityCounts m_severityCounts; + bool m_severityCountsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryDetails.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryDetails.h new file mode 100644 index 00000000000..244e4a75d77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryDetails.h @@ -0,0 +1,90 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details about a code repository associated with a + * finding.

                              See Also:

                              AWS + * API Reference

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

                              The Amazon Resource Name (ARN) of the code security integration associated + * with the repository.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + CodeRepositoryDetails& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the project in the code repository.

                              + */ + inline const Aws::String& GetProjectName() const { return m_projectName; } + inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } + template + void SetProjectName(ProjectNameT&& value) { m_projectNameHasBeenSet = true; m_projectName = std::forward(value); } + template + CodeRepositoryDetails& WithProjectName(ProjectNameT&& value) { SetProjectName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The type of repository provider (such as GitHub, GitLab, etc.).

                              + */ + inline CodeRepositoryProviderType GetProviderType() const { return m_providerType; } + inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } + inline void SetProviderType(CodeRepositoryProviderType value) { m_providerTypeHasBeenSet = true; m_providerType = value; } + inline CodeRepositoryDetails& WithProviderType(CodeRepositoryProviderType value) { SetProviderType(value); return *this;} + ///@} + private: + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + Aws::String m_projectName; + bool m_projectNameHasBeenSet = false; + + CodeRepositoryProviderType m_providerType{CodeRepositoryProviderType::NOT_SET}; + bool m_providerTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryMetadata.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryMetadata.h new file mode 100644 index 00000000000..4fda4b62fcf --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryMetadata.h @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains metadata information about a code repository that is being scanned + * by Amazon Inspector.

                              See Also:

                              AWS + * API Reference

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

                              The Amazon Resource Name (ARN) of the code security integration associated + * with the repository.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + CodeRepositoryMetadata& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The ID of the last commit that was scanned in the repository.

                              + */ + inline const Aws::String& GetLastScannedCommitId() const { return m_lastScannedCommitId; } + inline bool LastScannedCommitIdHasBeenSet() const { return m_lastScannedCommitIdHasBeenSet; } + template + void SetLastScannedCommitId(LastScannedCommitIdT&& value) { m_lastScannedCommitIdHasBeenSet = true; m_lastScannedCommitId = std::forward(value); } + template + CodeRepositoryMetadata& WithLastScannedCommitId(LastScannedCommitIdT&& value) { SetLastScannedCommitId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Information about on-demand scans performed on the repository.

                              + */ + inline const CodeRepositoryOnDemandScan& GetOnDemandScan() const { return m_onDemandScan; } + inline bool OnDemandScanHasBeenSet() const { return m_onDemandScanHasBeenSet; } + template + void SetOnDemandScan(OnDemandScanT&& value) { m_onDemandScanHasBeenSet = true; m_onDemandScan = std::forward(value); } + template + CodeRepositoryMetadata& WithOnDemandScan(OnDemandScanT&& value) { SetOnDemandScan(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the project in the code repository.

                              + */ + inline const Aws::String& GetProjectName() const { return m_projectName; } + inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } + template + void SetProjectName(ProjectNameT&& value) { m_projectNameHasBeenSet = true; m_projectName = std::forward(value); } + template + CodeRepositoryMetadata& WithProjectName(ProjectNameT&& value) { SetProjectName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The type of repository provider (such as GitHub, GitLab, etc.).

                              + */ + inline const Aws::String& GetProviderType() const { return m_providerType; } + inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } + template + void SetProviderType(ProviderTypeT&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::forward(value); } + template + CodeRepositoryMetadata& WithProviderType(ProviderTypeT&& value) { SetProviderType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The visibility setting of the repository (public or private).

                              + */ + inline const Aws::String& GetProviderTypeVisibility() const { return m_providerTypeVisibility; } + inline bool ProviderTypeVisibilityHasBeenSet() const { return m_providerTypeVisibilityHasBeenSet; } + template + void SetProviderTypeVisibility(ProviderTypeVisibilityT&& value) { m_providerTypeVisibilityHasBeenSet = true; m_providerTypeVisibility = std::forward(value); } + template + CodeRepositoryMetadata& WithProviderTypeVisibility(ProviderTypeVisibilityT&& value) { SetProviderTypeVisibility(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The scan configuration settings applied to the code repository.

                              + */ + inline const ProjectCodeSecurityScanConfiguration& GetScanConfiguration() const { return m_scanConfiguration; } + inline bool ScanConfigurationHasBeenSet() const { return m_scanConfigurationHasBeenSet; } + template + void SetScanConfiguration(ScanConfigurationT&& value) { m_scanConfigurationHasBeenSet = true; m_scanConfiguration = std::forward(value); } + template + CodeRepositoryMetadata& WithScanConfiguration(ScanConfigurationT&& value) { SetScanConfiguration(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + Aws::String m_lastScannedCommitId; + bool m_lastScannedCommitIdHasBeenSet = false; + + CodeRepositoryOnDemandScan m_onDemandScan; + bool m_onDemandScanHasBeenSet = false; + + Aws::String m_projectName; + bool m_projectNameHasBeenSet = false; + + Aws::String m_providerType; + bool m_providerTypeHasBeenSet = false; + + Aws::String m_providerTypeVisibility; + bool m_providerTypeVisibilityHasBeenSet = false; + + ProjectCodeSecurityScanConfiguration m_scanConfiguration; + bool m_scanConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryOnDemandScan.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryOnDemandScan.h new file mode 100644 index 00000000000..df3e8622e76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryOnDemandScan.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains information about on-demand scans performed on a code + * repository.

                              See Also:

                              AWS + * API Reference

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

                              The timestamp when the last on-demand scan was performed.

                              + */ + inline const Aws::Utils::DateTime& GetLastScanAt() const { return m_lastScanAt; } + inline bool LastScanAtHasBeenSet() const { return m_lastScanAtHasBeenSet; } + template + void SetLastScanAt(LastScanAtT&& value) { m_lastScanAtHasBeenSet = true; m_lastScanAt = std::forward(value); } + template + CodeRepositoryOnDemandScan& WithLastScanAt(LastScanAtT&& value) { SetLastScanAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The ID of the last commit that was scanned during an on-demand scan.

                              + */ + inline const Aws::String& GetLastScannedCommitId() const { return m_lastScannedCommitId; } + inline bool LastScannedCommitIdHasBeenSet() const { return m_lastScannedCommitIdHasBeenSet; } + template + void SetLastScannedCommitId(LastScannedCommitIdT&& value) { m_lastScannedCommitIdHasBeenSet = true; m_lastScannedCommitId = std::forward(value); } + template + CodeRepositoryOnDemandScan& WithLastScannedCommitId(LastScannedCommitIdT&& value) { SetLastScannedCommitId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const ScanStatus& GetScanStatus() const { return m_scanStatus; } + inline bool ScanStatusHasBeenSet() const { return m_scanStatusHasBeenSet; } + template + void SetScanStatus(ScanStatusT&& value) { m_scanStatusHasBeenSet = true; m_scanStatus = std::forward(value); } + template + CodeRepositoryOnDemandScan& WithScanStatus(ScanStatusT&& value) { SetScanStatus(std::forward(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_lastScanAt{}; + bool m_lastScanAtHasBeenSet = false; + + Aws::String m_lastScannedCommitId; + bool m_lastScannedCommitIdHasBeenSet = false; + + ScanStatus m_scanStatus; + bool m_scanStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryProviderType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryProviderType.h new file mode 100644 index 00000000000..4a115b47937 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositoryProviderType.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 Inspector2 +{ +namespace Model +{ + enum class CodeRepositoryProviderType + { + NOT_SET, + GITHUB, + GITLAB_SELF_MANAGED + }; + +namespace CodeRepositoryProviderTypeMapper +{ +AWS_INSPECTOR2_API CodeRepositoryProviderType GetCodeRepositoryProviderTypeForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForCodeRepositoryProviderType(CodeRepositoryProviderType value); +} // namespace CodeRepositoryProviderTypeMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositorySortBy.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositorySortBy.h new file mode 100644 index 00000000000..fc235dc047a --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeRepositorySortBy.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + enum class CodeRepositorySortBy + { + NOT_SET, + CRITICAL, + HIGH, + ALL + }; + +namespace CodeRepositorySortByMapper +{ +AWS_INSPECTOR2_API CodeRepositorySortBy GetCodeRepositorySortByForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForCodeRepositorySortBy(CodeRepositorySortBy value); +} // namespace CodeRepositorySortByMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeScanStatus.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeScanStatus.h new file mode 100644 index 00000000000..7423bb5c33c --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeScanStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + enum class CodeScanStatus + { + NOT_SET, + IN_PROGRESS, + SUCCESSFUL, + FAILED, + SKIPPED + }; + +namespace CodeScanStatusMapper +{ +AWS_INSPECTOR2_API CodeScanStatus GetCodeScanStatusForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForCodeScanStatus(CodeScanStatus value); +} // namespace CodeScanStatusMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityIntegrationSummary.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityIntegrationSummary.h new file mode 100644 index 00000000000..f1a73588e20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityIntegrationSummary.h @@ -0,0 +1,169 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              A summary of information about a code security integration.

                              See + * Also:

                              AWS + * API Reference

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

                              The timestamp when the code security integration was created.

                              + */ + inline const Aws::Utils::DateTime& GetCreatedOn() const { return m_createdOn; } + inline bool CreatedOnHasBeenSet() const { return m_createdOnHasBeenSet; } + template + void SetCreatedOn(CreatedOnT&& value) { m_createdOnHasBeenSet = true; m_createdOn = std::forward(value); } + template + CodeSecurityIntegrationSummary& WithCreatedOn(CreatedOnT&& value) { SetCreatedOn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the code security integration.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + CodeSecurityIntegrationSummary& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the code security integration was last updated.

                              + */ + inline const Aws::Utils::DateTime& GetLastUpdateOn() const { return m_lastUpdateOn; } + inline bool LastUpdateOnHasBeenSet() const { return m_lastUpdateOnHasBeenSet; } + template + void SetLastUpdateOn(LastUpdateOnT&& value) { m_lastUpdateOnHasBeenSet = true; m_lastUpdateOn = std::forward(value); } + template + CodeSecurityIntegrationSummary& WithLastUpdateOn(LastUpdateOnT&& value) { SetLastUpdateOn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the code security integration.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CodeSecurityIntegrationSummary& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the code security integration.

                              + */ + inline IntegrationStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(IntegrationStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline CodeSecurityIntegrationSummary& WithStatus(IntegrationStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                              The reason for the current status of the code security integration.

                              + */ + inline const Aws::String& GetStatusReason() const { return m_statusReason; } + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + template + void SetStatusReason(StatusReasonT&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::forward(value); } + template + CodeSecurityIntegrationSummary& WithStatusReason(StatusReasonT&& value) { SetStatusReason(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags associated with the code security integration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CodeSecurityIntegrationSummary& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CodeSecurityIntegrationSummary& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

                              The type of repository provider for the integration.

                              + */ + inline IntegrationType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(IntegrationType value) { m_typeHasBeenSet = true; m_type = value; } + inline CodeSecurityIntegrationSummary& WithType(IntegrationType value) { SetType(value); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_createdOn{}; + bool m_createdOnHasBeenSet = false; + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdateOn{}; + bool m_lastUpdateOnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + IntegrationStatus m_status{IntegrationStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + IntegrationType m_type{IntegrationType::NOT_SET}; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityResource.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityResource.h new file mode 100644 index 00000000000..1dd25b34aec --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityResource.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Identifies a specific resource in a code repository that will be + * scanned.

                              See Also:

                              AWS + * API Reference

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

                              The unique identifier of the project in the code repository.

                              + */ + inline const Aws::String& GetProjectId() const { return m_projectId; } + inline bool ProjectIdHasBeenSet() const { return m_projectIdHasBeenSet; } + template + void SetProjectId(ProjectIdT&& value) { m_projectIdHasBeenSet = true; m_projectId = std::forward(value); } + template + CodeSecurityResource& WithProjectId(ProjectIdT&& value) { SetProjectId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_projectId; + bool m_projectIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfiguration.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfiguration.h new file mode 100644 index 00000000000..b1a32866c30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfiguration.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains the configuration settings for code security scans.

                              See + * Also:

                              AWS + * API Reference

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

                              Configuration settings for continuous integration scans that run + * automatically when code changes are made.

                              + */ + inline const ContinuousIntegrationScanConfiguration& GetContinuousIntegrationScanConfiguration() const { return m_continuousIntegrationScanConfiguration; } + inline bool ContinuousIntegrationScanConfigurationHasBeenSet() const { return m_continuousIntegrationScanConfigurationHasBeenSet; } + template + void SetContinuousIntegrationScanConfiguration(ContinuousIntegrationScanConfigurationT&& value) { m_continuousIntegrationScanConfigurationHasBeenSet = true; m_continuousIntegrationScanConfiguration = std::forward(value); } + template + CodeSecurityScanConfiguration& WithContinuousIntegrationScanConfiguration(ContinuousIntegrationScanConfigurationT&& value) { SetContinuousIntegrationScanConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Configuration settings for periodic scans that run on a scheduled basis.

                              + */ + inline const PeriodicScanConfiguration& GetPeriodicScanConfiguration() const { return m_periodicScanConfiguration; } + inline bool PeriodicScanConfigurationHasBeenSet() const { return m_periodicScanConfigurationHasBeenSet; } + template + void SetPeriodicScanConfiguration(PeriodicScanConfigurationT&& value) { m_periodicScanConfigurationHasBeenSet = true; m_periodicScanConfiguration = std::forward(value); } + template + CodeSecurityScanConfiguration& WithPeriodicScanConfiguration(PeriodicScanConfigurationT&& value) { SetPeriodicScanConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The categories of security rules to be applied during the scan.

                              + */ + inline const Aws::Vector& GetRuleSetCategories() const { return m_ruleSetCategories; } + inline bool RuleSetCategoriesHasBeenSet() const { return m_ruleSetCategoriesHasBeenSet; } + template> + void SetRuleSetCategories(RuleSetCategoriesT&& value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories = std::forward(value); } + template> + CodeSecurityScanConfiguration& WithRuleSetCategories(RuleSetCategoriesT&& value) { SetRuleSetCategories(std::forward(value)); return *this;} + inline CodeSecurityScanConfiguration& AddRuleSetCategories(RuleSetCategory value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories.push_back(value); return *this; } + ///@} + private: + + ContinuousIntegrationScanConfiguration m_continuousIntegrationScanConfiguration; + bool m_continuousIntegrationScanConfigurationHasBeenSet = false; + + PeriodicScanConfiguration m_periodicScanConfiguration; + bool m_periodicScanConfigurationHasBeenSet = false; + + Aws::Vector m_ruleSetCategories; + bool m_ruleSetCategoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfigurationAssociationSummary.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfigurationAssociationSummary.h new file mode 100644 index 00000000000..1536b2e4604 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfigurationAssociationSummary.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              A summary of an association between a code repository and a scan + * configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + class CodeSecurityScanConfigurationAssociationSummary + { + public: + AWS_INSPECTOR2_API CodeSecurityScanConfigurationAssociationSummary() = default; + AWS_INSPECTOR2_API CodeSecurityScanConfigurationAssociationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API CodeSecurityScanConfigurationAssociationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + CodeSecurityScanConfigurationAssociationSummary& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfigurationSummary.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfigurationSummary.h new file mode 100644 index 00000000000..6b14c3f9e65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CodeSecurityScanConfigurationSummary.h @@ -0,0 +1,192 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + + /** + *

                              A summary of information about a code security scan + * configuration.

                              See Also:

                              AWS + * API Reference

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

                              The repository events that trigger continuous integration scans.

                              + */ + inline const Aws::Vector& GetContinuousIntegrationScanSupportedEvents() const { return m_continuousIntegrationScanSupportedEvents; } + inline bool ContinuousIntegrationScanSupportedEventsHasBeenSet() const { return m_continuousIntegrationScanSupportedEventsHasBeenSet; } + template> + void SetContinuousIntegrationScanSupportedEvents(ContinuousIntegrationScanSupportedEventsT&& value) { m_continuousIntegrationScanSupportedEventsHasBeenSet = true; m_continuousIntegrationScanSupportedEvents = std::forward(value); } + template> + CodeSecurityScanConfigurationSummary& WithContinuousIntegrationScanSupportedEvents(ContinuousIntegrationScanSupportedEventsT&& value) { SetContinuousIntegrationScanSupportedEvents(std::forward(value)); return *this;} + inline CodeSecurityScanConfigurationSummary& AddContinuousIntegrationScanSupportedEvents(ContinuousIntegrationScanEvent value) { m_continuousIntegrationScanSupportedEventsHasBeenSet = true; m_continuousIntegrationScanSupportedEvents.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                              The schedule expression for periodic scans, in cron format.

                              + */ + inline const Aws::String& GetFrequencyExpression() const { return m_frequencyExpression; } + inline bool FrequencyExpressionHasBeenSet() const { return m_frequencyExpressionHasBeenSet; } + template + void SetFrequencyExpression(FrequencyExpressionT&& value) { m_frequencyExpressionHasBeenSet = true; m_frequencyExpression = std::forward(value); } + template + CodeSecurityScanConfigurationSummary& WithFrequencyExpression(FrequencyExpressionT&& value) { SetFrequencyExpression(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the scan configuration.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CodeSecurityScanConfigurationSummary& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Web Services account ID that owns the scan configuration.

                              + */ + inline const Aws::String& GetOwnerAccountId() const { return m_ownerAccountId; } + inline bool OwnerAccountIdHasBeenSet() const { return m_ownerAccountIdHasBeenSet; } + template + void SetOwnerAccountId(OwnerAccountIdT&& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = std::forward(value); } + template + CodeSecurityScanConfigurationSummary& WithOwnerAccountId(OwnerAccountIdT&& value) { SetOwnerAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The frequency at which periodic scans are performed.

                              + */ + inline PeriodicScanFrequency GetPeriodicScanFrequency() const { return m_periodicScanFrequency; } + inline bool PeriodicScanFrequencyHasBeenSet() const { return m_periodicScanFrequencyHasBeenSet; } + inline void SetPeriodicScanFrequency(PeriodicScanFrequency value) { m_periodicScanFrequencyHasBeenSet = true; m_periodicScanFrequency = value; } + inline CodeSecurityScanConfigurationSummary& WithPeriodicScanFrequency(PeriodicScanFrequency value) { SetPeriodicScanFrequency(value); return *this;} + ///@} + + ///@{ + /** + *

                              The categories of security rules applied during the scan.

                              + */ + inline const Aws::Vector& GetRuleSetCategories() const { return m_ruleSetCategories; } + inline bool RuleSetCategoriesHasBeenSet() const { return m_ruleSetCategoriesHasBeenSet; } + template> + void SetRuleSetCategories(RuleSetCategoriesT&& value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories = std::forward(value); } + template> + CodeSecurityScanConfigurationSummary& WithRuleSetCategories(RuleSetCategoriesT&& value) { SetRuleSetCategories(std::forward(value)); return *this;} + inline CodeSecurityScanConfigurationSummary& AddRuleSetCategories(RuleSetCategory value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + CodeSecurityScanConfigurationSummary& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The scope settings that define which repositories will be scanned. If the + * ScopeSetting parameter is ALL the scan configuration + * applies to all existing and future projects imported into Amazon Inspector.

                              + */ + inline const ScopeSettings& GetScopeSettings() const { return m_scopeSettings; } + inline bool ScopeSettingsHasBeenSet() const { return m_scopeSettingsHasBeenSet; } + template + void SetScopeSettings(ScopeSettingsT&& value) { m_scopeSettingsHasBeenSet = true; m_scopeSettings = std::forward(value); } + template + CodeSecurityScanConfigurationSummary& WithScopeSettings(ScopeSettingsT&& value) { SetScopeSettings(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags associated with the scan configuration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CodeSecurityScanConfigurationSummary& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CodeSecurityScanConfigurationSummary& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::Vector m_continuousIntegrationScanSupportedEvents; + bool m_continuousIntegrationScanSupportedEventsHasBeenSet = false; + + Aws::String m_frequencyExpression; + bool m_frequencyExpressionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_ownerAccountId; + bool m_ownerAccountIdHasBeenSet = false; + + PeriodicScanFrequency m_periodicScanFrequency{PeriodicScanFrequency::NOT_SET}; + bool m_periodicScanFrequencyHasBeenSet = false; + + Aws::Vector m_ruleSetCategories; + bool m_ruleSetCategoriesHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + + ScopeSettings m_scopeSettings; + bool m_scopeSettingsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConfigurationLevel.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConfigurationLevel.h new file mode 100644 index 00000000000..4162d56df34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConfigurationLevel.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 Inspector2 +{ +namespace Model +{ + enum class ConfigurationLevel + { + NOT_SET, + ORGANIZATION, + ACCOUNT + }; + +namespace ConfigurationLevelMapper +{ +AWS_INSPECTOR2_API ConfigurationLevel GetConfigurationLevelForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForConfigurationLevel(ConfigurationLevel value); +} // namespace ConfigurationLevelMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConflictException.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConflictException.h index e506a8afba0..be3129a8d64 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConflictException.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ConflictException.h @@ -24,7 +24,8 @@ namespace Model { /** - *

                              A conflict occurred.

                              See Also:

                              A conflict occurred. This exception occurs when the same resource is being + * modified by concurrent requests.

                              See Also:

                              AWS * API Reference

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

                              Configuration settings for continuous integration scans that run + * automatically when code changes are made.

                              See Also:

                              AWS + * API Reference

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

                              The repository events that trigger continuous integration scans, such as pull + * requests or commits.

                              + */ + inline const Aws::Vector& GetSupportedEvents() const { return m_supportedEvents; } + inline bool SupportedEventsHasBeenSet() const { return m_supportedEventsHasBeenSet; } + template> + void SetSupportedEvents(SupportedEventsT&& value) { m_supportedEventsHasBeenSet = true; m_supportedEvents = std::forward(value); } + template> + ContinuousIntegrationScanConfiguration& WithSupportedEvents(SupportedEventsT&& value) { SetSupportedEvents(std::forward(value)); return *this;} + inline ContinuousIntegrationScanConfiguration& AddSupportedEvents(ContinuousIntegrationScanEvent value) { m_supportedEventsHasBeenSet = true; m_supportedEvents.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_supportedEvents; + bool m_supportedEventsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ContinuousIntegrationScanEvent.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ContinuousIntegrationScanEvent.h new file mode 100644 index 00000000000..56b3af6ada5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ContinuousIntegrationScanEvent.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 Inspector2 +{ +namespace Model +{ + enum class ContinuousIntegrationScanEvent + { + NOT_SET, + PULL_REQUEST, + PUSH + }; + +namespace ContinuousIntegrationScanEventMapper +{ +AWS_INSPECTOR2_API ContinuousIntegrationScanEvent GetContinuousIntegrationScanEventForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForContinuousIntegrationScanEvent(ContinuousIntegrationScanEvent value); +} // namespace ContinuousIntegrationScanEventMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageFilterCriteria.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageFilterCriteria.h index 0dbe4bba41c..bb9fba971c7 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageFilterCriteria.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageFilterCriteria.h @@ -57,6 +57,50 @@ namespace Model CoverageFilterCriteria& AddAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

                              Filter criteria for code repositories based on project name.

                              + */ + inline const Aws::Vector& GetCodeRepositoryProjectName() const { return m_codeRepositoryProjectName; } + inline bool CodeRepositoryProjectNameHasBeenSet() const { return m_codeRepositoryProjectNameHasBeenSet; } + template> + void SetCodeRepositoryProjectName(CodeRepositoryProjectNameT&& value) { m_codeRepositoryProjectNameHasBeenSet = true; m_codeRepositoryProjectName = std::forward(value); } + template> + CoverageFilterCriteria& WithCodeRepositoryProjectName(CodeRepositoryProjectNameT&& value) { SetCodeRepositoryProjectName(std::forward(value)); return *this;} + template + CoverageFilterCriteria& AddCodeRepositoryProjectName(CodeRepositoryProjectNameT&& value) { m_codeRepositoryProjectNameHasBeenSet = true; m_codeRepositoryProjectName.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Filter criteria for code repositories based on provider type (such as GitHub, + * GitLab, etc.).

                              + */ + inline const Aws::Vector& GetCodeRepositoryProviderType() const { return m_codeRepositoryProviderType; } + inline bool CodeRepositoryProviderTypeHasBeenSet() const { return m_codeRepositoryProviderTypeHasBeenSet; } + template> + void SetCodeRepositoryProviderType(CodeRepositoryProviderTypeT&& value) { m_codeRepositoryProviderTypeHasBeenSet = true; m_codeRepositoryProviderType = std::forward(value); } + template> + CoverageFilterCriteria& WithCodeRepositoryProviderType(CodeRepositoryProviderTypeT&& value) { SetCodeRepositoryProviderType(std::forward(value)); return *this;} + template + CoverageFilterCriteria& AddCodeRepositoryProviderType(CodeRepositoryProviderTypeT&& value) { m_codeRepositoryProviderTypeHasBeenSet = true; m_codeRepositoryProviderType.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Filter criteria for code repositories based on visibility setting (public or + * private).

                              + */ + inline const Aws::Vector& GetCodeRepositoryProviderTypeVisibility() const { return m_codeRepositoryProviderTypeVisibility; } + inline bool CodeRepositoryProviderTypeVisibilityHasBeenSet() const { return m_codeRepositoryProviderTypeVisibilityHasBeenSet; } + template> + void SetCodeRepositoryProviderTypeVisibility(CodeRepositoryProviderTypeVisibilityT&& value) { m_codeRepositoryProviderTypeVisibilityHasBeenSet = true; m_codeRepositoryProviderTypeVisibility = std::forward(value); } + template> + CoverageFilterCriteria& WithCodeRepositoryProviderTypeVisibility(CodeRepositoryProviderTypeVisibilityT&& value) { SetCodeRepositoryProviderTypeVisibility(std::forward(value)); return *this;} + template + CoverageFilterCriteria& AddCodeRepositoryProviderTypeVisibility(CodeRepositoryProviderTypeVisibilityT&& value) { m_codeRepositoryProviderTypeVisibilityHasBeenSet = true; m_codeRepositoryProviderTypeVisibility.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

                              The Amazon EC2 instance tags to filter on.

                              @@ -201,6 +245,21 @@ namespace Model CoverageFilterCriteria& AddLastScannedAt(LastScannedAtT&& value) { m_lastScannedAtHasBeenSet = true; m_lastScannedAt.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

                              Filter criteria for code repositories based on the ID of the last scanned + * commit.

                              + */ + inline const Aws::Vector& GetLastScannedCommitId() const { return m_lastScannedCommitId; } + inline bool LastScannedCommitIdHasBeenSet() const { return m_lastScannedCommitIdHasBeenSet; } + template> + void SetLastScannedCommitId(LastScannedCommitIdT&& value) { m_lastScannedCommitIdHasBeenSet = true; m_lastScannedCommitId = std::forward(value); } + template> + CoverageFilterCriteria& WithLastScannedCommitId(LastScannedCommitIdT&& value) { SetLastScannedCommitId(std::forward(value)); return *this;} + template + CoverageFilterCriteria& AddLastScannedCommitId(LastScannedCommitIdT&& value) { m_lastScannedCommitIdHasBeenSet = true; m_lastScannedCommitId.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

                              An array of Amazon Web Services resource IDs to return coverage statistics @@ -298,6 +357,15 @@ namespace Model Aws::Vector m_accountId; bool m_accountIdHasBeenSet = false; + Aws::Vector m_codeRepositoryProjectName; + bool m_codeRepositoryProjectNameHasBeenSet = false; + + Aws::Vector m_codeRepositoryProviderType; + bool m_codeRepositoryProviderTypeHasBeenSet = false; + + Aws::Vector m_codeRepositoryProviderTypeVisibility; + bool m_codeRepositoryProviderTypeVisibilityHasBeenSet = false; + Aws::Vector m_ec2InstanceTags; bool m_ec2InstanceTagsHasBeenSet = false; @@ -328,6 +396,9 @@ namespace Model Aws::Vector m_lastScannedAt; bool m_lastScannedAtHasBeenSet = false; + Aws::Vector m_lastScannedCommitId; + bool m_lastScannedCommitIdHasBeenSet = false; + Aws::Vector m_resourceId; bool m_resourceIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageResourceType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageResourceType.h index fbb91e71944..fe352386ce2 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageResourceType.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CoverageResourceType.h @@ -19,7 +19,8 @@ namespace Model AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY, - AWS_LAMBDA_FUNCTION + AWS_LAMBDA_FUNCTION, + CODE_REPOSITORY }; namespace CoverageResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityIntegrationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityIntegrationRequest.h new file mode 100644 index 00000000000..67eeb8eab9e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityIntegrationRequest.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 +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class CreateCodeSecurityIntegrationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API CreateCodeSecurityIntegrationRequest() = default; + + // 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 "CreateCodeSecurityIntegration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The integration details specific to the repository provider type.

                              + */ + inline const CreateIntegrationDetail& GetDetails() const { return m_details; } + inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } + template + void SetDetails(DetailsT&& value) { m_detailsHasBeenSet = true; m_details = std::forward(value); } + template + CreateCodeSecurityIntegrationRequest& WithDetails(DetailsT&& value) { SetDetails(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the code security integration.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateCodeSecurityIntegrationRequest& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags to apply to the code security integration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateCodeSecurityIntegrationRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateCodeSecurityIntegrationRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

                              The type of repository provider for the integration.

                              + */ + inline IntegrationType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(IntegrationType value) { m_typeHasBeenSet = true; m_type = value; } + inline CreateCodeSecurityIntegrationRequest& WithType(IntegrationType value) { SetType(value); return *this;} + ///@} + private: + + CreateIntegrationDetail m_details; + bool m_detailsHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + IntegrationType m_type{IntegrationType::NOT_SET}; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityIntegrationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityIntegrationResult.h new file mode 100644 index 00000000000..b29469feff9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityIntegrationResult.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class CreateCodeSecurityIntegrationResult + { + public: + AWS_INSPECTOR2_API CreateCodeSecurityIntegrationResult() = default; + AWS_INSPECTOR2_API CreateCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API CreateCodeSecurityIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The URL used to authorize the integration with the repository provider.

                              + */ + inline const Aws::String& GetAuthorizationUrl() const { return m_authorizationUrl; } + template + void SetAuthorizationUrl(AuthorizationUrlT&& value) { m_authorizationUrlHasBeenSet = true; m_authorizationUrl = std::forward(value); } + template + CreateCodeSecurityIntegrationResult& WithAuthorizationUrl(AuthorizationUrlT&& value) { SetAuthorizationUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the created code security integration.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + CreateCodeSecurityIntegrationResult& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the code security integration.

                              + */ + inline IntegrationStatus GetStatus() const { return m_status; } + inline void SetStatus(IntegrationStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline CreateCodeSecurityIntegrationResult& WithStatus(IntegrationStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateCodeSecurityIntegrationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_authorizationUrl; + bool m_authorizationUrlHasBeenSet = false; + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + IntegrationStatus m_status{IntegrationStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityScanConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityScanConfigurationRequest.h new file mode 100644 index 00000000000..8dfe8c09327 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityScanConfigurationRequest.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class CreateCodeSecurityScanConfigurationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API CreateCodeSecurityScanConfigurationRequest() = default; + + // 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 "CreateCodeSecurityScanConfiguration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The configuration settings for the code security scan.

                              + */ + inline const CodeSecurityScanConfiguration& GetConfiguration() const { return m_configuration; } + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + template + void SetConfiguration(ConfigurationT&& value) { m_configurationHasBeenSet = true; m_configuration = std::forward(value); } + template + CreateCodeSecurityScanConfigurationRequest& WithConfiguration(ConfigurationT&& value) { SetConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The security level for the scan configuration.

                              + */ + inline ConfigurationLevel GetLevel() const { return m_level; } + inline bool LevelHasBeenSet() const { return m_levelHasBeenSet; } + inline void SetLevel(ConfigurationLevel value) { m_levelHasBeenSet = true; m_level = value; } + inline CreateCodeSecurityScanConfigurationRequest& WithLevel(ConfigurationLevel value) { SetLevel(value); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the scan configuration.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateCodeSecurityScanConfigurationRequest& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The scope settings that define which repositories will be scanned. Include + * this parameter to create a default scan configuration. Otherwise Amazon + * Inspector creates a general scan configuration.

                              A default scan + * configuration automatically applies to all existing and future projects imported + * into Amazon Inspector. Use the + * BatchAssociateCodeSecurityScanConfiguration operation to associate + * a general scan configuration with projects.

                              + */ + inline const ScopeSettings& GetScopeSettings() const { return m_scopeSettings; } + inline bool ScopeSettingsHasBeenSet() const { return m_scopeSettingsHasBeenSet; } + template + void SetScopeSettings(ScopeSettingsT&& value) { m_scopeSettingsHasBeenSet = true; m_scopeSettings = std::forward(value); } + template + CreateCodeSecurityScanConfigurationRequest& WithScopeSettings(ScopeSettingsT&& value) { SetScopeSettings(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags to apply to the scan configuration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateCodeSecurityScanConfigurationRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateCodeSecurityScanConfigurationRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + CodeSecurityScanConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + ConfigurationLevel m_level{ConfigurationLevel::NOT_SET}; + bool m_levelHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + ScopeSettings m_scopeSettings; + bool m_scopeSettingsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityScanConfigurationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityScanConfigurationResult.h new file mode 100644 index 00000000000..83db76d7f06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateCodeSecurityScanConfigurationResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class CreateCodeSecurityScanConfigurationResult + { + public: + AWS_INSPECTOR2_API CreateCodeSecurityScanConfigurationResult() = default; + AWS_INSPECTOR2_API CreateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API CreateCodeSecurityScanConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the created scan configuration.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + CreateCodeSecurityScanConfigurationResult& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateCodeSecurityScanConfigurationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateGitLabSelfManagedIntegrationDetail.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateGitLabSelfManagedIntegrationDetail.h new file mode 100644 index 00000000000..90bc72bee3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateGitLabSelfManagedIntegrationDetail.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details required to create an integration with a self-managed GitLab + * instance.

                              See Also:

                              AWS + * API Reference

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

                              The personal access token used to authenticate with the self-managed GitLab + * instance.

                              + */ + inline const Aws::String& GetAccessToken() const { return m_accessToken; } + inline bool AccessTokenHasBeenSet() const { return m_accessTokenHasBeenSet; } + template + void SetAccessToken(AccessTokenT&& value) { m_accessTokenHasBeenSet = true; m_accessToken = std::forward(value); } + template + CreateGitLabSelfManagedIntegrationDetail& WithAccessToken(AccessTokenT&& value) { SetAccessToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The URL of the self-managed GitLab instance.

                              + */ + inline const Aws::String& GetInstanceUrl() const { return m_instanceUrl; } + inline bool InstanceUrlHasBeenSet() const { return m_instanceUrlHasBeenSet; } + template + void SetInstanceUrl(InstanceUrlT&& value) { m_instanceUrlHasBeenSet = true; m_instanceUrl = std::forward(value); } + template + CreateGitLabSelfManagedIntegrationDetail& WithInstanceUrl(InstanceUrlT&& value) { SetInstanceUrl(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_accessToken; + bool m_accessTokenHasBeenSet = false; + + Aws::String m_instanceUrl; + bool m_instanceUrlHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateIntegrationDetail.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateIntegrationDetail.h new file mode 100644 index 00000000000..a7587319bc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/CreateIntegrationDetail.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details required to create a code security integration with a + * specific repository provider.

                              See Also:

                              AWS + * API Reference

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

                              Details specific to creating an integration with a self-managed GitLab + * instance.

                              + */ + inline const CreateGitLabSelfManagedIntegrationDetail& GetGitlabSelfManaged() const { return m_gitlabSelfManaged; } + inline bool GitlabSelfManagedHasBeenSet() const { return m_gitlabSelfManagedHasBeenSet; } + template + void SetGitlabSelfManaged(GitlabSelfManagedT&& value) { m_gitlabSelfManagedHasBeenSet = true; m_gitlabSelfManaged = std::forward(value); } + template + CreateIntegrationDetail& WithGitlabSelfManaged(GitlabSelfManagedT&& value) { SetGitlabSelfManaged(std::forward(value)); return *this;} + ///@} + private: + + CreateGitLabSelfManagedIntegrationDetail m_gitlabSelfManaged; + bool m_gitlabSelfManagedHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityIntegrationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityIntegrationRequest.h new file mode 100644 index 00000000000..7af4c9ad803 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityIntegrationRequest.h @@ -0,0 +1,55 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + + /** + */ + class DeleteCodeSecurityIntegrationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API DeleteCodeSecurityIntegrationRequest() = default; + + // 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 "DeleteCodeSecurityIntegration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the code security integration to + * delete.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + DeleteCodeSecurityIntegrationRequest& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityIntegrationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityIntegrationResult.h new file mode 100644 index 00000000000..5b3c2d04dd4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityIntegrationResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class DeleteCodeSecurityIntegrationResult + { + public: + AWS_INSPECTOR2_API DeleteCodeSecurityIntegrationResult() = default; + AWS_INSPECTOR2_API DeleteCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API DeleteCodeSecurityIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the deleted code security integration.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + DeleteCodeSecurityIntegrationResult& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteCodeSecurityIntegrationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityScanConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityScanConfigurationRequest.h new file mode 100644 index 00000000000..f3b2f75f231 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityScanConfigurationRequest.h @@ -0,0 +1,54 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + + /** + */ + class DeleteCodeSecurityScanConfigurationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API DeleteCodeSecurityScanConfigurationRequest() = default; + + // 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 "DeleteCodeSecurityScanConfiguration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration to delete.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + DeleteCodeSecurityScanConfigurationRequest& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityScanConfigurationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityScanConfigurationResult.h new file mode 100644 index 00000000000..86b72bddc4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DeleteCodeSecurityScanConfigurationResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class DeleteCodeSecurityScanConfigurationResult + { + public: + AWS_INSPECTOR2_API DeleteCodeSecurityScanConfigurationResult() = default; + AWS_INSPECTOR2_API DeleteCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API DeleteCodeSecurityScanConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the deleted scan configuration.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + DeleteCodeSecurityScanConfigurationResult& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteCodeSecurityScanConfigurationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DisassociateConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DisassociateConfigurationRequest.h new file mode 100644 index 00000000000..3bd16aa158f --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/DisassociateConfigurationRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details about a request to disassociate a code repository from a + * scan configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + class DisassociateConfigurationRequest + { + public: + AWS_INSPECTOR2_API DisassociateConfigurationRequest() = default; + AWS_INSPECTOR2_API DisassociateConfigurationRequest(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API DisassociateConfigurationRequest& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + DisassociateConfigurationRequest& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration to disassociate from + * a code repository.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + DisassociateConfigurationRequest& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/EcrRescanDurationState.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/EcrRescanDurationState.h index 0b806763340..fa0eb390d6a 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/EcrRescanDurationState.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/EcrRescanDurationState.h @@ -69,8 +69,7 @@ namespace Model ///@{ /** - *

                              The rescan duration configured for image push date.

                               </p>
                              -     * 
                              + *

                              The rescan duration configured for image push date.

                              */ inline EcrRescanDuration GetRescanDuration() const { return m_rescanDuration; } inline bool RescanDurationHasBeenSet() const { return m_rescanDurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FailedAssociationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FailedAssociationResult.h new file mode 100644 index 00000000000..e20341e530a --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FailedAssociationResult.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 +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Details about a failed attempt to associate or disassociate a code repository + * with a scan configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + class FailedAssociationResult + { + public: + AWS_INSPECTOR2_API FailedAssociationResult() = default; + AWS_INSPECTOR2_API FailedAssociationResult(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API FailedAssociationResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + FailedAssociationResult& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration that failed to be + * associated or disassociated.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + FailedAssociationResult& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The status code indicating why the association or disassociation failed.

                              + */ + inline AssociationResultStatusCode GetStatusCode() const { return m_statusCode; } + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + inline void SetStatusCode(AssociationResultStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline FailedAssociationResult& WithStatusCode(AssociationResultStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

                              A message explaining why the association or disassociation failed.

                              + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + FailedAssociationResult& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + + AssociationResultStatusCode m_statusCode{AssociationResultStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FilterCriteria.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FilterCriteria.h index cdaad072eeb..8c803c3a342 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FilterCriteria.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FilterCriteria.h @@ -58,6 +58,36 @@ namespace Model FilterCriteria& AddAwsAccountId(AwsAccountIdT&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.emplace_back(std::forward(value)); return *this; } ///@} + ///@{ + /** + *

                              Filter criteria for findings based on the project name in a code + * repository.

                              + */ + inline const Aws::Vector& GetCodeRepositoryProjectName() const { return m_codeRepositoryProjectName; } + inline bool CodeRepositoryProjectNameHasBeenSet() const { return m_codeRepositoryProjectNameHasBeenSet; } + template> + void SetCodeRepositoryProjectName(CodeRepositoryProjectNameT&& value) { m_codeRepositoryProjectNameHasBeenSet = true; m_codeRepositoryProjectName = std::forward(value); } + template> + FilterCriteria& WithCodeRepositoryProjectName(CodeRepositoryProjectNameT&& value) { SetCodeRepositoryProjectName(std::forward(value)); return *this;} + template + FilterCriteria& AddCodeRepositoryProjectName(CodeRepositoryProjectNameT&& value) { m_codeRepositoryProjectNameHasBeenSet = true; m_codeRepositoryProjectName.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              Filter criteria for findings based on the repository provider type (such as + * GitHub, GitLab, etc.).

                              + */ + inline const Aws::Vector& GetCodeRepositoryProviderType() const { return m_codeRepositoryProviderType; } + inline bool CodeRepositoryProviderTypeHasBeenSet() const { return m_codeRepositoryProviderTypeHasBeenSet; } + template> + void SetCodeRepositoryProviderType(CodeRepositoryProviderTypeT&& value) { m_codeRepositoryProviderTypeHasBeenSet = true; m_codeRepositoryProviderType = std::forward(value); } + template> + FilterCriteria& WithCodeRepositoryProviderType(CodeRepositoryProviderTypeT&& value) { SetCodeRepositoryProviderType(std::forward(value)); return *this;} + template + FilterCriteria& AddCodeRepositoryProviderType(CodeRepositoryProviderTypeT&& value) { m_codeRepositoryProviderTypeHasBeenSet = true; m_codeRepositoryProviderType.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

                              The name of the detector used to identify a code vulnerability in a Lambda @@ -691,6 +721,12 @@ namespace Model Aws::Vector m_awsAccountId; bool m_awsAccountIdHasBeenSet = false; + Aws::Vector m_codeRepositoryProjectName; + bool m_codeRepositoryProjectNameHasBeenSet = false; + + Aws::Vector m_codeRepositoryProviderType; + bool m_codeRepositoryProviderTypeHasBeenSet = false; + Aws::Vector m_codeVulnerabilityDetectorName; bool m_codeVulnerabilityDetectorNameHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FreeTrialType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FreeTrialType.h index c6e4bf2584d..a0815f8911c 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FreeTrialType.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/FreeTrialType.h @@ -19,7 +19,8 @@ namespace Model EC2, ECR, LAMBDA, - LAMBDA_CODE + LAMBDA_CODE, + CODE_REPOSITORY }; namespace FreeTrialTypeMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityIntegrationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityIntegrationRequest.h new file mode 100644 index 00000000000..7a5e9b64694 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityIntegrationRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class GetCodeSecurityIntegrationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API GetCodeSecurityIntegrationRequest() = default; + + // 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 "GetCodeSecurityIntegration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the code security integration to + * retrieve.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + GetCodeSecurityIntegrationRequest& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags associated with the code security integration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + GetCodeSecurityIntegrationRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + GetCodeSecurityIntegrationRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityIntegrationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityIntegrationResult.h new file mode 100644 index 00000000000..b06445e6314 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityIntegrationResult.h @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class GetCodeSecurityIntegrationResult + { + public: + AWS_INSPECTOR2_API GetCodeSecurityIntegrationResult() = default; + AWS_INSPECTOR2_API GetCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API GetCodeSecurityIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The URL used to authorize the integration with the repository provider. This + * is only returned if reauthorization is required to fix a connection issue. + * Otherwise, it is null.

                              + */ + inline const Aws::String& GetAuthorizationUrl() const { return m_authorizationUrl; } + template + void SetAuthorizationUrl(AuthorizationUrlT&& value) { m_authorizationUrlHasBeenSet = true; m_authorizationUrl = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithAuthorizationUrl(AuthorizationUrlT&& value) { SetAuthorizationUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the code security integration was created.

                              + */ + inline const Aws::Utils::DateTime& GetCreatedOn() const { return m_createdOn; } + template + void SetCreatedOn(CreatedOnT&& value) { m_createdOnHasBeenSet = true; m_createdOn = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithCreatedOn(CreatedOnT&& value) { SetCreatedOn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the code security integration.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the code security integration was last updated.

                              + */ + inline const Aws::Utils::DateTime& GetLastUpdateOn() const { return m_lastUpdateOn; } + template + void SetLastUpdateOn(LastUpdateOnT&& value) { m_lastUpdateOnHasBeenSet = true; m_lastUpdateOn = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithLastUpdateOn(LastUpdateOnT&& value) { SetLastUpdateOn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the code security integration.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the code security integration.

                              + */ + inline IntegrationStatus GetStatus() const { return m_status; } + inline void SetStatus(IntegrationStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline GetCodeSecurityIntegrationResult& WithStatus(IntegrationStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                              The reason for the current status of the code security integration.

                              + */ + inline const Aws::String& GetStatusReason() const { return m_statusReason; } + template + void SetStatusReason(StatusReasonT&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithStatusReason(StatusReasonT&& value) { SetStatusReason(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags associated with the code security integration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + GetCodeSecurityIntegrationResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + GetCodeSecurityIntegrationResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

                              The type of repository provider for the integration.

                              + */ + inline IntegrationType GetType() const { return m_type; } + inline void SetType(IntegrationType value) { m_typeHasBeenSet = true; m_type = value; } + inline GetCodeSecurityIntegrationResult& WithType(IntegrationType value) { SetType(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetCodeSecurityIntegrationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_authorizationUrl; + bool m_authorizationUrlHasBeenSet = false; + + Aws::Utils::DateTime m_createdOn{}; + bool m_createdOnHasBeenSet = false; + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdateOn{}; + bool m_lastUpdateOnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + IntegrationStatus m_status{IntegrationStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + IntegrationType m_type{IntegrationType::NOT_SET}; + bool m_typeHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanConfigurationRequest.h new file mode 100644 index 00000000000..da8b510e1bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanConfigurationRequest.h @@ -0,0 +1,54 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + + /** + */ + class GetCodeSecurityScanConfigurationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API GetCodeSecurityScanConfigurationRequest() = default; + + // 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 "GetCodeSecurityScanConfiguration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration to retrieve.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + GetCodeSecurityScanConfigurationRequest& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanConfigurationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanConfigurationResult.h new file mode 100644 index 00000000000..3cbb90d8a23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanConfigurationResult.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class GetCodeSecurityScanConfigurationResult + { + public: + AWS_INSPECTOR2_API GetCodeSecurityScanConfigurationResult() = default; + AWS_INSPECTOR2_API GetCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API GetCodeSecurityScanConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The configuration settings for the code security scan.

                              + */ + inline const CodeSecurityScanConfiguration& GetConfiguration() const { return m_configuration; } + template + void SetConfiguration(ConfigurationT&& value) { m_configurationHasBeenSet = true; m_configuration = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithConfiguration(ConfigurationT&& value) { SetConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the scan configuration was created.

                              + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the scan configuration was last updated.

                              + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The security level for the scan configuration.

                              + */ + inline ConfigurationLevel GetLevel() const { return m_level; } + inline void SetLevel(ConfigurationLevel value) { m_levelHasBeenSet = true; m_level = value; } + inline GetCodeSecurityScanConfigurationResult& WithLevel(ConfigurationLevel value) { SetLevel(value); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the scan configuration.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The scope settings that define which repositories will be scanned. If the + * ScopeSetting parameter is ALL the scan configuration + * applies to all existing and future projects imported into Amazon Inspector.

                              + */ + inline const ScopeSettings& GetScopeSettings() const { return m_scopeSettings; } + template + void SetScopeSettings(ScopeSettingsT&& value) { m_scopeSettingsHasBeenSet = true; m_scopeSettings = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithScopeSettings(ScopeSettingsT&& value) { SetScopeSettings(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The tags associated with the scan configuration.

                              + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + GetCodeSecurityScanConfigurationResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + GetCodeSecurityScanConfigurationResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetCodeSecurityScanConfigurationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityScanConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + + ConfigurationLevel m_level{ConfigurationLevel::NOT_SET}; + bool m_levelHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + + ScopeSettings m_scopeSettings; + bool m_scopeSettingsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanRequest.h new file mode 100644 index 00000000000..632d64bf98f --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class GetCodeSecurityScanRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API GetCodeSecurityScanRequest() = default; + + // 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 "GetCodeSecurityScan"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The resource identifier for the code repository that was scanned.

                              + */ + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + GetCodeSecurityScanRequest& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The unique identifier of the scan to retrieve.

                              + */ + inline const Aws::String& GetScanId() const { return m_scanId; } + inline bool ScanIdHasBeenSet() const { return m_scanIdHasBeenSet; } + template + void SetScanId(ScanIdT&& value) { m_scanIdHasBeenSet = true; m_scanId = std::forward(value); } + template + GetCodeSecurityScanRequest& WithScanId(ScanIdT&& value) { SetScanId(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + + Aws::String m_scanId; + bool m_scanIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanResult.h new file mode 100644 index 00000000000..d79a8248c93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/GetCodeSecurityScanResult.h @@ -0,0 +1,165 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class GetCodeSecurityScanResult + { + public: + AWS_INSPECTOR2_API GetCodeSecurityScanResult() = default; + AWS_INSPECTOR2_API GetCodeSecurityScanResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API GetCodeSecurityScanResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The Amazon Web Services account ID associated with the scan.

                              + */ + inline const Aws::String& GetAccountId() const { return m_accountId; } + template + void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward(value); } + template + GetCodeSecurityScanResult& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the scan was created.

                              + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetCodeSecurityScanResult& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The identifier of the last commit that was scanned. This is only returned if + * the scan was successful or skipped.

                              + */ + inline const Aws::String& GetLastCommitId() const { return m_lastCommitId; } + template + void SetLastCommitId(LastCommitIdT&& value) { m_lastCommitIdHasBeenSet = true; m_lastCommitId = std::forward(value); } + template + GetCodeSecurityScanResult& WithLastCommitId(LastCommitIdT&& value) { SetLastCommitId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The resource identifier for the code repository that was scanned.

                              + */ + inline const CodeSecurityResource& GetResource() const { return m_resource; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + GetCodeSecurityScanResult& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The unique identifier of the scan.

                              + */ + inline const Aws::String& GetScanId() const { return m_scanId; } + template + void SetScanId(ScanIdT&& value) { m_scanIdHasBeenSet = true; m_scanId = std::forward(value); } + template + GetCodeSecurityScanResult& WithScanId(ScanIdT&& value) { SetScanId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the scan.

                              + */ + inline CodeScanStatus GetStatus() const { return m_status; } + inline void SetStatus(CodeScanStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline GetCodeSecurityScanResult& WithStatus(CodeScanStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                              The reason for the current status of the scan.

                              + */ + inline const Aws::String& GetStatusReason() const { return m_statusReason; } + template + void SetStatusReason(StatusReasonT&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::forward(value); } + template + GetCodeSecurityScanResult& WithStatusReason(StatusReasonT&& value) { SetStatusReason(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The timestamp when the scan was last updated.

                              + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; } + template + void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward(value); } + template + GetCodeSecurityScanResult& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetCodeSecurityScanResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::String m_lastCommitId; + bool m_lastCommitIdHasBeenSet = false; + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + + Aws::String m_scanId; + bool m_scanIdHasBeenSet = false; + + CodeScanStatus m_status{CodeScanStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt{}; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/IntegrationStatus.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/IntegrationStatus.h new file mode 100644 index 00000000000..fc9f549ed9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/IntegrationStatus.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 Inspector2 +{ +namespace Model +{ + enum class IntegrationStatus + { + NOT_SET, + PENDING, + IN_PROGRESS, + ACTIVE, + INACTIVE, + DISABLING + }; + +namespace IntegrationStatusMapper +{ +AWS_INSPECTOR2_API IntegrationStatus GetIntegrationStatusForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForIntegrationStatus(IntegrationStatus value); +} // namespace IntegrationStatusMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/IntegrationType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/IntegrationType.h new file mode 100644 index 00000000000..75eb8c65f68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/IntegrationType.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 Inspector2 +{ +namespace Model +{ + enum class IntegrationType + { + NOT_SET, + GITLAB_SELF_MANAGED, + GITHUB + }; + +namespace IntegrationTypeMapper +{ +AWS_INSPECTOR2_API IntegrationType GetIntegrationTypeForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForIntegrationType(IntegrationType value); +} // namespace IntegrationTypeMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityIntegrationsRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityIntegrationsRequest.h new file mode 100644 index 00000000000..bb1eb71fcce --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityIntegrationsRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class ListCodeSecurityIntegrationsRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API ListCodeSecurityIntegrationsRequest() = default; + + // 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 "ListCodeSecurityIntegrations"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + AWS_INSPECTOR2_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                              The maximum number of results to return in a single call.

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

                              A token to use for paginating results that are returned in the response. Set + * the value of this parameter to null for the first request. For subsequent calls, + * use the NextToken value returned from the previous request to continue listing + * results after the first page.

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

                              A list of code security integration summaries.

                              + */ + inline const Aws::Vector& GetIntegrations() const { return m_integrations; } + template> + void SetIntegrations(IntegrationsT&& value) { m_integrationsHasBeenSet = true; m_integrations = std::forward(value); } + template> + ListCodeSecurityIntegrationsResult& WithIntegrations(IntegrationsT&& value) { SetIntegrations(std::forward(value)); return *this;} + template + ListCodeSecurityIntegrationsResult& AddIntegrations(IntegrationsT&& value) { m_integrationsHasBeenSet = true; m_integrations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              A token to use for paginating results that are returned in the response. Set + * the value of this parameter to null for the first request. For subsequent calls, + * use the NextToken value returned from the previous request to continue listing + * results after the first page.

                              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListCodeSecurityIntegrationsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListCodeSecurityIntegrationsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_integrations; + bool m_integrationsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationAssociationsRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationAssociationsRequest.h new file mode 100644 index 00000000000..f75aa57f8da --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationAssociationsRequest.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class ListCodeSecurityScanConfigurationAssociationsRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API ListCodeSecurityScanConfigurationAssociationsRequest() = default; + + // 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 "ListCodeSecurityScanConfigurationAssociations"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + AWS_INSPECTOR2_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                              The maximum number of results to return in the response. If your request + * would return more than the maximum the response will return a + * nextToken value, use this value when you call the action again to + * get the remaining results.

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

                              A token to use for paginating results that are returned in the response. Set + * the value of this parameter to null for the first request to a list action. For + * subsequent calls, use the NextToken value returned from the + * previous request to continue listing results after the first page.

                              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListCodeSecurityScanConfigurationAssociationsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration to list associations + * for.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + ListCodeSecurityScanConfigurationAssociationsRequest& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationAssociationsResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationAssociationsResult.h new file mode 100644 index 00000000000..09a726c9bae --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationAssociationsResult.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class ListCodeSecurityScanConfigurationAssociationsResult + { + public: + AWS_INSPECTOR2_API ListCodeSecurityScanConfigurationAssociationsResult() = default; + AWS_INSPECTOR2_API ListCodeSecurityScanConfigurationAssociationsResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API ListCodeSecurityScanConfigurationAssociationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              A list of associations between code repositories and scan configurations.

                              + */ + inline const Aws::Vector& GetAssociations() const { return m_associations; } + template> + void SetAssociations(AssociationsT&& value) { m_associationsHasBeenSet = true; m_associations = std::forward(value); } + template> + ListCodeSecurityScanConfigurationAssociationsResult& WithAssociations(AssociationsT&& value) { SetAssociations(std::forward(value)); return *this;} + template + ListCodeSecurityScanConfigurationAssociationsResult& AddAssociations(AssociationsT&& value) { m_associationsHasBeenSet = true; m_associations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              A token to use for paginating results that are returned in the response. Set + * the value of this parameter to null for the first request to a list action. For + * subsequent calls, use the NextToken value returned from the + * previous request to continue listing results after the first page.

                              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListCodeSecurityScanConfigurationAssociationsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListCodeSecurityScanConfigurationAssociationsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_associations; + bool m_associationsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationsRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationsRequest.h new file mode 100644 index 00000000000..d470431d38a --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ListCodeSecurityScanConfigurationsRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class ListCodeSecurityScanConfigurationsRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API ListCodeSecurityScanConfigurationsRequest() = default; + + // 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 "ListCodeSecurityScanConfigurations"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + AWS_INSPECTOR2_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                              The maximum number of results to return in a single call.

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

                              A token to use for paginating results that are returned in the response. Set + * the value of this parameter to null for the first request. For subsequent calls, + * use the NextToken value returned from the previous request to continue listing + * results after the first page.

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

                              A list of code security scan configuration summaries.

                              + */ + inline const Aws::Vector& GetConfigurations() const { return m_configurations; } + template> + void SetConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations = std::forward(value); } + template> + ListCodeSecurityScanConfigurationsResult& WithConfigurations(ConfigurationsT&& value) { SetConfigurations(std::forward(value)); return *this;} + template + ListCodeSecurityScanConfigurationsResult& AddConfigurations(ConfigurationsT&& value) { m_configurationsHasBeenSet = true; m_configurations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              A token to use for paginating results that are returned in the response. Set + * the value of this parameter to null for the first request. For subsequent calls, + * use the NextToken value returned from the previous request to continue listing + * results after the first page.

                              + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListCodeSecurityScanConfigurationsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListCodeSecurityScanConfigurationsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_configurations; + bool m_configurationsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/PeriodicScanConfiguration.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/PeriodicScanConfiguration.h new file mode 100644 index 00000000000..94172858954 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/PeriodicScanConfiguration.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 Inspector2 +{ +namespace Model +{ + + /** + *

                              Configuration settings for periodic scans that run on a scheduled + * basis.

                              See Also:

                              AWS + * API Reference

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

                              The frequency at which periodic scans are performed (such as weekly or + * monthly).

                              If you don't provide the frequencyExpression + * Amazon Inspector chooses day for the scan to run. If you provide the + * frequencyExpression, the schedule must match the specified + * frequency.

                              + */ + inline PeriodicScanFrequency GetFrequency() const { return m_frequency; } + inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } + inline void SetFrequency(PeriodicScanFrequency value) { m_frequencyHasBeenSet = true; m_frequency = value; } + inline PeriodicScanConfiguration& WithFrequency(PeriodicScanFrequency value) { SetFrequency(value); return *this;} + ///@} + + ///@{ + /** + *

                              The schedule expression for periodic scans, in cron format.

                              + */ + inline const Aws::String& GetFrequencyExpression() const { return m_frequencyExpression; } + inline bool FrequencyExpressionHasBeenSet() const { return m_frequencyExpressionHasBeenSet; } + template + void SetFrequencyExpression(FrequencyExpressionT&& value) { m_frequencyExpressionHasBeenSet = true; m_frequencyExpression = std::forward(value); } + template + PeriodicScanConfiguration& WithFrequencyExpression(FrequencyExpressionT&& value) { SetFrequencyExpression(std::forward(value)); return *this;} + ///@} + private: + + PeriodicScanFrequency m_frequency{PeriodicScanFrequency::NOT_SET}; + bool m_frequencyHasBeenSet = false; + + Aws::String m_frequencyExpression; + bool m_frequencyExpressionHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/PeriodicScanFrequency.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/PeriodicScanFrequency.h new file mode 100644 index 00000000000..b9b9bd52486 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/PeriodicScanFrequency.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + enum class PeriodicScanFrequency + { + NOT_SET, + WEEKLY, + MONTHLY, + NEVER + }; + +namespace PeriodicScanFrequencyMapper +{ +AWS_INSPECTOR2_API PeriodicScanFrequency GetPeriodicScanFrequencyForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForPeriodicScanFrequency(PeriodicScanFrequency value); +} // namespace PeriodicScanFrequencyMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectCodeSecurityScanConfiguration.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectCodeSecurityScanConfiguration.h new file mode 100644 index 00000000000..9af596efb29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectCodeSecurityScanConfiguration.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains the scan configuration settings applied to a specific project in a + * code repository.

                              See Also:

                              AWS + * API Reference

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

                              The continuous integration scan configurations applied to the project.

                              + */ + inline const Aws::Vector& GetContinuousIntegrationScanConfigurations() const { return m_continuousIntegrationScanConfigurations; } + inline bool ContinuousIntegrationScanConfigurationsHasBeenSet() const { return m_continuousIntegrationScanConfigurationsHasBeenSet; } + template> + void SetContinuousIntegrationScanConfigurations(ContinuousIntegrationScanConfigurationsT&& value) { m_continuousIntegrationScanConfigurationsHasBeenSet = true; m_continuousIntegrationScanConfigurations = std::forward(value); } + template> + ProjectCodeSecurityScanConfiguration& WithContinuousIntegrationScanConfigurations(ContinuousIntegrationScanConfigurationsT&& value) { SetContinuousIntegrationScanConfigurations(std::forward(value)); return *this;} + template + ProjectCodeSecurityScanConfiguration& AddContinuousIntegrationScanConfigurations(ContinuousIntegrationScanConfigurationsT&& value) { m_continuousIntegrationScanConfigurationsHasBeenSet = true; m_continuousIntegrationScanConfigurations.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                              The periodic scan configurations applied to the project.

                              + */ + inline const Aws::Vector& GetPeriodicScanConfigurations() const { return m_periodicScanConfigurations; } + inline bool PeriodicScanConfigurationsHasBeenSet() const { return m_periodicScanConfigurationsHasBeenSet; } + template> + void SetPeriodicScanConfigurations(PeriodicScanConfigurationsT&& value) { m_periodicScanConfigurationsHasBeenSet = true; m_periodicScanConfigurations = std::forward(value); } + template> + ProjectCodeSecurityScanConfiguration& WithPeriodicScanConfigurations(PeriodicScanConfigurationsT&& value) { SetPeriodicScanConfigurations(std::forward(value)); return *this;} + template + ProjectCodeSecurityScanConfiguration& AddPeriodicScanConfigurations(PeriodicScanConfigurationsT&& value) { m_periodicScanConfigurationsHasBeenSet = true; m_periodicScanConfigurations.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_continuousIntegrationScanConfigurations; + bool m_continuousIntegrationScanConfigurationsHasBeenSet = false; + + Aws::Vector m_periodicScanConfigurations; + bool m_periodicScanConfigurationsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectContinuousIntegrationScanConfiguration.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectContinuousIntegrationScanConfiguration.h new file mode 100644 index 00000000000..1e5d94fa410 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectContinuousIntegrationScanConfiguration.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains the continuous integration scan configuration settings applied to a + * specific project.

                              See Also:

                              AWS + * API Reference

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

                              The categories of security rules applied during continuous integration scans + * for the project.

                              + */ + inline const Aws::Vector& GetRuleSetCategories() const { return m_ruleSetCategories; } + inline bool RuleSetCategoriesHasBeenSet() const { return m_ruleSetCategoriesHasBeenSet; } + template> + void SetRuleSetCategories(RuleSetCategoriesT&& value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories = std::forward(value); } + template> + ProjectContinuousIntegrationScanConfiguration& WithRuleSetCategories(RuleSetCategoriesT&& value) { SetRuleSetCategories(std::forward(value)); return *this;} + inline ProjectContinuousIntegrationScanConfiguration& AddRuleSetCategories(RuleSetCategory value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                              The repository event that triggers continuous integration scans for the + * project.

                              + */ + inline ContinuousIntegrationScanEvent GetSupportedEvent() const { return m_supportedEvent; } + inline bool SupportedEventHasBeenSet() const { return m_supportedEventHasBeenSet; } + inline void SetSupportedEvent(ContinuousIntegrationScanEvent value) { m_supportedEventHasBeenSet = true; m_supportedEvent = value; } + inline ProjectContinuousIntegrationScanConfiguration& WithSupportedEvent(ContinuousIntegrationScanEvent value) { SetSupportedEvent(value); return *this;} + ///@} + private: + + Aws::Vector m_ruleSetCategories; + bool m_ruleSetCategoriesHasBeenSet = false; + + ContinuousIntegrationScanEvent m_supportedEvent{ContinuousIntegrationScanEvent::NOT_SET}; + bool m_supportedEventHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectPeriodicScanConfiguration.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectPeriodicScanConfiguration.h new file mode 100644 index 00000000000..39de51c9a88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectPeriodicScanConfiguration.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains the periodic scan configuration settings applied to a specific + * project.

                              See Also:

                              AWS + * API Reference

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

                              The schedule expression for periodic scans, in cron format, applied to the + * project.

                              + */ + inline const Aws::String& GetFrequencyExpression() const { return m_frequencyExpression; } + inline bool FrequencyExpressionHasBeenSet() const { return m_frequencyExpressionHasBeenSet; } + template + void SetFrequencyExpression(FrequencyExpressionT&& value) { m_frequencyExpressionHasBeenSet = true; m_frequencyExpression = std::forward(value); } + template + ProjectPeriodicScanConfiguration& WithFrequencyExpression(FrequencyExpressionT&& value) { SetFrequencyExpression(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The categories of security rules applied during periodic scans for the + * project.

                              + */ + inline const Aws::Vector& GetRuleSetCategories() const { return m_ruleSetCategories; } + inline bool RuleSetCategoriesHasBeenSet() const { return m_ruleSetCategoriesHasBeenSet; } + template> + void SetRuleSetCategories(RuleSetCategoriesT&& value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories = std::forward(value); } + template> + ProjectPeriodicScanConfiguration& WithRuleSetCategories(RuleSetCategoriesT&& value) { SetRuleSetCategories(std::forward(value)); return *this;} + inline ProjectPeriodicScanConfiguration& AddRuleSetCategories(RuleSetCategory value) { m_ruleSetCategoriesHasBeenSet = true; m_ruleSetCategories.push_back(value); return *this; } + ///@} + private: + + Aws::String m_frequencyExpression; + bool m_frequencyExpressionHasBeenSet = false; + + Aws::Vector m_ruleSetCategories; + bool m_ruleSetCategoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectSelectionScope.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectSelectionScope.h new file mode 100644 index 00000000000..053be707125 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ProjectSelectionScope.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + enum class ProjectSelectionScope + { + NOT_SET, + ALL + }; + +namespace ProjectSelectionScopeMapper +{ +AWS_INSPECTOR2_API ProjectSelectionScope GetProjectSelectionScopeForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForProjectSelectionScope(ProjectSelectionScope value); +} // namespace ProjectSelectionScopeMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceDetails.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceDetails.h index ae86bfe3e22..fedba5305a7 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceDetails.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceDetails.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -78,6 +79,19 @@ namespace Model template ResourceDetails& WithAwsLambdaFunction(AwsLambdaFunctionT&& value) { SetAwsLambdaFunction(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              Contains details about a code repository resource associated with a + * finding.

                              + */ + inline const CodeRepositoryDetails& GetCodeRepository() const { return m_codeRepository; } + inline bool CodeRepositoryHasBeenSet() const { return m_codeRepositoryHasBeenSet; } + template + void SetCodeRepository(CodeRepositoryT&& value) { m_codeRepositoryHasBeenSet = true; m_codeRepository = std::forward(value); } + template + ResourceDetails& WithCodeRepository(CodeRepositoryT&& value) { SetCodeRepository(std::forward(value)); return *this;} + ///@} private: AwsEc2InstanceDetails m_awsEc2Instance; @@ -88,6 +102,9 @@ namespace Model AwsLambdaFunctionDetails m_awsLambdaFunction; bool m_awsLambdaFunctionHasBeenSet = false; + + CodeRepositoryDetails m_codeRepository; + bool m_codeRepositoryHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanMetadata.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanMetadata.h index 470085d9363..59c825dc1bb 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanMetadata.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanMetadata.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -41,6 +42,18 @@ namespace Model AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

                              Contains metadata about scan coverage for a code repository resource.

                              + */ + inline const CodeRepositoryMetadata& GetCodeRepository() const { return m_codeRepository; } + inline bool CodeRepositoryHasBeenSet() const { return m_codeRepositoryHasBeenSet; } + template + void SetCodeRepository(CodeRepositoryT&& value) { m_codeRepositoryHasBeenSet = true; m_codeRepository = std::forward(value); } + template + ResourceScanMetadata& WithCodeRepository(CodeRepositoryT&& value) { SetCodeRepository(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                              An object that contains metadata details for an Amazon EC2 instance.

                              @@ -93,6 +106,9 @@ namespace Model ///@} private: + CodeRepositoryMetadata m_codeRepository; + bool m_codeRepositoryHasBeenSet = false; + Ec2Metadata m_ec2; bool m_ec2HasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanType.h index 99d4487e520..c9169e6cc5d 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanType.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceScanType.h @@ -19,7 +19,8 @@ namespace Model EC2, ECR, LAMBDA, - LAMBDA_CODE + LAMBDA_CODE, + CODE_REPOSITORY }; namespace ResourceScanTypeMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceState.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceState.h index 4e7717b6796..8046a92495e 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceState.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceState.h @@ -38,6 +38,16 @@ namespace Model AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + + inline const State& GetCodeRepository() const { return m_codeRepository; } + inline bool CodeRepositoryHasBeenSet() const { return m_codeRepositoryHasBeenSet; } + template + void SetCodeRepository(CodeRepositoryT&& value) { m_codeRepositoryHasBeenSet = true; m_codeRepository = std::forward(value); } + template + ResourceState& WithCodeRepository(CodeRepositoryT&& value) { SetCodeRepository(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                              An object detailing the state of Amazon Inspector scanning for Amazon EC2 @@ -91,6 +101,9 @@ namespace Model ///@} private: + State m_codeRepository; + bool m_codeRepositoryHasBeenSet = false; + State m_ec2; bool m_ec2HasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceStatus.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceStatus.h index a46ce1640af..eee7dc90523 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceStatus.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceStatus.h @@ -38,6 +38,16 @@ namespace Model AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + ///@{ + /** + *

                              The status of Amazon Inspector scanning for code repositories.

                              + */ + inline Status GetCodeRepository() const { return m_codeRepository; } + inline bool CodeRepositoryHasBeenSet() const { return m_codeRepositoryHasBeenSet; } + inline void SetCodeRepository(Status value) { m_codeRepositoryHasBeenSet = true; m_codeRepository = value; } + inline ResourceStatus& WithCodeRepository(Status value) { SetCodeRepository(value); return *this;} + ///@} + ///@{ /** *

                              The status of Amazon Inspector scanning for Amazon EC2 resources.

                              @@ -81,6 +91,9 @@ namespace Model ///@} private: + Status m_codeRepository{Status::NOT_SET}; + bool m_codeRepositoryHasBeenSet = false; + Status m_ec2{Status::NOT_SET}; bool m_ec2HasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceType.h index 635662b5a95..58914ba476a 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceType.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ResourceType.h @@ -19,7 +19,8 @@ namespace Model AWS_EC2_INSTANCE, AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY, - AWS_LAMBDA_FUNCTION + AWS_LAMBDA_FUNCTION, + CODE_REPOSITORY }; namespace ResourceTypeMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/RuleSetCategory.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/RuleSetCategory.h new file mode 100644 index 00000000000..9ad7d4bec42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/RuleSetCategory.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + enum class RuleSetCategory + { + NOT_SET, + SAST, + IAC, + SCA + }; + +namespace RuleSetCategoryMapper +{ +AWS_INSPECTOR2_API RuleSetCategory GetRuleSetCategoryForName(const Aws::String& name); + +AWS_INSPECTOR2_API Aws::String GetNameForRuleSetCategory(RuleSetCategory value); +} // namespace RuleSetCategoryMapper +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatus.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatus.h index 0ae76f7909f..c7cdb37f917 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatus.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatus.h @@ -41,70 +41,79 @@ namespace Model ///@{ /** *

                              The scan status. Possible return values and descriptions are:

                              - * PENDING_INITIAL_SCAN - This resource has been identified for - * scanning, results will be available soon.

                              ACCESS_DENIED - - * Resource access policy restricting Amazon Inspector access. Please update the - * IAM policy.

                              INTERNAL_ERROR - Amazon Inspector has - * encountered an internal error for this resource. Amazon Inspector service will - * automatically resolve the issue and resume the scanning. No action required from - * the user.

                              UNMANAGED_EC2_INSTANCE - The EC2 instance is not - * managed by SSM, please use the following SSM automation to remediate the issue: - * ACCESS_DENIED - Resource access policy restricting Amazon Inspector + * access. Please update the IAM policy.

                              + * ACCESS_DENIED_TO_ENCRYPTION_KEY - The KMS key policy doesn't allow + * Amazon Inspector access. Update the key policy.

                              + * DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector + * failed to extract the package inventory because the package collection time + * exceeding the maximum threshold of 15 minutes.

                              + * DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent + * couldn't send inventory to Amazon Inspector because the SSM quota for Inventory + * data collected per instance per day has already been reached for this + * instance.

                              DEEP_INSPECTION_NO_INVENTORY - The Amazon + * Inspector plugin hasn't yet been able to collect an inventory of packages for + * this instance. This is usually the result of a pending scan, however, if this + * status persists after 6 hours, use SSM to ensure that the required Amazon + * Inspector associations exist and are running for the instance.

                              + * DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance + * has exceeded the 5000 package limit for Amazon Inspector Deep inspection. To + * resume Deep inspection for this instance you can try to adjust the custom paths + * associated with the account.

                              EC2_INSTANCE_STOPPED - This + * EC2 instance is in a stopped state, therefore, Amazon Inspector will pause + * scanning. The existing findings will continue to exist until the instance is + * terminated. Once the instance is re-started, Inspector will automatically start + * scanning the instance again. Please note that you will not be charged for this + * instance while it's in a stopped state.

                              EXCLUDED_BY_TAG - + * This resource was not scanned because it has been excluded by a tag.

                              + * IMAGE_SIZE_EXCEEDED - Reserved for future use.

                              + * INTEGRATION_CONNNECTION_LOST - Amazon Inspector couldn't + * communicate with the source code management platform.

                              + * INTERNAL_ERROR - Amazon Inspector has encountered an internal error + * for this resource. Amazon Inspector service will automatically resolve the issue + * and resume the scanning. No action required from the user.

                              NO + * INVENTORY - Amazon Inspector couldn't find software application inventory + * to scan for vulnerabilities. This might be caused due to required Amazon + * Inspector associations being deleted or failing to run on your resource. Please + * verify the status of InspectorInventoryCollection-do-not-delete + * association in the SSM console for the resource. Additionally, you can verify + * the instance's inventory in the SSM Fleet Manager console.

                              + * NO_RESOURCES_FOUND - Reserved for future use.

                              + * NO_SCAN_CONFIGURATION_ASSOCIATED - The code repository resource + * doesn't have an associated scan configuration.

                              + * PENDING_DISABLE - This resource is pending cleanup during + * disablement. The customer will not be billed while a resource is in the pending + * disable status.

                              PENDING_INITIAL_SCAN - This resource has + * been identified for scanning, results will be available soon.

                              + * RESOURCE_TERMINATED - This resource has been terminated. The + * findings and coverage associated with this resource are in the process of being + * cleaned up.

                              SCAN_ELIGIBILITY_EXPIRED - The configured scan + * duration has lapsed for this image.

                              SCAN_FREQUENCY_MANUAL - + * This image will not be covered by Amazon Inspector due to the repository scan + * frequency configuration.

                              SCAN_FREQUENCY_SCAN_ON_PUSH - This + * image will be scanned one time and will not new findings because of the scan + * frequency configuration.

                              SCAN_IN_PROGRESS - The resource is + * currently being scanned.

                              STALE_INVENTORY - Amazon Inspector + * wasn't able to collect an updated software application inventory in the last 7 + * days. Please confirm the required Amazon Inspector associations still exist and + * you can still see an updated inventory in the SSM console.

                              + * SUCCESSFUL - The scan was successful.

                              + * UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, + * please use the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html. * Once the instance becomes managed by SSM, Inspector will automatically begin - * scanning this instance.

                              UNSUPPORTED_OS - Amazon Inspector + * scanning this instance.

                              UNSUPPORTED_CONFIG_FILE - Reserved + * for future use.

                              UNSUPPORTED_LANGUAGE - The scan was + * unsuccessful because the repository contains files in an unsupported programming + * language.

                              UNSUPPORTED_MEDIA_TYPE - The ECR image has an + * unsupported media type.

                              UNSUPPORTED_OS - Amazon Inspector * does not support this OS, architecture, or image manifest type at this time. To * see a complete list of supported operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              - *

                              SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has - * lapsed for this image.

                              RESOURCE_TERMINATED - This resource - * has been terminated. The findings and coverage associated with this resource are - * in the process of being cleaned up.

                              SUCCESSFUL - The scan - * was successful.

                              NO_RESOURCES_FOUND - Reserved for future - * use.

                              IMAGE_SIZE_EXCEEDED - Reserved for future use.

                              - * SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon - * Inspector due to the repository scan frequency configuration.

                              - * SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time - * and will not new findings because of the scan frequency configuration.

                              - * EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, - * therefore, Amazon Inspector will pause scanning. The existing findings will - * continue to exist until the instance is terminated. Once the instance is - * re-started, Inspector will automatically start scanning the instance again. - * Please note that you will not be charged for this instance while it’s in a - * stopped state.

                              PENDING_DISABLE - This resource is pending - * cleanup during disablement. The customer will not be billed while a resource is - * in the pending disable status.

                              NO INVENTORY - Amazon - * Inspector couldn’t find software application inventory to scan for - * vulnerabilities. This might be caused due to required Amazon Inspector - * associations being deleted or failing to run on your resource. Please verify the - * status of InspectorInventoryCollection-do-not-delete association in - * the SSM console for the resource. Additionally, you can verify the instance’s - * inventory in the SSM Fleet Manager console.

                              STALE_INVENTORY - * - Amazon Inspector wasn’t able to collect an updated software application - * inventory in the last 7 days. Please confirm the required Amazon Inspector - * associations still exist and you can still see an updated inventory in the SSM - * console.

                              EXCLUDED_BY_TAG - This resource was not scanned - * because it has been excluded by a tag.

                              UNSUPPORTED_RUNTIME - * - The function was not scanned because it has an unsupported runtime. To see a - * complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              - *

                              UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media - * type.

                              UNSUPPORTED_CONFIG_FILE - Reserved for future - * use.

                              DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - - * The instance has exceeded the 5000 package limit for Amazon Inspector Deep - * inspection. To resume Deep inspection for this instance you can try to adjust - * the custom paths associated with the account.

                              - * DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent - * couldn't send inventory to Amazon Inspector because the SSM quota for Inventory - * data collected per instance per day has already been reached for this - * instance.

                              DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - - * Amazon Inspector failed to extract the package inventory because the package - * collection time exceeding the maximum threshold of 15 minutes.

                              - * DEEP_INSPECTION_NO_INVENTORY The Amazon Inspector plugin hasn't yet - * been able to collect an inventory of packages for this instance. This is usually - * the result of a pending scan, however, if this status persists after 6 hours, - * use SSM to ensure that the required Amazon Inspector associations exist and are - * running for the instance.

                              */ inline ScanStatusReason GetReason() const { return m_reason; } inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatusReason.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatusReason.h index ab8ec7655e7..325779f70b9 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatusReason.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScanStatusReason.h @@ -42,7 +42,12 @@ namespace Model DEEP_INSPECTION_NO_INVENTORY, AGENTLESS_INSTANCE_STORAGE_LIMIT_EXCEEDED, AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED, - PENDING_REVIVAL_SCAN + PENDING_REVIVAL_SCAN, + INTEGRATION_CONNECTION_LOST, + ACCESS_DENIED_TO_ENCRYPTION_KEY, + UNSUPPORTED_LANGUAGE, + NO_SCAN_CONFIGURATION_ASSOCIATED, + SCAN_IN_PROGRESS }; namespace ScanStatusReasonMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScopeSettings.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScopeSettings.h new file mode 100644 index 00000000000..3f26183cb75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/ScopeSettings.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Defines the scope of repositories to be included in code security + * scans.

                              See Also:

                              AWS + * API Reference

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

                              The scope of projects to be selected for scanning within the integrated + * repositories. Setting the value to ALL applies the scope settings + * to all existing and future projects imported into Amazon Inspector.

                              + */ + inline ProjectSelectionScope GetProjectSelectionScope() const { return m_projectSelectionScope; } + inline bool ProjectSelectionScopeHasBeenSet() const { return m_projectSelectionScopeHasBeenSet; } + inline void SetProjectSelectionScope(ProjectSelectionScope value) { m_projectSelectionScopeHasBeenSet = true; m_projectSelectionScope = value; } + inline ScopeSettings& WithProjectSelectionScope(ProjectSelectionScope value) { SetProjectSelectionScope(value); return *this;} + ///@} + private: + + ProjectSelectionScope m_projectSelectionScope{ProjectSelectionScope::NOT_SET}; + bool m_projectSelectionScopeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/StartCodeSecurityScanRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/StartCodeSecurityScanRequest.h new file mode 100644 index 00000000000..c59e1bf271d --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/StartCodeSecurityScanRequest.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class StartCodeSecurityScanRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API StartCodeSecurityScanRequest() = default; + + // 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 "StartCodeSecurityScan"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

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

                              + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + StartCodeSecurityScanRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The resource identifier for the code repository to scan.

                              + */ + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + StartCodeSecurityScanRequest& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/StartCodeSecurityScanResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/StartCodeSecurityScanResult.h new file mode 100644 index 00000000000..9404d116e44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/StartCodeSecurityScanResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class StartCodeSecurityScanResult + { + public: + AWS_INSPECTOR2_API StartCodeSecurityScanResult() = default; + AWS_INSPECTOR2_API StartCodeSecurityScanResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API StartCodeSecurityScanResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The unique identifier of the initiated scan.

                              + */ + inline const Aws::String& GetScanId() const { return m_scanId; } + template + void SetScanId(ScanIdT&& value) { m_scanIdHasBeenSet = true; m_scanId = std::forward(value); } + template + StartCodeSecurityScanResult& WithScanId(ScanIdT&& value) { SetScanId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the initiated scan.

                              + */ + inline CodeScanStatus GetStatus() const { return m_status; } + inline void SetStatus(CodeScanStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline StartCodeSecurityScanResult& WithStatus(CodeScanStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + StartCodeSecurityScanResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_scanId; + bool m_scanIdHasBeenSet = false; + + CodeScanStatus m_status{CodeScanStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/SuccessfulAssociationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/SuccessfulAssociationResult.h new file mode 100644 index 00000000000..ad7ca2246d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/SuccessfulAssociationResult.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Details about a successful association or disassociation between a code + * repository and a scan configuration.

                              See Also:

                              AWS + * API Reference

                              + */ + class SuccessfulAssociationResult + { + public: + AWS_INSPECTOR2_API SuccessfulAssociationResult() = default; + AWS_INSPECTOR2_API SuccessfulAssociationResult(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API SuccessfulAssociationResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const CodeSecurityResource& GetResource() const { return m_resource; } + inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } + template + void SetResource(ResourceT&& value) { m_resourceHasBeenSet = true; m_resource = std::forward(value); } + template + SuccessfulAssociationResult& WithResource(ResourceT&& value) { SetResource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration that was + * successfully associated or disassociated.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + SuccessfulAssociationResult& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityResource m_resource; + bool m_resourceHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityIntegrationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityIntegrationRequest.h new file mode 100644 index 00000000000..f602e734be2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityIntegrationRequest.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class UpdateCodeSecurityIntegrationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API UpdateCodeSecurityIntegrationRequest() = default; + + // 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 "UpdateCodeSecurityIntegration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The updated integration details specific to the repository provider type.

                              + */ + inline const UpdateIntegrationDetails& GetDetails() const { return m_details; } + inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } + template + void SetDetails(DetailsT&& value) { m_detailsHasBeenSet = true; m_details = std::forward(value); } + template + UpdateCodeSecurityIntegrationRequest& WithDetails(DetailsT&& value) { SetDetails(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the code security integration to + * update.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + inline bool IntegrationArnHasBeenSet() const { return m_integrationArnHasBeenSet; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + UpdateCodeSecurityIntegrationRequest& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + private: + + UpdateIntegrationDetails m_details; + bool m_detailsHasBeenSet = false; + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityIntegrationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityIntegrationResult.h new file mode 100644 index 00000000000..6f06169536c --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityIntegrationResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class UpdateCodeSecurityIntegrationResult + { + public: + AWS_INSPECTOR2_API UpdateCodeSecurityIntegrationResult() = default; + AWS_INSPECTOR2_API UpdateCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API UpdateCodeSecurityIntegrationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the updated code security integration.

                              + */ + inline const Aws::String& GetIntegrationArn() const { return m_integrationArn; } + template + void SetIntegrationArn(IntegrationArnT&& value) { m_integrationArnHasBeenSet = true; m_integrationArn = std::forward(value); } + template + UpdateCodeSecurityIntegrationResult& WithIntegrationArn(IntegrationArnT&& value) { SetIntegrationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The current status of the updated code security integration.

                              + */ + inline IntegrationStatus GetStatus() const { return m_status; } + inline void SetStatus(IntegrationStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline UpdateCodeSecurityIntegrationResult& WithStatus(IntegrationStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateCodeSecurityIntegrationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_integrationArn; + bool m_integrationArnHasBeenSet = false; + + IntegrationStatus m_status{IntegrationStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityScanConfigurationRequest.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityScanConfigurationRequest.h new file mode 100644 index 00000000000..0e3da8324ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityScanConfigurationRequest.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + + /** + */ + class UpdateCodeSecurityScanConfigurationRequest : public Inspector2Request + { + public: + AWS_INSPECTOR2_API UpdateCodeSecurityScanConfigurationRequest() = default; + + // 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 "UpdateCodeSecurityScanConfiguration"; } + + AWS_INSPECTOR2_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The updated configuration settings for the code security scan.

                              + */ + inline const CodeSecurityScanConfiguration& GetConfiguration() const { return m_configuration; } + inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } + template + void SetConfiguration(ConfigurationT&& value) { m_configurationHasBeenSet = true; m_configuration = std::forward(value); } + template + UpdateCodeSecurityScanConfigurationRequest& WithConfiguration(ConfigurationT&& value) { SetConfiguration(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the scan configuration to update.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + inline bool ScanConfigurationArnHasBeenSet() const { return m_scanConfigurationArnHasBeenSet; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + UpdateCodeSecurityScanConfigurationRequest& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + CodeSecurityScanConfiguration m_configuration; + bool m_configurationHasBeenSet = false; + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityScanConfigurationResult.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityScanConfigurationResult.h new file mode 100644 index 00000000000..b698502668f --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateCodeSecurityScanConfigurationResult.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + class UpdateCodeSecurityScanConfigurationResult + { + public: + AWS_INSPECTOR2_API UpdateCodeSecurityScanConfigurationResult() = default; + AWS_INSPECTOR2_API UpdateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_INSPECTOR2_API UpdateCodeSecurityScanConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The Amazon Resource Name (ARN) of the updated scan configuration.

                              + */ + inline const Aws::String& GetScanConfigurationArn() const { return m_scanConfigurationArn; } + template + void SetScanConfigurationArn(ScanConfigurationArnT&& value) { m_scanConfigurationArnHasBeenSet = true; m_scanConfigurationArn = std::forward(value); } + template + UpdateCodeSecurityScanConfigurationResult& WithScanConfigurationArn(ScanConfigurationArnT&& value) { SetScanConfigurationArn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateCodeSecurityScanConfigurationResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_scanConfigurationArn; + bool m_scanConfigurationArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateGitHubIntegrationDetail.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateGitHubIntegrationDetail.h new file mode 100644 index 00000000000..29afb7a9b93 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateGitHubIntegrationDetail.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details required to update an integration with GitHub.

                              See + * Also:

                              AWS + * API Reference

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

                              The authorization code received from GitHub to update the integration.

                              + */ + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + UpdateGitHubIntegrationDetail& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The installation ID of the GitHub App associated with the integration.

                              + */ + inline const Aws::String& GetInstallationId() const { return m_installationId; } + inline bool InstallationIdHasBeenSet() const { return m_installationIdHasBeenSet; } + template + void SetInstallationId(InstallationIdT&& value) { m_installationIdHasBeenSet = true; m_installationId = std::forward(value); } + template + UpdateGitHubIntegrationDetail& WithInstallationId(InstallationIdT&& value) { SetInstallationId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_code; + bool m_codeHasBeenSet = false; + + Aws::String m_installationId; + bool m_installationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateGitLabSelfManagedIntegrationDetail.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateGitLabSelfManagedIntegrationDetail.h new file mode 100644 index 00000000000..0e248bad6da --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateGitLabSelfManagedIntegrationDetail.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details required to update an integration with a self-managed GitLab + * instance.

                              See Also:

                              AWS + * API Reference

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

                              The authorization code received from the self-managed GitLab instance to + * update the integration.

                              + */ + inline const Aws::String& GetAuthCode() const { return m_authCode; } + inline bool AuthCodeHasBeenSet() const { return m_authCodeHasBeenSet; } + template + void SetAuthCode(AuthCodeT&& value) { m_authCodeHasBeenSet = true; m_authCode = std::forward(value); } + template + UpdateGitLabSelfManagedIntegrationDetail& WithAuthCode(AuthCodeT&& value) { SetAuthCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_authCode; + bool m_authCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateIntegrationDetails.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateIntegrationDetails.h new file mode 100644 index 00000000000..914a4da409a --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UpdateIntegrationDetails.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Inspector2 +{ +namespace Model +{ + + /** + *

                              Contains details required to update a code security integration with a + * specific repository provider.

                              See Also:

                              AWS + * API Reference

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

                              Details specific to updating an integration with GitHub.

                              + */ + inline const UpdateGitHubIntegrationDetail& GetGithub() const { return m_github; } + inline bool GithubHasBeenSet() const { return m_githubHasBeenSet; } + template + void SetGithub(GithubT&& value) { m_githubHasBeenSet = true; m_github = std::forward(value); } + template + UpdateIntegrationDetails& WithGithub(GithubT&& value) { SetGithub(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Details specific to updating an integration with a self-managed GitLab + * instance.

                              + */ + inline const UpdateGitLabSelfManagedIntegrationDetail& GetGitlabSelfManaged() const { return m_gitlabSelfManaged; } + inline bool GitlabSelfManagedHasBeenSet() const { return m_gitlabSelfManagedHasBeenSet; } + template + void SetGitlabSelfManaged(GitlabSelfManagedT&& value) { m_gitlabSelfManagedHasBeenSet = true; m_gitlabSelfManaged = std::forward(value); } + template + UpdateIntegrationDetails& WithGitlabSelfManaged(GitlabSelfManagedT&& value) { SetGitlabSelfManaged(std::forward(value)); return *this;} + ///@} + private: + + UpdateGitHubIntegrationDetail m_github; + bool m_githubHasBeenSet = false; + + UpdateGitLabSelfManagedIntegrationDetail m_gitlabSelfManaged; + bool m_gitlabSelfManagedHasBeenSet = false; + }; + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UsageType.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UsageType.h index 37ef3910faa..a8ec1fcddd9 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UsageType.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/model/UsageType.h @@ -20,7 +20,10 @@ namespace Model ECR_INITIAL_SCAN, ECR_RESCAN, LAMBDA_FUNCTION_HOURS, - LAMBDA_FUNCTION_CODE_HOURS + LAMBDA_FUNCTION_CODE_HOURS, + CODE_REPOSITORY_SAST, + CODE_REPOSITORY_IAC, + CODE_REPOSITORY_SCA }; namespace UsageTypeMapper diff --git a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp index 7cd239b7b5e..74ba4fd62f8 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp @@ -22,6 +22,8 @@ #include #include #include +#include +#include #include #include #include @@ -31,10 +33,14 @@ #include #include #include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -45,6 +51,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -57,6 +66,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -71,10 +83,13 @@ #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -251,6 +266,60 @@ AssociateMemberOutcome Inspector2Client::AssociateMember(const AssociateMemberRe {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +BatchAssociateCodeSecurityScanConfigurationOutcome Inspector2Client::BatchAssociateCodeSecurityScanConfiguration(const BatchAssociateCodeSecurityScanConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(BatchAssociateCodeSecurityScanConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchAssociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchAssociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchAssociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchAssociateCodeSecurityScanConfiguration", + {{ 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( + [&]()-> BatchAssociateCodeSecurityScanConfigurationOutcome { + 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, BatchAssociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/batch/associate"); + return BatchAssociateCodeSecurityScanConfigurationOutcome(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()}}); +} + +BatchDisassociateCodeSecurityScanConfigurationOutcome Inspector2Client::BatchDisassociateCodeSecurityScanConfiguration(const BatchDisassociateCodeSecurityScanConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(BatchDisassociateCodeSecurityScanConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchDisassociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchDisassociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchDisassociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchDisassociateCodeSecurityScanConfiguration", + {{ 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( + [&]()-> BatchDisassociateCodeSecurityScanConfigurationOutcome { + 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, BatchDisassociateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/batch/disassociate"); + return BatchDisassociateCodeSecurityScanConfigurationOutcome(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()}}); +} + BatchGetAccountStatusOutcome Inspector2Client::BatchGetAccountStatus(const BatchGetAccountStatusRequest& request) const { AWS_OPERATION_GUARD(BatchGetAccountStatus); @@ -494,6 +563,60 @@ CreateCisScanConfigurationOutcome Inspector2Client::CreateCisScanConfiguration(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateCodeSecurityIntegrationOutcome Inspector2Client::CreateCodeSecurityIntegration(const CreateCodeSecurityIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateCodeSecurityIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateCodeSecurityIntegration", + {{ 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( + [&]()-> CreateCodeSecurityIntegrationOutcome { + 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, CreateCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/integration/create"); + return CreateCodeSecurityIntegrationOutcome(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()}}); +} + +CreateCodeSecurityScanConfigurationOutcome Inspector2Client::CreateCodeSecurityScanConfiguration(const CreateCodeSecurityScanConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateCodeSecurityScanConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateCodeSecurityScanConfiguration", + {{ 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( + [&]()-> CreateCodeSecurityScanConfigurationOutcome { + 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, CreateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/create"); + return CreateCodeSecurityScanConfigurationOutcome(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()}}); +} + CreateFilterOutcome Inspector2Client::CreateFilter(const CreateFilterRequest& request) const { AWS_OPERATION_GUARD(CreateFilter); @@ -602,6 +725,60 @@ DeleteCisScanConfigurationOutcome Inspector2Client::DeleteCisScanConfiguration(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteCodeSecurityIntegrationOutcome Inspector2Client::DeleteCodeSecurityIntegration(const DeleteCodeSecurityIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteCodeSecurityIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteCodeSecurityIntegration", + {{ 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( + [&]()-> DeleteCodeSecurityIntegrationOutcome { + 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, DeleteCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/integration/delete"); + return DeleteCodeSecurityIntegrationOutcome(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()}}); +} + +DeleteCodeSecurityScanConfigurationOutcome Inspector2Client::DeleteCodeSecurityScanConfiguration(const DeleteCodeSecurityScanConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteCodeSecurityScanConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteCodeSecurityScanConfiguration", + {{ 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( + [&]()-> DeleteCodeSecurityScanConfigurationOutcome { + 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, DeleteCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/delete"); + return DeleteCodeSecurityScanConfigurationOutcome(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()}}); +} + DeleteFilterOutcome Inspector2Client::DeleteFilter(const DeleteFilterRequest& request) const { AWS_OPERATION_GUARD(DeleteFilter); @@ -872,6 +1049,87 @@ GetClustersForImageOutcome Inspector2Client::GetClustersForImage(const GetCluste {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetCodeSecurityIntegrationOutcome Inspector2Client::GetCodeSecurityIntegration(const GetCodeSecurityIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(GetCodeSecurityIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCodeSecurityIntegration", + {{ 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( + [&]()-> GetCodeSecurityIntegrationOutcome { + 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, GetCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/integration/get"); + return GetCodeSecurityIntegrationOutcome(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()}}); +} + +GetCodeSecurityScanOutcome Inspector2Client::GetCodeSecurityScan(const GetCodeSecurityScanRequest& request) const +{ + AWS_OPERATION_GUARD(GetCodeSecurityScan); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCodeSecurityScan, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCodeSecurityScan, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCodeSecurityScan, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCodeSecurityScan", + {{ 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( + [&]()-> GetCodeSecurityScanOutcome { + 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, GetCodeSecurityScan, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan/get"); + return GetCodeSecurityScanOutcome(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()}}); +} + +GetCodeSecurityScanConfigurationOutcome Inspector2Client::GetCodeSecurityScanConfiguration(const GetCodeSecurityScanConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(GetCodeSecurityScanConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetCodeSecurityScanConfiguration", + {{ 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( + [&]()-> GetCodeSecurityScanConfigurationOutcome { + 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, GetCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/get"); + return GetCodeSecurityScanConfigurationOutcome(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()}}); +} + GetConfigurationOutcome Inspector2Client::GetConfiguration(const GetConfigurationRequest& request) const { AWS_OPERATION_GUARD(GetConfiguration); @@ -1206,6 +1464,87 @@ ListCisScansOutcome Inspector2Client::ListCisScans(const ListCisScansRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListCodeSecurityIntegrationsOutcome Inspector2Client::ListCodeSecurityIntegrations(const ListCodeSecurityIntegrationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListCodeSecurityIntegrations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListCodeSecurityIntegrations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListCodeSecurityIntegrations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListCodeSecurityIntegrations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListCodeSecurityIntegrations", + {{ 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( + [&]()-> ListCodeSecurityIntegrationsOutcome { + 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, ListCodeSecurityIntegrations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/integration/list"); + return ListCodeSecurityIntegrationsOutcome(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()}}); +} + +ListCodeSecurityScanConfigurationAssociationsOutcome Inspector2Client::ListCodeSecurityScanConfigurationAssociations(const ListCodeSecurityScanConfigurationAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListCodeSecurityScanConfigurationAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListCodeSecurityScanConfigurationAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListCodeSecurityScanConfigurationAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListCodeSecurityScanConfigurationAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListCodeSecurityScanConfigurationAssociations", + {{ 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( + [&]()-> ListCodeSecurityScanConfigurationAssociationsOutcome { + 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, ListCodeSecurityScanConfigurationAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/associations/list"); + return ListCodeSecurityScanConfigurationAssociationsOutcome(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()}}); +} + +ListCodeSecurityScanConfigurationsOutcome Inspector2Client::ListCodeSecurityScanConfigurations(const ListCodeSecurityScanConfigurationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListCodeSecurityScanConfigurations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListCodeSecurityScanConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListCodeSecurityScanConfigurations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListCodeSecurityScanConfigurations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListCodeSecurityScanConfigurations", + {{ 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( + [&]()-> ListCodeSecurityScanConfigurationsOutcome { + 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, ListCodeSecurityScanConfigurations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/list"); + return ListCodeSecurityScanConfigurationsOutcome(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()}}); +} + ListCoverageOutcome Inspector2Client::ListCoverage(const ListCoverageRequest& request) const { AWS_OPERATION_GUARD(ListCoverage); @@ -1590,6 +1929,33 @@ StartCisSessionOutcome Inspector2Client::StartCisSession(const StartCisSessionRe {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +StartCodeSecurityScanOutcome Inspector2Client::StartCodeSecurityScan(const StartCodeSecurityScanRequest& request) const +{ + AWS_OPERATION_GUARD(StartCodeSecurityScan); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartCodeSecurityScan, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartCodeSecurityScan, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartCodeSecurityScan, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartCodeSecurityScan", + {{ 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( + [&]()-> StartCodeSecurityScanOutcome { + 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, StartCodeSecurityScan, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan/start"); + return StartCodeSecurityScanOutcome(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()}}); +} + StopCisSessionOutcome Inspector2Client::StopCisSession(const StopCisSessionRequest& request) const { AWS_OPERATION_GUARD(StopCisSession); @@ -1715,6 +2081,60 @@ UpdateCisScanConfigurationOutcome Inspector2Client::UpdateCisScanConfiguration(c {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateCodeSecurityIntegrationOutcome Inspector2Client::UpdateCodeSecurityIntegration(const UpdateCodeSecurityIntegrationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateCodeSecurityIntegration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateCodeSecurityIntegration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateCodeSecurityIntegration", + {{ 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( + [&]()-> UpdateCodeSecurityIntegrationOutcome { + 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, UpdateCodeSecurityIntegration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/integration/update"); + return UpdateCodeSecurityIntegrationOutcome(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()}}); +} + +UpdateCodeSecurityScanConfigurationOutcome Inspector2Client::UpdateCodeSecurityScanConfiguration(const UpdateCodeSecurityScanConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateCodeSecurityScanConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateCodeSecurityScanConfiguration", + {{ 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( + [&]()-> UpdateCodeSecurityScanConfigurationOutcome { + 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, UpdateCodeSecurityScanConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/codesecurity/scan-configuration/update"); + return UpdateCodeSecurityScanConfigurationOutcome(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()}}); +} + UpdateConfigurationOutcome Inspector2Client::UpdateConfiguration(const UpdateConfigurationRequest& request) const { AWS_OPERATION_GUARD(UpdateConfiguration); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationRequest.cpp index 9e4109fd250..0b3e18f52ae 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationRequest.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationRequest.cpp @@ -40,6 +40,11 @@ AggregationRequest& AggregationRequest::operator =(JsonView jsonValue) m_awsEcrContainerAggregation = jsonValue.GetObject("awsEcrContainerAggregation"); m_awsEcrContainerAggregationHasBeenSet = true; } + if(jsonValue.ValueExists("codeRepositoryAggregation")) + { + m_codeRepositoryAggregation = jsonValue.GetObject("codeRepositoryAggregation"); + m_codeRepositoryAggregationHasBeenSet = true; + } if(jsonValue.ValueExists("ec2InstanceAggregation")) { m_ec2InstanceAggregation = jsonValue.GetObject("ec2InstanceAggregation"); @@ -105,6 +110,12 @@ JsonValue AggregationRequest::Jsonize() const } + if(m_codeRepositoryAggregationHasBeenSet) + { + payload.WithObject("codeRepositoryAggregation", m_codeRepositoryAggregation.Jsonize()); + + } + if(m_ec2InstanceAggregationHasBeenSet) { payload.WithObject("ec2InstanceAggregation", m_ec2InstanceAggregation.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationResponse.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationResponse.cpp index fd2bd38d8d0..5025b8ca418 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationResponse.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationResponse.cpp @@ -40,6 +40,11 @@ AggregationResponse& AggregationResponse::operator =(JsonView jsonValue) m_awsEcrContainerAggregation = jsonValue.GetObject("awsEcrContainerAggregation"); m_awsEcrContainerAggregationHasBeenSet = true; } + if(jsonValue.ValueExists("codeRepositoryAggregation")) + { + m_codeRepositoryAggregation = jsonValue.GetObject("codeRepositoryAggregation"); + m_codeRepositoryAggregationHasBeenSet = true; + } if(jsonValue.ValueExists("ec2InstanceAggregation")) { m_ec2InstanceAggregation = jsonValue.GetObject("ec2InstanceAggregation"); @@ -105,6 +110,12 @@ JsonValue AggregationResponse::Jsonize() const } + if(m_codeRepositoryAggregationHasBeenSet) + { + payload.WithObject("codeRepositoryAggregation", m_codeRepositoryAggregation.Jsonize()); + + } + if(m_ec2InstanceAggregationHasBeenSet) { payload.WithObject("ec2InstanceAggregation", m_ec2InstanceAggregation.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationType.cpp index 2e61274231e..84faa418ed8 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationType.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/AggregationType.cpp @@ -31,6 +31,7 @@ namespace Aws static const int ACCOUNT_HASH = HashingUtils::HashString("ACCOUNT"); static const int AWS_LAMBDA_FUNCTION_HASH = HashingUtils::HashString("AWS_LAMBDA_FUNCTION"); static const int LAMBDA_LAYER_HASH = HashingUtils::HashString("LAMBDA_LAYER"); + static const int CODE_REPOSITORY_HASH = HashingUtils::HashString("CODE_REPOSITORY"); AggregationType GetAggregationTypeForName(const Aws::String& name) @@ -80,6 +81,10 @@ namespace Aws { return AggregationType::LAMBDA_LAYER; } + else if (hashCode == CODE_REPOSITORY_HASH) + { + return AggregationType::CODE_REPOSITORY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -118,6 +123,8 @@ namespace Aws return "AWS_LAMBDA_FUNCTION"; case AggregationType::LAMBDA_LAYER: return "LAMBDA_LAYER"; + case AggregationType::CODE_REPOSITORY: + return "CODE_REPOSITORY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/AssociateConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/AssociateConfigurationRequest.cpp new file mode 100644 index 00000000000..e59086761bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/AssociateConfigurationRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +AssociateConfigurationRequest::AssociateConfigurationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +AssociateConfigurationRequest& AssociateConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetObject("resource"); + m_resourceHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + return *this; +} + +JsonValue AssociateConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/AssociationResultStatusCode.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/AssociationResultStatusCode.cpp new file mode 100644 index 00000000000..dc326db10ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/AssociationResultStatusCode.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Inspector2 + { + namespace Model + { + namespace AssociationResultStatusCodeMapper + { + + static const int INTERNAL_ERROR_HASH = HashingUtils::HashString("INTERNAL_ERROR"); + static const int ACCESS_DENIED_HASH = HashingUtils::HashString("ACCESS_DENIED"); + static const int SCAN_CONFIGURATION_NOT_FOUND_HASH = HashingUtils::HashString("SCAN_CONFIGURATION_NOT_FOUND"); + static const int INVALID_INPUT_HASH = HashingUtils::HashString("INVALID_INPUT"); + static const int RESOURCE_NOT_FOUND_HASH = HashingUtils::HashString("RESOURCE_NOT_FOUND"); + static const int QUOTA_EXCEEDED_HASH = HashingUtils::HashString("QUOTA_EXCEEDED"); + + + AssociationResultStatusCode GetAssociationResultStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == INTERNAL_ERROR_HASH) + { + return AssociationResultStatusCode::INTERNAL_ERROR; + } + else if (hashCode == ACCESS_DENIED_HASH) + { + return AssociationResultStatusCode::ACCESS_DENIED; + } + else if (hashCode == SCAN_CONFIGURATION_NOT_FOUND_HASH) + { + return AssociationResultStatusCode::SCAN_CONFIGURATION_NOT_FOUND; + } + else if (hashCode == INVALID_INPUT_HASH) + { + return AssociationResultStatusCode::INVALID_INPUT; + } + else if (hashCode == RESOURCE_NOT_FOUND_HASH) + { + return AssociationResultStatusCode::RESOURCE_NOT_FOUND; + } + else if (hashCode == QUOTA_EXCEEDED_HASH) + { + return AssociationResultStatusCode::QUOTA_EXCEEDED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AssociationResultStatusCode::NOT_SET; + } + + Aws::String GetNameForAssociationResultStatusCode(AssociationResultStatusCode enumValue) + { + switch(enumValue) + { + case AssociationResultStatusCode::NOT_SET: + return {}; + case AssociationResultStatusCode::INTERNAL_ERROR: + return "INTERNAL_ERROR"; + case AssociationResultStatusCode::ACCESS_DENIED: + return "ACCESS_DENIED"; + case AssociationResultStatusCode::SCAN_CONFIGURATION_NOT_FOUND: + return "SCAN_CONFIGURATION_NOT_FOUND"; + case AssociationResultStatusCode::INVALID_INPUT: + return "INVALID_INPUT"; + case AssociationResultStatusCode::RESOURCE_NOT_FOUND: + return "RESOURCE_NOT_FOUND"; + case AssociationResultStatusCode::QUOTA_EXCEEDED: + return "QUOTA_EXCEEDED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AssociationResultStatusCodeMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/AutoEnable.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/AutoEnable.cpp index 51f0e30fd52..4bb1a39d70a 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/AutoEnable.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/AutoEnable.cpp @@ -25,6 +25,11 @@ AutoEnable::AutoEnable(JsonView jsonValue) AutoEnable& AutoEnable::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("codeRepository")) + { + m_codeRepository = jsonValue.GetBool("codeRepository"); + m_codeRepositoryHasBeenSet = true; + } if(jsonValue.ValueExists("ec2")) { m_ec2 = jsonValue.GetBool("ec2"); @@ -52,6 +57,12 @@ JsonValue AutoEnable::Jsonize() const { JsonValue payload; + if(m_codeRepositoryHasBeenSet) + { + payload.WithBool("codeRepository", m_codeRepository); + + } + if(m_ec2HasBeenSet) { payload.WithBool("ec2", m_ec2); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/BatchAssociateCodeSecurityScanConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchAssociateCodeSecurityScanConfigurationRequest.cpp new file mode 100644 index 00000000000..8c2e1a7be1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchAssociateCodeSecurityScanConfigurationRequest.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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String BatchAssociateCodeSecurityScanConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_associateConfigurationRequestsHasBeenSet) + { + Aws::Utils::Array associateConfigurationRequestsJsonList(m_associateConfigurationRequests.size()); + for(unsigned associateConfigurationRequestsIndex = 0; associateConfigurationRequestsIndex < associateConfigurationRequestsJsonList.GetLength(); ++associateConfigurationRequestsIndex) + { + associateConfigurationRequestsJsonList[associateConfigurationRequestsIndex].AsObject(m_associateConfigurationRequests[associateConfigurationRequestsIndex].Jsonize()); + } + payload.WithArray("associateConfigurationRequests", std::move(associateConfigurationRequestsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/BatchAssociateCodeSecurityScanConfigurationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchAssociateCodeSecurityScanConfigurationResult.cpp new file mode 100644 index 00000000000..862912bb77c --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchAssociateCodeSecurityScanConfigurationResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchAssociateCodeSecurityScanConfigurationResult::BatchAssociateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchAssociateCodeSecurityScanConfigurationResult& BatchAssociateCodeSecurityScanConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("failedAssociations")) + { + Aws::Utils::Array failedAssociationsJsonList = jsonValue.GetArray("failedAssociations"); + for(unsigned failedAssociationsIndex = 0; failedAssociationsIndex < failedAssociationsJsonList.GetLength(); ++failedAssociationsIndex) + { + m_failedAssociations.push_back(failedAssociationsJsonList[failedAssociationsIndex].AsObject()); + } + m_failedAssociationsHasBeenSet = true; + } + if(jsonValue.ValueExists("successfulAssociations")) + { + Aws::Utils::Array successfulAssociationsJsonList = jsonValue.GetArray("successfulAssociations"); + for(unsigned successfulAssociationsIndex = 0; successfulAssociationsIndex < successfulAssociationsJsonList.GetLength(); ++successfulAssociationsIndex) + { + m_successfulAssociations.push_back(successfulAssociationsJsonList[successfulAssociationsIndex].AsObject()); + } + m_successfulAssociationsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/BatchDisassociateCodeSecurityScanConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchDisassociateCodeSecurityScanConfigurationRequest.cpp new file mode 100644 index 00000000000..4bf2abd50d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchDisassociateCodeSecurityScanConfigurationRequest.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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String BatchDisassociateCodeSecurityScanConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_disassociateConfigurationRequestsHasBeenSet) + { + Aws::Utils::Array disassociateConfigurationRequestsJsonList(m_disassociateConfigurationRequests.size()); + for(unsigned disassociateConfigurationRequestsIndex = 0; disassociateConfigurationRequestsIndex < disassociateConfigurationRequestsJsonList.GetLength(); ++disassociateConfigurationRequestsIndex) + { + disassociateConfigurationRequestsJsonList[disassociateConfigurationRequestsIndex].AsObject(m_disassociateConfigurationRequests[disassociateConfigurationRequestsIndex].Jsonize()); + } + payload.WithArray("disassociateConfigurationRequests", std::move(disassociateConfigurationRequestsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/BatchDisassociateCodeSecurityScanConfigurationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchDisassociateCodeSecurityScanConfigurationResult.cpp new file mode 100644 index 00000000000..c8e2d823b76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/BatchDisassociateCodeSecurityScanConfigurationResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchDisassociateCodeSecurityScanConfigurationResult::BatchDisassociateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchDisassociateCodeSecurityScanConfigurationResult& BatchDisassociateCodeSecurityScanConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("failedAssociations")) + { + Aws::Utils::Array failedAssociationsJsonList = jsonValue.GetArray("failedAssociations"); + for(unsigned failedAssociationsIndex = 0; failedAssociationsIndex < failedAssociationsJsonList.GetLength(); ++failedAssociationsIndex) + { + m_failedAssociations.push_back(failedAssociationsJsonList[failedAssociationsIndex].AsObject()); + } + m_failedAssociationsHasBeenSet = true; + } + if(jsonValue.ValueExists("successfulAssociations")) + { + Aws::Utils::Array successfulAssociationsJsonList = jsonValue.GetArray("successfulAssociations"); + for(unsigned successfulAssociationsIndex = 0; successfulAssociationsIndex < successfulAssociationsJsonList.GetLength(); ++successfulAssociationsIndex) + { + m_successfulAssociations.push_back(successfulAssociationsJsonList[successfulAssociationsIndex].AsObject()); + } + m_successfulAssociationsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryAggregation.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryAggregation.cpp new file mode 100644 index 00000000000..ba673b52fb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryAggregation.cpp @@ -0,0 +1,120 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +CodeRepositoryAggregation::CodeRepositoryAggregation(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeRepositoryAggregation& CodeRepositoryAggregation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("projectNames")) + { + Aws::Utils::Array projectNamesJsonList = jsonValue.GetArray("projectNames"); + for(unsigned projectNamesIndex = 0; projectNamesIndex < projectNamesJsonList.GetLength(); ++projectNamesIndex) + { + m_projectNames.push_back(projectNamesJsonList[projectNamesIndex].AsObject()); + } + m_projectNamesHasBeenSet = true; + } + if(jsonValue.ValueExists("providerTypes")) + { + Aws::Utils::Array providerTypesJsonList = jsonValue.GetArray("providerTypes"); + for(unsigned providerTypesIndex = 0; providerTypesIndex < providerTypesJsonList.GetLength(); ++providerTypesIndex) + { + m_providerTypes.push_back(providerTypesJsonList[providerTypesIndex].AsObject()); + } + m_providerTypesHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceIds")) + { + Aws::Utils::Array resourceIdsJsonList = jsonValue.GetArray("resourceIds"); + for(unsigned resourceIdsIndex = 0; resourceIdsIndex < resourceIdsJsonList.GetLength(); ++resourceIdsIndex) + { + m_resourceIds.push_back(resourceIdsJsonList[resourceIdsIndex].AsObject()); + } + m_resourceIdsHasBeenSet = true; + } + if(jsonValue.ValueExists("sortBy")) + { + m_sortBy = CodeRepositorySortByMapper::GetCodeRepositorySortByForName(jsonValue.GetString("sortBy")); + m_sortByHasBeenSet = true; + } + if(jsonValue.ValueExists("sortOrder")) + { + m_sortOrder = SortOrderMapper::GetSortOrderForName(jsonValue.GetString("sortOrder")); + m_sortOrderHasBeenSet = true; + } + return *this; +} + +JsonValue CodeRepositoryAggregation::Jsonize() const +{ + JsonValue payload; + + if(m_projectNamesHasBeenSet) + { + Aws::Utils::Array projectNamesJsonList(m_projectNames.size()); + for(unsigned projectNamesIndex = 0; projectNamesIndex < projectNamesJsonList.GetLength(); ++projectNamesIndex) + { + projectNamesJsonList[projectNamesIndex].AsObject(m_projectNames[projectNamesIndex].Jsonize()); + } + payload.WithArray("projectNames", std::move(projectNamesJsonList)); + + } + + if(m_providerTypesHasBeenSet) + { + Aws::Utils::Array providerTypesJsonList(m_providerTypes.size()); + for(unsigned providerTypesIndex = 0; providerTypesIndex < providerTypesJsonList.GetLength(); ++providerTypesIndex) + { + providerTypesJsonList[providerTypesIndex].AsObject(m_providerTypes[providerTypesIndex].Jsonize()); + } + payload.WithArray("providerTypes", std::move(providerTypesJsonList)); + + } + + if(m_resourceIdsHasBeenSet) + { + Aws::Utils::Array resourceIdsJsonList(m_resourceIds.size()); + for(unsigned resourceIdsIndex = 0; resourceIdsIndex < resourceIdsJsonList.GetLength(); ++resourceIdsIndex) + { + resourceIdsJsonList[resourceIdsIndex].AsObject(m_resourceIds[resourceIdsIndex].Jsonize()); + } + payload.WithArray("resourceIds", std::move(resourceIdsJsonList)); + + } + + if(m_sortByHasBeenSet) + { + payload.WithString("sortBy", CodeRepositorySortByMapper::GetNameForCodeRepositorySortBy(m_sortBy)); + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("sortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryAggregationResponse.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryAggregationResponse.cpp new file mode 100644 index 00000000000..e775d8c4e43 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryAggregationResponse.cpp @@ -0,0 +1,117 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +CodeRepositoryAggregationResponse::CodeRepositoryAggregationResponse(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeRepositoryAggregationResponse& CodeRepositoryAggregationResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + m_accountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("exploitAvailableActiveFindingsCount")) + { + m_exploitAvailableActiveFindingsCount = jsonValue.GetInt64("exploitAvailableActiveFindingsCount"); + m_exploitAvailableActiveFindingsCountHasBeenSet = true; + } + if(jsonValue.ValueExists("fixAvailableActiveFindingsCount")) + { + m_fixAvailableActiveFindingsCount = jsonValue.GetInt64("fixAvailableActiveFindingsCount"); + m_fixAvailableActiveFindingsCountHasBeenSet = true; + } + if(jsonValue.ValueExists("projectNames")) + { + m_projectNames = jsonValue.GetString("projectNames"); + m_projectNamesHasBeenSet = true; + } + if(jsonValue.ValueExists("providerType")) + { + m_providerType = jsonValue.GetString("providerType"); + m_providerTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("resourceId")) + { + m_resourceId = jsonValue.GetString("resourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("severityCounts")) + { + m_severityCounts = jsonValue.GetObject("severityCounts"); + m_severityCountsHasBeenSet = true; + } + return *this; +} + +JsonValue CodeRepositoryAggregationResponse::Jsonize() const +{ + JsonValue payload; + + if(m_accountIdHasBeenSet) + { + payload.WithString("accountId", m_accountId); + + } + + if(m_exploitAvailableActiveFindingsCountHasBeenSet) + { + payload.WithInt64("exploitAvailableActiveFindingsCount", m_exploitAvailableActiveFindingsCount); + + } + + if(m_fixAvailableActiveFindingsCountHasBeenSet) + { + payload.WithInt64("fixAvailableActiveFindingsCount", m_fixAvailableActiveFindingsCount); + + } + + if(m_projectNamesHasBeenSet) + { + payload.WithString("projectNames", m_projectNames); + + } + + if(m_providerTypeHasBeenSet) + { + payload.WithString("providerType", m_providerType); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("resourceId", m_resourceId); + + } + + if(m_severityCountsHasBeenSet) + { + payload.WithObject("severityCounts", m_severityCounts.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryDetails.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryDetails.cpp new file mode 100644 index 00000000000..ace3aca6ab2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryDetails.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CodeRepositoryDetails::CodeRepositoryDetails(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeRepositoryDetails& CodeRepositoryDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("projectName")) + { + m_projectName = jsonValue.GetString("projectName"); + m_projectNameHasBeenSet = true; + } + if(jsonValue.ValueExists("providerType")) + { + m_providerType = CodeRepositoryProviderTypeMapper::GetCodeRepositoryProviderTypeForName(jsonValue.GetString("providerType")); + m_providerTypeHasBeenSet = true; + } + return *this; +} + +JsonValue CodeRepositoryDetails::Jsonize() const +{ + JsonValue payload; + + if(m_integrationArnHasBeenSet) + { + payload.WithString("integrationArn", m_integrationArn); + + } + + if(m_projectNameHasBeenSet) + { + payload.WithString("projectName", m_projectName); + + } + + if(m_providerTypeHasBeenSet) + { + payload.WithString("providerType", CodeRepositoryProviderTypeMapper::GetNameForCodeRepositoryProviderType(m_providerType)); + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryMetadata.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryMetadata.cpp new file mode 100644 index 00000000000..0151cc3a945 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryMetadata.cpp @@ -0,0 +1,117 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +CodeRepositoryMetadata::CodeRepositoryMetadata(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeRepositoryMetadata& CodeRepositoryMetadata::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("lastScannedCommitId")) + { + m_lastScannedCommitId = jsonValue.GetString("lastScannedCommitId"); + m_lastScannedCommitIdHasBeenSet = true; + } + if(jsonValue.ValueExists("onDemandScan")) + { + m_onDemandScan = jsonValue.GetObject("onDemandScan"); + m_onDemandScanHasBeenSet = true; + } + if(jsonValue.ValueExists("projectName")) + { + m_projectName = jsonValue.GetString("projectName"); + m_projectNameHasBeenSet = true; + } + if(jsonValue.ValueExists("providerType")) + { + m_providerType = jsonValue.GetString("providerType"); + m_providerTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("providerTypeVisibility")) + { + m_providerTypeVisibility = jsonValue.GetString("providerTypeVisibility"); + m_providerTypeVisibilityHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfiguration")) + { + m_scanConfiguration = jsonValue.GetObject("scanConfiguration"); + m_scanConfigurationHasBeenSet = true; + } + return *this; +} + +JsonValue CodeRepositoryMetadata::Jsonize() const +{ + JsonValue payload; + + if(m_integrationArnHasBeenSet) + { + payload.WithString("integrationArn", m_integrationArn); + + } + + if(m_lastScannedCommitIdHasBeenSet) + { + payload.WithString("lastScannedCommitId", m_lastScannedCommitId); + + } + + if(m_onDemandScanHasBeenSet) + { + payload.WithObject("onDemandScan", m_onDemandScan.Jsonize()); + + } + + if(m_projectNameHasBeenSet) + { + payload.WithString("projectName", m_projectName); + + } + + if(m_providerTypeHasBeenSet) + { + payload.WithString("providerType", m_providerType); + + } + + if(m_providerTypeVisibilityHasBeenSet) + { + payload.WithString("providerTypeVisibility", m_providerTypeVisibility); + + } + + if(m_scanConfigurationHasBeenSet) + { + payload.WithObject("scanConfiguration", m_scanConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryOnDemandScan.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryOnDemandScan.cpp new file mode 100644 index 00000000000..09c73550658 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryOnDemandScan.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CodeRepositoryOnDemandScan::CodeRepositoryOnDemandScan(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeRepositoryOnDemandScan& CodeRepositoryOnDemandScan::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("lastScanAt")) + { + m_lastScanAt = jsonValue.GetDouble("lastScanAt"); + m_lastScanAtHasBeenSet = true; + } + if(jsonValue.ValueExists("lastScannedCommitId")) + { + m_lastScannedCommitId = jsonValue.GetString("lastScannedCommitId"); + m_lastScannedCommitIdHasBeenSet = true; + } + if(jsonValue.ValueExists("scanStatus")) + { + m_scanStatus = jsonValue.GetObject("scanStatus"); + m_scanStatusHasBeenSet = true; + } + return *this; +} + +JsonValue CodeRepositoryOnDemandScan::Jsonize() const +{ + JsonValue payload; + + if(m_lastScanAtHasBeenSet) + { + payload.WithDouble("lastScanAt", m_lastScanAt.SecondsWithMSPrecision()); + } + + if(m_lastScannedCommitIdHasBeenSet) + { + payload.WithString("lastScannedCommitId", m_lastScannedCommitId); + + } + + if(m_scanStatusHasBeenSet) + { + payload.WithObject("scanStatus", m_scanStatus.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryProviderType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryProviderType.cpp new file mode 100644 index 00000000000..b7ce6afae7e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositoryProviderType.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 Inspector2 + { + namespace Model + { + namespace CodeRepositoryProviderTypeMapper + { + + static const int GITHUB_HASH = HashingUtils::HashString("GITHUB"); + static const int GITLAB_SELF_MANAGED_HASH = HashingUtils::HashString("GITLAB_SELF_MANAGED"); + + + CodeRepositoryProviderType GetCodeRepositoryProviderTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GITHUB_HASH) + { + return CodeRepositoryProviderType::GITHUB; + } + else if (hashCode == GITLAB_SELF_MANAGED_HASH) + { + return CodeRepositoryProviderType::GITLAB_SELF_MANAGED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CodeRepositoryProviderType::NOT_SET; + } + + Aws::String GetNameForCodeRepositoryProviderType(CodeRepositoryProviderType enumValue) + { + switch(enumValue) + { + case CodeRepositoryProviderType::NOT_SET: + return {}; + case CodeRepositoryProviderType::GITHUB: + return "GITHUB"; + case CodeRepositoryProviderType::GITLAB_SELF_MANAGED: + return "GITLAB_SELF_MANAGED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CodeRepositoryProviderTypeMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositorySortBy.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositorySortBy.cpp new file mode 100644 index 00000000000..a0f5cdf4512 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeRepositorySortBy.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Inspector2 + { + namespace Model + { + namespace CodeRepositorySortByMapper + { + + static const int CRITICAL_HASH = HashingUtils::HashString("CRITICAL"); + static const int HIGH_HASH = HashingUtils::HashString("HIGH"); + static const int ALL_HASH = HashingUtils::HashString("ALL"); + + + CodeRepositorySortBy GetCodeRepositorySortByForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CRITICAL_HASH) + { + return CodeRepositorySortBy::CRITICAL; + } + else if (hashCode == HIGH_HASH) + { + return CodeRepositorySortBy::HIGH; + } + else if (hashCode == ALL_HASH) + { + return CodeRepositorySortBy::ALL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CodeRepositorySortBy::NOT_SET; + } + + Aws::String GetNameForCodeRepositorySortBy(CodeRepositorySortBy enumValue) + { + switch(enumValue) + { + case CodeRepositorySortBy::NOT_SET: + return {}; + case CodeRepositorySortBy::CRITICAL: + return "CRITICAL"; + case CodeRepositorySortBy::HIGH: + return "HIGH"; + case CodeRepositorySortBy::ALL: + return "ALL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CodeRepositorySortByMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeScanStatus.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeScanStatus.cpp new file mode 100644 index 00000000000..8c4a209eb7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeScanStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Inspector2 + { + namespace Model + { + namespace CodeScanStatusMapper + { + + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int SUCCESSFUL_HASH = HashingUtils::HashString("SUCCESSFUL"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int SKIPPED_HASH = HashingUtils::HashString("SKIPPED"); + + + CodeScanStatus GetCodeScanStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IN_PROGRESS_HASH) + { + return CodeScanStatus::IN_PROGRESS; + } + else if (hashCode == SUCCESSFUL_HASH) + { + return CodeScanStatus::SUCCESSFUL; + } + else if (hashCode == FAILED_HASH) + { + return CodeScanStatus::FAILED; + } + else if (hashCode == SKIPPED_HASH) + { + return CodeScanStatus::SKIPPED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CodeScanStatus::NOT_SET; + } + + Aws::String GetNameForCodeScanStatus(CodeScanStatus enumValue) + { + switch(enumValue) + { + case CodeScanStatus::NOT_SET: + return {}; + case CodeScanStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case CodeScanStatus::SUCCESSFUL: + return "SUCCESSFUL"; + case CodeScanStatus::FAILED: + return "FAILED"; + case CodeScanStatus::SKIPPED: + return "SKIPPED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CodeScanStatusMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityIntegrationSummary.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityIntegrationSummary.cpp new file mode 100644 index 00000000000..8aa8ea77571 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityIntegrationSummary.cpp @@ -0,0 +1,133 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +CodeSecurityIntegrationSummary::CodeSecurityIntegrationSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeSecurityIntegrationSummary& CodeSecurityIntegrationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("createdOn")) + { + m_createdOn = jsonValue.GetDouble("createdOn"); + m_createdOnHasBeenSet = true; + } + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("lastUpdateOn")) + { + m_lastUpdateOn = jsonValue.GetDouble("lastUpdateOn"); + m_lastUpdateOnHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + m_statusReasonHasBeenSet = true; + } + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + if(jsonValue.ValueExists("type")) + { + m_type = IntegrationTypeMapper::GetIntegrationTypeForName(jsonValue.GetString("type")); + m_typeHasBeenSet = true; + } + return *this; +} + +JsonValue CodeSecurityIntegrationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_createdOnHasBeenSet) + { + payload.WithDouble("createdOn", m_createdOn.SecondsWithMSPrecision()); + } + + if(m_integrationArnHasBeenSet) + { + payload.WithString("integrationArn", m_integrationArn); + + } + + if(m_lastUpdateOnHasBeenSet) + { + payload.WithDouble("lastUpdateOn", m_lastUpdateOn.SecondsWithMSPrecision()); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", IntegrationStatusMapper::GetNameForIntegrationStatus(m_status)); + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("statusReason", m_statusReason); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", IntegrationTypeMapper::GetNameForIntegrationType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityResource.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityResource.cpp new file mode 100644 index 00000000000..2c24359e90e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityResource.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CodeSecurityResource::CodeSecurityResource(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeSecurityResource& CodeSecurityResource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("projectId")) + { + m_projectId = jsonValue.GetString("projectId"); + m_projectIdHasBeenSet = true; + } + return *this; +} + +JsonValue CodeSecurityResource::Jsonize() const +{ + JsonValue payload; + + if(m_projectIdHasBeenSet) + { + payload.WithString("projectId", m_projectId); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfiguration.cpp new file mode 100644 index 00000000000..35b06d1abe3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfiguration.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CodeSecurityScanConfiguration::CodeSecurityScanConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeSecurityScanConfiguration& CodeSecurityScanConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("continuousIntegrationScanConfiguration")) + { + m_continuousIntegrationScanConfiguration = jsonValue.GetObject("continuousIntegrationScanConfiguration"); + m_continuousIntegrationScanConfigurationHasBeenSet = true; + } + if(jsonValue.ValueExists("periodicScanConfiguration")) + { + m_periodicScanConfiguration = jsonValue.GetObject("periodicScanConfiguration"); + m_periodicScanConfigurationHasBeenSet = true; + } + if(jsonValue.ValueExists("ruleSetCategories")) + { + Aws::Utils::Array ruleSetCategoriesJsonList = jsonValue.GetArray("ruleSetCategories"); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + m_ruleSetCategories.push_back(RuleSetCategoryMapper::GetRuleSetCategoryForName(ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString())); + } + m_ruleSetCategoriesHasBeenSet = true; + } + return *this; +} + +JsonValue CodeSecurityScanConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_continuousIntegrationScanConfigurationHasBeenSet) + { + payload.WithObject("continuousIntegrationScanConfiguration", m_continuousIntegrationScanConfiguration.Jsonize()); + + } + + if(m_periodicScanConfigurationHasBeenSet) + { + payload.WithObject("periodicScanConfiguration", m_periodicScanConfiguration.Jsonize()); + + } + + if(m_ruleSetCategoriesHasBeenSet) + { + Aws::Utils::Array ruleSetCategoriesJsonList(m_ruleSetCategories.size()); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString(RuleSetCategoryMapper::GetNameForRuleSetCategory(m_ruleSetCategories[ruleSetCategoriesIndex])); + } + payload.WithArray("ruleSetCategories", std::move(ruleSetCategoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfigurationAssociationSummary.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfigurationAssociationSummary.cpp new file mode 100644 index 00000000000..75d690a0830 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfigurationAssociationSummary.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CodeSecurityScanConfigurationAssociationSummary::CodeSecurityScanConfigurationAssociationSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeSecurityScanConfigurationAssociationSummary& CodeSecurityScanConfigurationAssociationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetObject("resource"); + m_resourceHasBeenSet = true; + } + return *this; +} + +JsonValue CodeSecurityScanConfigurationAssociationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfigurationSummary.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfigurationSummary.cpp new file mode 100644 index 00000000000..5eaf858677f --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CodeSecurityScanConfigurationSummary.cpp @@ -0,0 +1,165 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +CodeSecurityScanConfigurationSummary::CodeSecurityScanConfigurationSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +CodeSecurityScanConfigurationSummary& CodeSecurityScanConfigurationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("continuousIntegrationScanSupportedEvents")) + { + Aws::Utils::Array continuousIntegrationScanSupportedEventsJsonList = jsonValue.GetArray("continuousIntegrationScanSupportedEvents"); + for(unsigned continuousIntegrationScanSupportedEventsIndex = 0; continuousIntegrationScanSupportedEventsIndex < continuousIntegrationScanSupportedEventsJsonList.GetLength(); ++continuousIntegrationScanSupportedEventsIndex) + { + m_continuousIntegrationScanSupportedEvents.push_back(ContinuousIntegrationScanEventMapper::GetContinuousIntegrationScanEventForName(continuousIntegrationScanSupportedEventsJsonList[continuousIntegrationScanSupportedEventsIndex].AsString())); + } + m_continuousIntegrationScanSupportedEventsHasBeenSet = true; + } + if(jsonValue.ValueExists("frequencyExpression")) + { + m_frequencyExpression = jsonValue.GetString("frequencyExpression"); + m_frequencyExpressionHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("ownerAccountId")) + { + m_ownerAccountId = jsonValue.GetString("ownerAccountId"); + m_ownerAccountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("periodicScanFrequency")) + { + m_periodicScanFrequency = PeriodicScanFrequencyMapper::GetPeriodicScanFrequencyForName(jsonValue.GetString("periodicScanFrequency")); + m_periodicScanFrequencyHasBeenSet = true; + } + if(jsonValue.ValueExists("ruleSetCategories")) + { + Aws::Utils::Array ruleSetCategoriesJsonList = jsonValue.GetArray("ruleSetCategories"); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + m_ruleSetCategories.push_back(RuleSetCategoryMapper::GetRuleSetCategoryForName(ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString())); + } + m_ruleSetCategoriesHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("scopeSettings")) + { + m_scopeSettings = jsonValue.GetObject("scopeSettings"); + m_scopeSettingsHasBeenSet = true; + } + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + return *this; +} + +JsonValue CodeSecurityScanConfigurationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_continuousIntegrationScanSupportedEventsHasBeenSet) + { + Aws::Utils::Array continuousIntegrationScanSupportedEventsJsonList(m_continuousIntegrationScanSupportedEvents.size()); + for(unsigned continuousIntegrationScanSupportedEventsIndex = 0; continuousIntegrationScanSupportedEventsIndex < continuousIntegrationScanSupportedEventsJsonList.GetLength(); ++continuousIntegrationScanSupportedEventsIndex) + { + continuousIntegrationScanSupportedEventsJsonList[continuousIntegrationScanSupportedEventsIndex].AsString(ContinuousIntegrationScanEventMapper::GetNameForContinuousIntegrationScanEvent(m_continuousIntegrationScanSupportedEvents[continuousIntegrationScanSupportedEventsIndex])); + } + payload.WithArray("continuousIntegrationScanSupportedEvents", std::move(continuousIntegrationScanSupportedEventsJsonList)); + + } + + if(m_frequencyExpressionHasBeenSet) + { + payload.WithString("frequencyExpression", m_frequencyExpression); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_ownerAccountIdHasBeenSet) + { + payload.WithString("ownerAccountId", m_ownerAccountId); + + } + + if(m_periodicScanFrequencyHasBeenSet) + { + payload.WithString("periodicScanFrequency", PeriodicScanFrequencyMapper::GetNameForPeriodicScanFrequency(m_periodicScanFrequency)); + } + + if(m_ruleSetCategoriesHasBeenSet) + { + Aws::Utils::Array ruleSetCategoriesJsonList(m_ruleSetCategories.size()); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString(RuleSetCategoryMapper::GetNameForRuleSetCategory(m_ruleSetCategories[ruleSetCategoriesIndex])); + } + payload.WithArray("ruleSetCategories", std::move(ruleSetCategoriesJsonList)); + + } + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + if(m_scopeSettingsHasBeenSet) + { + payload.WithObject("scopeSettings", m_scopeSettings.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ConfigurationLevel.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ConfigurationLevel.cpp new file mode 100644 index 00000000000..d50851dec61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ConfigurationLevel.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 Inspector2 + { + namespace Model + { + namespace ConfigurationLevelMapper + { + + static const int ORGANIZATION_HASH = HashingUtils::HashString("ORGANIZATION"); + static const int ACCOUNT_HASH = HashingUtils::HashString("ACCOUNT"); + + + ConfigurationLevel GetConfigurationLevelForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ORGANIZATION_HASH) + { + return ConfigurationLevel::ORGANIZATION; + } + else if (hashCode == ACCOUNT_HASH) + { + return ConfigurationLevel::ACCOUNT; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConfigurationLevel::NOT_SET; + } + + Aws::String GetNameForConfigurationLevel(ConfigurationLevel enumValue) + { + switch(enumValue) + { + case ConfigurationLevel::NOT_SET: + return {}; + case ConfigurationLevel::ORGANIZATION: + return "ORGANIZATION"; + case ConfigurationLevel::ACCOUNT: + return "ACCOUNT"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConfigurationLevelMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ContinuousIntegrationScanConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ContinuousIntegrationScanConfiguration.cpp new file mode 100644 index 00000000000..1c9c7be5e9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ContinuousIntegrationScanConfiguration.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +ContinuousIntegrationScanConfiguration::ContinuousIntegrationScanConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ContinuousIntegrationScanConfiguration& ContinuousIntegrationScanConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("supportedEvents")) + { + Aws::Utils::Array supportedEventsJsonList = jsonValue.GetArray("supportedEvents"); + for(unsigned supportedEventsIndex = 0; supportedEventsIndex < supportedEventsJsonList.GetLength(); ++supportedEventsIndex) + { + m_supportedEvents.push_back(ContinuousIntegrationScanEventMapper::GetContinuousIntegrationScanEventForName(supportedEventsJsonList[supportedEventsIndex].AsString())); + } + m_supportedEventsHasBeenSet = true; + } + return *this; +} + +JsonValue ContinuousIntegrationScanConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_supportedEventsHasBeenSet) + { + Aws::Utils::Array supportedEventsJsonList(m_supportedEvents.size()); + for(unsigned supportedEventsIndex = 0; supportedEventsIndex < supportedEventsJsonList.GetLength(); ++supportedEventsIndex) + { + supportedEventsJsonList[supportedEventsIndex].AsString(ContinuousIntegrationScanEventMapper::GetNameForContinuousIntegrationScanEvent(m_supportedEvents[supportedEventsIndex])); + } + payload.WithArray("supportedEvents", std::move(supportedEventsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ContinuousIntegrationScanEvent.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ContinuousIntegrationScanEvent.cpp new file mode 100644 index 00000000000..c6955ffd778 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ContinuousIntegrationScanEvent.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 Inspector2 + { + namespace Model + { + namespace ContinuousIntegrationScanEventMapper + { + + static const int PULL_REQUEST_HASH = HashingUtils::HashString("PULL_REQUEST"); + static const int PUSH_HASH = HashingUtils::HashString("PUSH"); + + + ContinuousIntegrationScanEvent GetContinuousIntegrationScanEventForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PULL_REQUEST_HASH) + { + return ContinuousIntegrationScanEvent::PULL_REQUEST; + } + else if (hashCode == PUSH_HASH) + { + return ContinuousIntegrationScanEvent::PUSH; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ContinuousIntegrationScanEvent::NOT_SET; + } + + Aws::String GetNameForContinuousIntegrationScanEvent(ContinuousIntegrationScanEvent enumValue) + { + switch(enumValue) + { + case ContinuousIntegrationScanEvent::NOT_SET: + return {}; + case ContinuousIntegrationScanEvent::PULL_REQUEST: + return "PULL_REQUEST"; + case ContinuousIntegrationScanEvent::PUSH: + return "PUSH"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ContinuousIntegrationScanEventMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageFilterCriteria.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageFilterCriteria.cpp index c6f581d92ad..fd90079ecf3 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageFilterCriteria.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageFilterCriteria.cpp @@ -34,6 +34,33 @@ CoverageFilterCriteria& CoverageFilterCriteria::operator =(JsonView jsonValue) } m_accountIdHasBeenSet = true; } + if(jsonValue.ValueExists("codeRepositoryProjectName")) + { + Aws::Utils::Array codeRepositoryProjectNameJsonList = jsonValue.GetArray("codeRepositoryProjectName"); + for(unsigned codeRepositoryProjectNameIndex = 0; codeRepositoryProjectNameIndex < codeRepositoryProjectNameJsonList.GetLength(); ++codeRepositoryProjectNameIndex) + { + m_codeRepositoryProjectName.push_back(codeRepositoryProjectNameJsonList[codeRepositoryProjectNameIndex].AsObject()); + } + m_codeRepositoryProjectNameHasBeenSet = true; + } + if(jsonValue.ValueExists("codeRepositoryProviderType")) + { + Aws::Utils::Array codeRepositoryProviderTypeJsonList = jsonValue.GetArray("codeRepositoryProviderType"); + for(unsigned codeRepositoryProviderTypeIndex = 0; codeRepositoryProviderTypeIndex < codeRepositoryProviderTypeJsonList.GetLength(); ++codeRepositoryProviderTypeIndex) + { + m_codeRepositoryProviderType.push_back(codeRepositoryProviderTypeJsonList[codeRepositoryProviderTypeIndex].AsObject()); + } + m_codeRepositoryProviderTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("codeRepositoryProviderTypeVisibility")) + { + Aws::Utils::Array codeRepositoryProviderTypeVisibilityJsonList = jsonValue.GetArray("codeRepositoryProviderTypeVisibility"); + for(unsigned codeRepositoryProviderTypeVisibilityIndex = 0; codeRepositoryProviderTypeVisibilityIndex < codeRepositoryProviderTypeVisibilityJsonList.GetLength(); ++codeRepositoryProviderTypeVisibilityIndex) + { + m_codeRepositoryProviderTypeVisibility.push_back(codeRepositoryProviderTypeVisibilityJsonList[codeRepositoryProviderTypeVisibilityIndex].AsObject()); + } + m_codeRepositoryProviderTypeVisibilityHasBeenSet = true; + } if(jsonValue.ValueExists("ec2InstanceTags")) { Aws::Utils::Array ec2InstanceTagsJsonList = jsonValue.GetArray("ec2InstanceTags"); @@ -124,6 +151,15 @@ CoverageFilterCriteria& CoverageFilterCriteria::operator =(JsonView jsonValue) } m_lastScannedAtHasBeenSet = true; } + if(jsonValue.ValueExists("lastScannedCommitId")) + { + Aws::Utils::Array lastScannedCommitIdJsonList = jsonValue.GetArray("lastScannedCommitId"); + for(unsigned lastScannedCommitIdIndex = 0; lastScannedCommitIdIndex < lastScannedCommitIdJsonList.GetLength(); ++lastScannedCommitIdIndex) + { + m_lastScannedCommitId.push_back(lastScannedCommitIdJsonList[lastScannedCommitIdIndex].AsObject()); + } + m_lastScannedCommitIdHasBeenSet = true; + } if(jsonValue.ValueExists("resourceId")) { Aws::Utils::Array resourceIdJsonList = jsonValue.GetArray("resourceId"); @@ -196,6 +232,39 @@ JsonValue CoverageFilterCriteria::Jsonize() const } + if(m_codeRepositoryProjectNameHasBeenSet) + { + Aws::Utils::Array codeRepositoryProjectNameJsonList(m_codeRepositoryProjectName.size()); + for(unsigned codeRepositoryProjectNameIndex = 0; codeRepositoryProjectNameIndex < codeRepositoryProjectNameJsonList.GetLength(); ++codeRepositoryProjectNameIndex) + { + codeRepositoryProjectNameJsonList[codeRepositoryProjectNameIndex].AsObject(m_codeRepositoryProjectName[codeRepositoryProjectNameIndex].Jsonize()); + } + payload.WithArray("codeRepositoryProjectName", std::move(codeRepositoryProjectNameJsonList)); + + } + + if(m_codeRepositoryProviderTypeHasBeenSet) + { + Aws::Utils::Array codeRepositoryProviderTypeJsonList(m_codeRepositoryProviderType.size()); + for(unsigned codeRepositoryProviderTypeIndex = 0; codeRepositoryProviderTypeIndex < codeRepositoryProviderTypeJsonList.GetLength(); ++codeRepositoryProviderTypeIndex) + { + codeRepositoryProviderTypeJsonList[codeRepositoryProviderTypeIndex].AsObject(m_codeRepositoryProviderType[codeRepositoryProviderTypeIndex].Jsonize()); + } + payload.WithArray("codeRepositoryProviderType", std::move(codeRepositoryProviderTypeJsonList)); + + } + + if(m_codeRepositoryProviderTypeVisibilityHasBeenSet) + { + Aws::Utils::Array codeRepositoryProviderTypeVisibilityJsonList(m_codeRepositoryProviderTypeVisibility.size()); + for(unsigned codeRepositoryProviderTypeVisibilityIndex = 0; codeRepositoryProviderTypeVisibilityIndex < codeRepositoryProviderTypeVisibilityJsonList.GetLength(); ++codeRepositoryProviderTypeVisibilityIndex) + { + codeRepositoryProviderTypeVisibilityJsonList[codeRepositoryProviderTypeVisibilityIndex].AsObject(m_codeRepositoryProviderTypeVisibility[codeRepositoryProviderTypeVisibilityIndex].Jsonize()); + } + payload.WithArray("codeRepositoryProviderTypeVisibility", std::move(codeRepositoryProviderTypeVisibilityJsonList)); + + } + if(m_ec2InstanceTagsHasBeenSet) { Aws::Utils::Array ec2InstanceTagsJsonList(m_ec2InstanceTags.size()); @@ -306,6 +375,17 @@ JsonValue CoverageFilterCriteria::Jsonize() const } + if(m_lastScannedCommitIdHasBeenSet) + { + Aws::Utils::Array lastScannedCommitIdJsonList(m_lastScannedCommitId.size()); + for(unsigned lastScannedCommitIdIndex = 0; lastScannedCommitIdIndex < lastScannedCommitIdJsonList.GetLength(); ++lastScannedCommitIdIndex) + { + lastScannedCommitIdJsonList[lastScannedCommitIdIndex].AsObject(m_lastScannedCommitId[lastScannedCommitIdIndex].Jsonize()); + } + payload.WithArray("lastScannedCommitId", std::move(lastScannedCommitIdJsonList)); + + } + if(m_resourceIdHasBeenSet) { Aws::Utils::Array resourceIdJsonList(m_resourceId.size()); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageResourceType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageResourceType.cpp index f3f2bf3fd92..335a3bc5033 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageResourceType.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CoverageResourceType.cpp @@ -24,6 +24,7 @@ namespace Aws static const int AWS_ECR_CONTAINER_IMAGE_HASH = HashingUtils::HashString("AWS_ECR_CONTAINER_IMAGE"); static const int AWS_ECR_REPOSITORY_HASH = HashingUtils::HashString("AWS_ECR_REPOSITORY"); static const int AWS_LAMBDA_FUNCTION_HASH = HashingUtils::HashString("AWS_LAMBDA_FUNCTION"); + static const int CODE_REPOSITORY_HASH = HashingUtils::HashString("CODE_REPOSITORY"); CoverageResourceType GetCoverageResourceTypeForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return CoverageResourceType::AWS_LAMBDA_FUNCTION; } + else if (hashCode == CODE_REPOSITORY_HASH) + { + return CoverageResourceType::CODE_REPOSITORY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "AWS_ECR_REPOSITORY"; case CoverageResourceType::AWS_LAMBDA_FUNCTION: return "AWS_LAMBDA_FUNCTION"; + case CoverageResourceType::CODE_REPOSITORY: + return "CODE_REPOSITORY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityIntegrationRequest.cpp new file mode 100644 index 00000000000..6e4ecbefd97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityIntegrationRequest.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateCodeSecurityIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_detailsHasBeenSet) + { + payload.WithObject("details", m_details.Jsonize()); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", IntegrationTypeMapper::GetNameForIntegrationType(m_type)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityIntegrationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityIntegrationResult.cpp new file mode 100644 index 00000000000..41772fdb661 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityIntegrationResult.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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateCodeSecurityIntegrationResult::CreateCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateCodeSecurityIntegrationResult& CreateCodeSecurityIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("authorizationUrl")) + { + m_authorizationUrl = jsonValue.GetString("authorizationUrl"); + m_authorizationUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityScanConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityScanConfigurationRequest.cpp new file mode 100644 index 00000000000..736d81d9583 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityScanConfigurationRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateCodeSecurityScanConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_levelHasBeenSet) + { + payload.WithString("level", ConfigurationLevelMapper::GetNameForConfigurationLevel(m_level)); + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_scopeSettingsHasBeenSet) + { + payload.WithObject("scopeSettings", m_scopeSettings.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityScanConfigurationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityScanConfigurationResult.cpp new file mode 100644 index 00000000000..733a5276f96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateCodeSecurityScanConfigurationResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateCodeSecurityScanConfigurationResult::CreateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateCodeSecurityScanConfigurationResult& CreateCodeSecurityScanConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CreateGitLabSelfManagedIntegrationDetail.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateGitLabSelfManagedIntegrationDetail.cpp new file mode 100644 index 00000000000..618dfa966da --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateGitLabSelfManagedIntegrationDetail.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CreateGitLabSelfManagedIntegrationDetail::CreateGitLabSelfManagedIntegrationDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +CreateGitLabSelfManagedIntegrationDetail& CreateGitLabSelfManagedIntegrationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("accessToken")) + { + m_accessToken = jsonValue.GetString("accessToken"); + m_accessTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("instanceUrl")) + { + m_instanceUrl = jsonValue.GetString("instanceUrl"); + m_instanceUrlHasBeenSet = true; + } + return *this; +} + +JsonValue CreateGitLabSelfManagedIntegrationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_accessTokenHasBeenSet) + { + payload.WithString("accessToken", m_accessToken); + + } + + if(m_instanceUrlHasBeenSet) + { + payload.WithString("instanceUrl", m_instanceUrl); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/CreateIntegrationDetail.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateIntegrationDetail.cpp new file mode 100644 index 00000000000..492c3ea01de --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/CreateIntegrationDetail.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +CreateIntegrationDetail::CreateIntegrationDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +CreateIntegrationDetail& CreateIntegrationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("gitlabSelfManaged")) + { + m_gitlabSelfManaged = jsonValue.GetObject("gitlabSelfManaged"); + m_gitlabSelfManagedHasBeenSet = true; + } + return *this; +} + +JsonValue CreateIntegrationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_gitlabSelfManagedHasBeenSet) + { + payload.WithObject("gitlabSelfManaged", m_gitlabSelfManaged.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityIntegrationRequest.cpp new file mode 100644 index 00000000000..42601d7ae72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityIntegrationRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteCodeSecurityIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integrationArnHasBeenSet) + { + payload.WithString("integrationArn", m_integrationArn); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityIntegrationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityIntegrationResult.cpp new file mode 100644 index 00000000000..0d3f56418bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityIntegrationResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteCodeSecurityIntegrationResult::DeleteCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteCodeSecurityIntegrationResult& DeleteCodeSecurityIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityScanConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityScanConfigurationRequest.cpp new file mode 100644 index 00000000000..fd86d5cf6c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityScanConfigurationRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteCodeSecurityScanConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityScanConfigurationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityScanConfigurationResult.cpp new file mode 100644 index 00000000000..b5491a9b296 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/DeleteCodeSecurityScanConfigurationResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteCodeSecurityScanConfigurationResult::DeleteCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteCodeSecurityScanConfigurationResult& DeleteCodeSecurityScanConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/DisassociateConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/DisassociateConfigurationRequest.cpp new file mode 100644 index 00000000000..300fb10bb12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/DisassociateConfigurationRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +DisassociateConfigurationRequest::DisassociateConfigurationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +DisassociateConfigurationRequest& DisassociateConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetObject("resource"); + m_resourceHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + return *this; +} + +JsonValue DisassociateConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/FailedAssociationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/FailedAssociationResult.cpp new file mode 100644 index 00000000000..35ecae8f3ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/FailedAssociationResult.cpp @@ -0,0 +1,83 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +FailedAssociationResult::FailedAssociationResult(JsonView jsonValue) +{ + *this = jsonValue; +} + +FailedAssociationResult& FailedAssociationResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetObject("resource"); + m_resourceHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("statusCode")) + { + m_statusCode = AssociationResultStatusCodeMapper::GetAssociationResultStatusCodeForName(jsonValue.GetString("statusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("statusMessage")) + { + m_statusMessage = jsonValue.GetString("statusMessage"); + m_statusMessageHasBeenSet = true; + } + return *this; +} + +JsonValue FailedAssociationResult::Jsonize() const +{ + JsonValue payload; + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("statusCode", AssociationResultStatusCodeMapper::GetNameForAssociationResultStatusCode(m_statusCode)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("statusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/FilterCriteria.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/FilterCriteria.cpp index 4f4eeda536a..b4fa69cfd56 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/FilterCriteria.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/FilterCriteria.cpp @@ -34,6 +34,24 @@ FilterCriteria& FilterCriteria::operator =(JsonView jsonValue) } m_awsAccountIdHasBeenSet = true; } + if(jsonValue.ValueExists("codeRepositoryProjectName")) + { + Aws::Utils::Array codeRepositoryProjectNameJsonList = jsonValue.GetArray("codeRepositoryProjectName"); + for(unsigned codeRepositoryProjectNameIndex = 0; codeRepositoryProjectNameIndex < codeRepositoryProjectNameJsonList.GetLength(); ++codeRepositoryProjectNameIndex) + { + m_codeRepositoryProjectName.push_back(codeRepositoryProjectNameJsonList[codeRepositoryProjectNameIndex].AsObject()); + } + m_codeRepositoryProjectNameHasBeenSet = true; + } + if(jsonValue.ValueExists("codeRepositoryProviderType")) + { + Aws::Utils::Array codeRepositoryProviderTypeJsonList = jsonValue.GetArray("codeRepositoryProviderType"); + for(unsigned codeRepositoryProviderTypeIndex = 0; codeRepositoryProviderTypeIndex < codeRepositoryProviderTypeJsonList.GetLength(); ++codeRepositoryProviderTypeIndex) + { + m_codeRepositoryProviderType.push_back(codeRepositoryProviderTypeJsonList[codeRepositoryProviderTypeIndex].AsObject()); + } + m_codeRepositoryProviderTypeHasBeenSet = true; + } if(jsonValue.ValueExists("codeVulnerabilityDetectorName")) { Aws::Utils::Array codeVulnerabilityDetectorNameJsonList = jsonValue.GetArray("codeVulnerabilityDetectorName"); @@ -439,6 +457,28 @@ JsonValue FilterCriteria::Jsonize() const } + if(m_codeRepositoryProjectNameHasBeenSet) + { + Aws::Utils::Array codeRepositoryProjectNameJsonList(m_codeRepositoryProjectName.size()); + for(unsigned codeRepositoryProjectNameIndex = 0; codeRepositoryProjectNameIndex < codeRepositoryProjectNameJsonList.GetLength(); ++codeRepositoryProjectNameIndex) + { + codeRepositoryProjectNameJsonList[codeRepositoryProjectNameIndex].AsObject(m_codeRepositoryProjectName[codeRepositoryProjectNameIndex].Jsonize()); + } + payload.WithArray("codeRepositoryProjectName", std::move(codeRepositoryProjectNameJsonList)); + + } + + if(m_codeRepositoryProviderTypeHasBeenSet) + { + Aws::Utils::Array codeRepositoryProviderTypeJsonList(m_codeRepositoryProviderType.size()); + for(unsigned codeRepositoryProviderTypeIndex = 0; codeRepositoryProviderTypeIndex < codeRepositoryProviderTypeJsonList.GetLength(); ++codeRepositoryProviderTypeIndex) + { + codeRepositoryProviderTypeJsonList[codeRepositoryProviderTypeIndex].AsObject(m_codeRepositoryProviderType[codeRepositoryProviderTypeIndex].Jsonize()); + } + payload.WithArray("codeRepositoryProviderType", std::move(codeRepositoryProviderTypeJsonList)); + + } + if(m_codeVulnerabilityDetectorNameHasBeenSet) { Aws::Utils::Array codeVulnerabilityDetectorNameJsonList(m_codeVulnerabilityDetectorName.size()); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/FreeTrialType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/FreeTrialType.cpp index 7646303f034..413411bf7be 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/FreeTrialType.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/FreeTrialType.cpp @@ -24,6 +24,7 @@ namespace Aws static const int ECR_HASH = HashingUtils::HashString("ECR"); static const int LAMBDA_HASH = HashingUtils::HashString("LAMBDA"); static const int LAMBDA_CODE_HASH = HashingUtils::HashString("LAMBDA_CODE"); + static const int CODE_REPOSITORY_HASH = HashingUtils::HashString("CODE_REPOSITORY"); FreeTrialType GetFreeTrialTypeForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return FreeTrialType::LAMBDA_CODE; } + else if (hashCode == CODE_REPOSITORY_HASH) + { + return FreeTrialType::CODE_REPOSITORY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "LAMBDA"; case FreeTrialType::LAMBDA_CODE: return "LAMBDA_CODE"; + case FreeTrialType::CODE_REPOSITORY: + return "CODE_REPOSITORY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityIntegrationRequest.cpp new file mode 100644 index 00000000000..52e947ecd51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityIntegrationRequest.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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetCodeSecurityIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_integrationArnHasBeenSet) + { + payload.WithString("integrationArn", m_integrationArn); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityIntegrationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityIntegrationResult.cpp new file mode 100644 index 00000000000..affb13e6a69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityIntegrationResult.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetCodeSecurityIntegrationResult::GetCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetCodeSecurityIntegrationResult& GetCodeSecurityIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("authorizationUrl")) + { + m_authorizationUrl = jsonValue.GetString("authorizationUrl"); + m_authorizationUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("createdOn")) + { + m_createdOn = jsonValue.GetDouble("createdOn"); + m_createdOnHasBeenSet = true; + } + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("lastUpdateOn")) + { + m_lastUpdateOn = jsonValue.GetDouble("lastUpdateOn"); + m_lastUpdateOnHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + m_statusReasonHasBeenSet = true; + } + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + if(jsonValue.ValueExists("type")) + { + m_type = IntegrationTypeMapper::GetIntegrationTypeForName(jsonValue.GetString("type")); + m_typeHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanConfigurationRequest.cpp new file mode 100644 index 00000000000..ddc435d0c59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanConfigurationRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetCodeSecurityScanConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanConfigurationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanConfigurationResult.cpp new file mode 100644 index 00000000000..f14944b2c6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanConfigurationResult.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetCodeSecurityScanConfigurationResult::GetCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetCodeSecurityScanConfigurationResult& GetCodeSecurityScanConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("configuration")) + { + m_configuration = jsonValue.GetObject("configuration"); + m_configurationHasBeenSet = true; + } + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("lastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("level")) + { + m_level = ConfigurationLevelMapper::GetConfigurationLevelForName(jsonValue.GetString("level")); + m_levelHasBeenSet = true; + } + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("scopeSettings")) + { + m_scopeSettings = jsonValue.GetObject("scopeSettings"); + m_scopeSettingsHasBeenSet = true; + } + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanRequest.cpp new file mode 100644 index 00000000000..0c003a83c2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetCodeSecurityScanRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + if(m_scanIdHasBeenSet) + { + payload.WithString("scanId", m_scanId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanResult.cpp new file mode 100644 index 00000000000..42effee08d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/GetCodeSecurityScanResult.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetCodeSecurityScanResult::GetCodeSecurityScanResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetCodeSecurityScanResult& GetCodeSecurityScanResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("accountId")) + { + m_accountId = jsonValue.GetString("accountId"); + m_accountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("lastCommitId")) + { + m_lastCommitId = jsonValue.GetString("lastCommitId"); + m_lastCommitIdHasBeenSet = true; + } + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetObject("resource"); + m_resourceHasBeenSet = true; + } + if(jsonValue.ValueExists("scanId")) + { + m_scanId = jsonValue.GetString("scanId"); + m_scanIdHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = CodeScanStatusMapper::GetCodeScanStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + m_statusReasonHasBeenSet = true; + } + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + m_updatedAtHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/IntegrationStatus.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/IntegrationStatus.cpp new file mode 100644 index 00000000000..9f37831f532 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/IntegrationStatus.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 Inspector2 + { + namespace Model + { + namespace IntegrationStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int INACTIVE_HASH = HashingUtils::HashString("INACTIVE"); + static const int DISABLING_HASH = HashingUtils::HashString("DISABLING"); + + + IntegrationStatus GetIntegrationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return IntegrationStatus::PENDING; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return IntegrationStatus::IN_PROGRESS; + } + else if (hashCode == ACTIVE_HASH) + { + return IntegrationStatus::ACTIVE; + } + else if (hashCode == INACTIVE_HASH) + { + return IntegrationStatus::INACTIVE; + } + else if (hashCode == DISABLING_HASH) + { + return IntegrationStatus::DISABLING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IntegrationStatus::NOT_SET; + } + + Aws::String GetNameForIntegrationStatus(IntegrationStatus enumValue) + { + switch(enumValue) + { + case IntegrationStatus::NOT_SET: + return {}; + case IntegrationStatus::PENDING: + return "PENDING"; + case IntegrationStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case IntegrationStatus::ACTIVE: + return "ACTIVE"; + case IntegrationStatus::INACTIVE: + return "INACTIVE"; + case IntegrationStatus::DISABLING: + return "DISABLING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IntegrationStatusMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/IntegrationType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/IntegrationType.cpp new file mode 100644 index 00000000000..d073e7a835e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/IntegrationType.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 Inspector2 + { + namespace Model + { + namespace IntegrationTypeMapper + { + + static const int GITLAB_SELF_MANAGED_HASH = HashingUtils::HashString("GITLAB_SELF_MANAGED"); + static const int GITHUB_HASH = HashingUtils::HashString("GITHUB"); + + + IntegrationType GetIntegrationTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GITLAB_SELF_MANAGED_HASH) + { + return IntegrationType::GITLAB_SELF_MANAGED; + } + else if (hashCode == GITHUB_HASH) + { + return IntegrationType::GITHUB; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IntegrationType::NOT_SET; + } + + Aws::String GetNameForIntegrationType(IntegrationType enumValue) + { + switch(enumValue) + { + case IntegrationType::NOT_SET: + return {}; + case IntegrationType::GITLAB_SELF_MANAGED: + return "GITLAB_SELF_MANAGED"; + case IntegrationType::GITHUB: + return "GITHUB"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IntegrationTypeMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityIntegrationsRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityIntegrationsRequest.cpp new file mode 100644 index 00000000000..847fe74da26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityIntegrationsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListCodeSecurityIntegrationsRequest::SerializePayload() const +{ + return {}; +} + +void ListCodeSecurityIntegrationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityIntegrationsResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityIntegrationsResult.cpp new file mode 100644 index 00000000000..e84892b02b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityIntegrationsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListCodeSecurityIntegrationsResult::ListCodeSecurityIntegrationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListCodeSecurityIntegrationsResult& ListCodeSecurityIntegrationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integrations")) + { + Aws::Utils::Array integrationsJsonList = jsonValue.GetArray("integrations"); + for(unsigned integrationsIndex = 0; integrationsIndex < integrationsJsonList.GetLength(); ++integrationsIndex) + { + m_integrations.push_back(integrationsJsonList[integrationsIndex].AsObject()); + } + m_integrationsHasBeenSet = true; + } + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationAssociationsRequest.cpp new file mode 100644 index 00000000000..a5d88c247f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationAssociationsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListCodeSecurityScanConfigurationAssociationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload.View().WriteReadable(); +} + +void ListCodeSecurityScanConfigurationAssociationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationAssociationsResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationAssociationsResult.cpp new file mode 100644 index 00000000000..b1365f44634 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationAssociationsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListCodeSecurityScanConfigurationAssociationsResult::ListCodeSecurityScanConfigurationAssociationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListCodeSecurityScanConfigurationAssociationsResult& ListCodeSecurityScanConfigurationAssociationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("associations")) + { + Aws::Utils::Array associationsJsonList = jsonValue.GetArray("associations"); + for(unsigned associationsIndex = 0; associationsIndex < associationsJsonList.GetLength(); ++associationsIndex) + { + m_associations.push_back(associationsJsonList[associationsIndex].AsObject()); + } + m_associationsHasBeenSet = true; + } + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationsRequest.cpp new file mode 100644 index 00000000000..96f84efa921 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListCodeSecurityScanConfigurationsRequest::SerializePayload() const +{ + return {}; +} + +void ListCodeSecurityScanConfigurationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationsResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationsResult.cpp new file mode 100644 index 00000000000..8523af65143 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ListCodeSecurityScanConfigurationsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListCodeSecurityScanConfigurationsResult::ListCodeSecurityScanConfigurationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListCodeSecurityScanConfigurationsResult& ListCodeSecurityScanConfigurationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("configurations")) + { + Aws::Utils::Array configurationsJsonList = jsonValue.GetArray("configurations"); + for(unsigned configurationsIndex = 0; configurationsIndex < configurationsJsonList.GetLength(); ++configurationsIndex) + { + m_configurations.push_back(configurationsJsonList[configurationsIndex].AsObject()); + } + m_configurationsHasBeenSet = true; + } + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/PeriodicScanConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/PeriodicScanConfiguration.cpp new file mode 100644 index 00000000000..3e15f4ec896 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/PeriodicScanConfiguration.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +PeriodicScanConfiguration::PeriodicScanConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +PeriodicScanConfiguration& PeriodicScanConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("frequency")) + { + m_frequency = PeriodicScanFrequencyMapper::GetPeriodicScanFrequencyForName(jsonValue.GetString("frequency")); + m_frequencyHasBeenSet = true; + } + if(jsonValue.ValueExists("frequencyExpression")) + { + m_frequencyExpression = jsonValue.GetString("frequencyExpression"); + m_frequencyExpressionHasBeenSet = true; + } + return *this; +} + +JsonValue PeriodicScanConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_frequencyHasBeenSet) + { + payload.WithString("frequency", PeriodicScanFrequencyMapper::GetNameForPeriodicScanFrequency(m_frequency)); + } + + if(m_frequencyExpressionHasBeenSet) + { + payload.WithString("frequencyExpression", m_frequencyExpression); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/PeriodicScanFrequency.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/PeriodicScanFrequency.cpp new file mode 100644 index 00000000000..881197a35c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/PeriodicScanFrequency.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Inspector2 + { + namespace Model + { + namespace PeriodicScanFrequencyMapper + { + + static const int WEEKLY_HASH = HashingUtils::HashString("WEEKLY"); + static const int MONTHLY_HASH = HashingUtils::HashString("MONTHLY"); + static const int NEVER_HASH = HashingUtils::HashString("NEVER"); + + + PeriodicScanFrequency GetPeriodicScanFrequencyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == WEEKLY_HASH) + { + return PeriodicScanFrequency::WEEKLY; + } + else if (hashCode == MONTHLY_HASH) + { + return PeriodicScanFrequency::MONTHLY; + } + else if (hashCode == NEVER_HASH) + { + return PeriodicScanFrequency::NEVER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PeriodicScanFrequency::NOT_SET; + } + + Aws::String GetNameForPeriodicScanFrequency(PeriodicScanFrequency enumValue) + { + switch(enumValue) + { + case PeriodicScanFrequency::NOT_SET: + return {}; + case PeriodicScanFrequency::WEEKLY: + return "WEEKLY"; + case PeriodicScanFrequency::MONTHLY: + return "MONTHLY"; + case PeriodicScanFrequency::NEVER: + return "NEVER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PeriodicScanFrequencyMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectCodeSecurityScanConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectCodeSecurityScanConfiguration.cpp new file mode 100644 index 00000000000..8ed566e306e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectCodeSecurityScanConfiguration.cpp @@ -0,0 +1,80 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +ProjectCodeSecurityScanConfiguration::ProjectCodeSecurityScanConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProjectCodeSecurityScanConfiguration& ProjectCodeSecurityScanConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("continuousIntegrationScanConfigurations")) + { + Aws::Utils::Array continuousIntegrationScanConfigurationsJsonList = jsonValue.GetArray("continuousIntegrationScanConfigurations"); + for(unsigned continuousIntegrationScanConfigurationsIndex = 0; continuousIntegrationScanConfigurationsIndex < continuousIntegrationScanConfigurationsJsonList.GetLength(); ++continuousIntegrationScanConfigurationsIndex) + { + m_continuousIntegrationScanConfigurations.push_back(continuousIntegrationScanConfigurationsJsonList[continuousIntegrationScanConfigurationsIndex].AsObject()); + } + m_continuousIntegrationScanConfigurationsHasBeenSet = true; + } + if(jsonValue.ValueExists("periodicScanConfigurations")) + { + Aws::Utils::Array periodicScanConfigurationsJsonList = jsonValue.GetArray("periodicScanConfigurations"); + for(unsigned periodicScanConfigurationsIndex = 0; periodicScanConfigurationsIndex < periodicScanConfigurationsJsonList.GetLength(); ++periodicScanConfigurationsIndex) + { + m_periodicScanConfigurations.push_back(periodicScanConfigurationsJsonList[periodicScanConfigurationsIndex].AsObject()); + } + m_periodicScanConfigurationsHasBeenSet = true; + } + return *this; +} + +JsonValue ProjectCodeSecurityScanConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_continuousIntegrationScanConfigurationsHasBeenSet) + { + Aws::Utils::Array continuousIntegrationScanConfigurationsJsonList(m_continuousIntegrationScanConfigurations.size()); + for(unsigned continuousIntegrationScanConfigurationsIndex = 0; continuousIntegrationScanConfigurationsIndex < continuousIntegrationScanConfigurationsJsonList.GetLength(); ++continuousIntegrationScanConfigurationsIndex) + { + continuousIntegrationScanConfigurationsJsonList[continuousIntegrationScanConfigurationsIndex].AsObject(m_continuousIntegrationScanConfigurations[continuousIntegrationScanConfigurationsIndex].Jsonize()); + } + payload.WithArray("continuousIntegrationScanConfigurations", std::move(continuousIntegrationScanConfigurationsJsonList)); + + } + + if(m_periodicScanConfigurationsHasBeenSet) + { + Aws::Utils::Array periodicScanConfigurationsJsonList(m_periodicScanConfigurations.size()); + for(unsigned periodicScanConfigurationsIndex = 0; periodicScanConfigurationsIndex < periodicScanConfigurationsJsonList.GetLength(); ++periodicScanConfigurationsIndex) + { + periodicScanConfigurationsJsonList[periodicScanConfigurationsIndex].AsObject(m_periodicScanConfigurations[periodicScanConfigurationsIndex].Jsonize()); + } + payload.WithArray("periodicScanConfigurations", std::move(periodicScanConfigurationsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectContinuousIntegrationScanConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectContinuousIntegrationScanConfiguration.cpp new file mode 100644 index 00000000000..f10b1218273 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectContinuousIntegrationScanConfiguration.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +ProjectContinuousIntegrationScanConfiguration::ProjectContinuousIntegrationScanConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProjectContinuousIntegrationScanConfiguration& ProjectContinuousIntegrationScanConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ruleSetCategories")) + { + Aws::Utils::Array ruleSetCategoriesJsonList = jsonValue.GetArray("ruleSetCategories"); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + m_ruleSetCategories.push_back(RuleSetCategoryMapper::GetRuleSetCategoryForName(ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString())); + } + m_ruleSetCategoriesHasBeenSet = true; + } + if(jsonValue.ValueExists("supportedEvent")) + { + m_supportedEvent = ContinuousIntegrationScanEventMapper::GetContinuousIntegrationScanEventForName(jsonValue.GetString("supportedEvent")); + m_supportedEventHasBeenSet = true; + } + return *this; +} + +JsonValue ProjectContinuousIntegrationScanConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_ruleSetCategoriesHasBeenSet) + { + Aws::Utils::Array ruleSetCategoriesJsonList(m_ruleSetCategories.size()); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString(RuleSetCategoryMapper::GetNameForRuleSetCategory(m_ruleSetCategories[ruleSetCategoriesIndex])); + } + payload.WithArray("ruleSetCategories", std::move(ruleSetCategoriesJsonList)); + + } + + if(m_supportedEventHasBeenSet) + { + payload.WithString("supportedEvent", ContinuousIntegrationScanEventMapper::GetNameForContinuousIntegrationScanEvent(m_supportedEvent)); + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectPeriodicScanConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectPeriodicScanConfiguration.cpp new file mode 100644 index 00000000000..466cc6075e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectPeriodicScanConfiguration.cpp @@ -0,0 +1,71 @@ +/** + * 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 Inspector2 +{ +namespace Model +{ + +ProjectPeriodicScanConfiguration::ProjectPeriodicScanConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProjectPeriodicScanConfiguration& ProjectPeriodicScanConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("frequencyExpression")) + { + m_frequencyExpression = jsonValue.GetString("frequencyExpression"); + m_frequencyExpressionHasBeenSet = true; + } + if(jsonValue.ValueExists("ruleSetCategories")) + { + Aws::Utils::Array ruleSetCategoriesJsonList = jsonValue.GetArray("ruleSetCategories"); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + m_ruleSetCategories.push_back(RuleSetCategoryMapper::GetRuleSetCategoryForName(ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString())); + } + m_ruleSetCategoriesHasBeenSet = true; + } + return *this; +} + +JsonValue ProjectPeriodicScanConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_frequencyExpressionHasBeenSet) + { + payload.WithString("frequencyExpression", m_frequencyExpression); + + } + + if(m_ruleSetCategoriesHasBeenSet) + { + Aws::Utils::Array ruleSetCategoriesJsonList(m_ruleSetCategories.size()); + for(unsigned ruleSetCategoriesIndex = 0; ruleSetCategoriesIndex < ruleSetCategoriesJsonList.GetLength(); ++ruleSetCategoriesIndex) + { + ruleSetCategoriesJsonList[ruleSetCategoriesIndex].AsString(RuleSetCategoryMapper::GetNameForRuleSetCategory(m_ruleSetCategories[ruleSetCategoriesIndex])); + } + payload.WithArray("ruleSetCategories", std::move(ruleSetCategoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectSelectionScope.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectSelectionScope.cpp new file mode 100644 index 00000000000..647e416cc86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ProjectSelectionScope.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Inspector2 + { + namespace Model + { + namespace ProjectSelectionScopeMapper + { + + static const int ALL_HASH = HashingUtils::HashString("ALL"); + + + ProjectSelectionScope GetProjectSelectionScopeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALL_HASH) + { + return ProjectSelectionScope::ALL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ProjectSelectionScope::NOT_SET; + } + + Aws::String GetNameForProjectSelectionScope(ProjectSelectionScope enumValue) + { + switch(enumValue) + { + case ProjectSelectionScope::NOT_SET: + return {}; + case ProjectSelectionScope::ALL: + return "ALL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ProjectSelectionScopeMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceDetails.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceDetails.cpp index 87641b57908..8170f2e1001 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceDetails.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceDetails.cpp @@ -40,6 +40,11 @@ ResourceDetails& ResourceDetails::operator =(JsonView jsonValue) m_awsLambdaFunction = jsonValue.GetObject("awsLambdaFunction"); m_awsLambdaFunctionHasBeenSet = true; } + if(jsonValue.ValueExists("codeRepository")) + { + m_codeRepository = jsonValue.GetObject("codeRepository"); + m_codeRepositoryHasBeenSet = true; + } return *this; } @@ -65,6 +70,12 @@ JsonValue ResourceDetails::Jsonize() const } + if(m_codeRepositoryHasBeenSet) + { + payload.WithObject("codeRepository", m_codeRepository.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanMetadata.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanMetadata.cpp index 07f98f2fe9e..3f02fb8a47b 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanMetadata.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanMetadata.cpp @@ -25,6 +25,11 @@ ResourceScanMetadata::ResourceScanMetadata(JsonView jsonValue) ResourceScanMetadata& ResourceScanMetadata::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("codeRepository")) + { + m_codeRepository = jsonValue.GetObject("codeRepository"); + m_codeRepositoryHasBeenSet = true; + } if(jsonValue.ValueExists("ec2")) { m_ec2 = jsonValue.GetObject("ec2"); @@ -52,6 +57,12 @@ JsonValue ResourceScanMetadata::Jsonize() const { JsonValue payload; + if(m_codeRepositoryHasBeenSet) + { + payload.WithObject("codeRepository", m_codeRepository.Jsonize()); + + } + if(m_ec2HasBeenSet) { payload.WithObject("ec2", m_ec2.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanType.cpp index 81476487374..761303224d7 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanType.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceScanType.cpp @@ -24,6 +24,7 @@ namespace Aws static const int ECR_HASH = HashingUtils::HashString("ECR"); static const int LAMBDA_HASH = HashingUtils::HashString("LAMBDA"); static const int LAMBDA_CODE_HASH = HashingUtils::HashString("LAMBDA_CODE"); + static const int CODE_REPOSITORY_HASH = HashingUtils::HashString("CODE_REPOSITORY"); ResourceScanType GetResourceScanTypeForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return ResourceScanType::LAMBDA_CODE; } + else if (hashCode == CODE_REPOSITORY_HASH) + { + return ResourceScanType::CODE_REPOSITORY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "LAMBDA"; case ResourceScanType::LAMBDA_CODE: return "LAMBDA_CODE"; + case ResourceScanType::CODE_REPOSITORY: + return "CODE_REPOSITORY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceState.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceState.cpp index eea0e658590..7046c02cc60 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceState.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceState.cpp @@ -25,6 +25,11 @@ ResourceState::ResourceState(JsonView jsonValue) ResourceState& ResourceState::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("codeRepository")) + { + m_codeRepository = jsonValue.GetObject("codeRepository"); + m_codeRepositoryHasBeenSet = true; + } if(jsonValue.ValueExists("ec2")) { m_ec2 = jsonValue.GetObject("ec2"); @@ -52,6 +57,12 @@ JsonValue ResourceState::Jsonize() const { JsonValue payload; + if(m_codeRepositoryHasBeenSet) + { + payload.WithObject("codeRepository", m_codeRepository.Jsonize()); + + } + if(m_ec2HasBeenSet) { payload.WithObject("ec2", m_ec2.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceStatus.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceStatus.cpp index edce11113a2..0f7380e73e6 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceStatus.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceStatus.cpp @@ -25,6 +25,11 @@ ResourceStatus::ResourceStatus(JsonView jsonValue) ResourceStatus& ResourceStatus::operator =(JsonView jsonValue) { + if(jsonValue.ValueExists("codeRepository")) + { + m_codeRepository = StatusMapper::GetStatusForName(jsonValue.GetString("codeRepository")); + m_codeRepositoryHasBeenSet = true; + } if(jsonValue.ValueExists("ec2")) { m_ec2 = StatusMapper::GetStatusForName(jsonValue.GetString("ec2")); @@ -52,6 +57,11 @@ JsonValue ResourceStatus::Jsonize() const { JsonValue payload; + if(m_codeRepositoryHasBeenSet) + { + payload.WithString("codeRepository", StatusMapper::GetNameForStatus(m_codeRepository)); + } + if(m_ec2HasBeenSet) { payload.WithString("ec2", StatusMapper::GetNameForStatus(m_ec2)); diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceType.cpp index e40facf2f5f..bb0445346b1 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceType.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ResourceType.cpp @@ -24,6 +24,7 @@ namespace Aws static const int AWS_ECR_CONTAINER_IMAGE_HASH = HashingUtils::HashString("AWS_ECR_CONTAINER_IMAGE"); static const int AWS_ECR_REPOSITORY_HASH = HashingUtils::HashString("AWS_ECR_REPOSITORY"); static const int AWS_LAMBDA_FUNCTION_HASH = HashingUtils::HashString("AWS_LAMBDA_FUNCTION"); + static const int CODE_REPOSITORY_HASH = HashingUtils::HashString("CODE_REPOSITORY"); ResourceType GetResourceTypeForName(const Aws::String& name) @@ -45,6 +46,10 @@ namespace Aws { return ResourceType::AWS_LAMBDA_FUNCTION; } + else if (hashCode == CODE_REPOSITORY_HASH) + { + return ResourceType::CODE_REPOSITORY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -69,6 +74,8 @@ namespace Aws return "AWS_ECR_REPOSITORY"; case ResourceType::AWS_LAMBDA_FUNCTION: return "AWS_LAMBDA_FUNCTION"; + case ResourceType::CODE_REPOSITORY: + return "CODE_REPOSITORY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/RuleSetCategory.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/RuleSetCategory.cpp new file mode 100644 index 00000000000..eddab5e0530 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/RuleSetCategory.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Inspector2 + { + namespace Model + { + namespace RuleSetCategoryMapper + { + + static const int SAST_HASH = HashingUtils::HashString("SAST"); + static const int IAC_HASH = HashingUtils::HashString("IAC"); + static const int SCA_HASH = HashingUtils::HashString("SCA"); + + + RuleSetCategory GetRuleSetCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SAST_HASH) + { + return RuleSetCategory::SAST; + } + else if (hashCode == IAC_HASH) + { + return RuleSetCategory::IAC; + } + else if (hashCode == SCA_HASH) + { + return RuleSetCategory::SCA; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RuleSetCategory::NOT_SET; + } + + Aws::String GetNameForRuleSetCategory(RuleSetCategory enumValue) + { + switch(enumValue) + { + case RuleSetCategory::NOT_SET: + return {}; + case RuleSetCategory::SAST: + return "SAST"; + case RuleSetCategory::IAC: + return "IAC"; + case RuleSetCategory::SCA: + return "SCA"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RuleSetCategoryMapper + } // namespace Model + } // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ScanStatusReason.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ScanStatusReason.cpp index 37e497e1058..d7d80de7f18 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/ScanStatusReason.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ScanStatusReason.cpp @@ -47,6 +47,11 @@ namespace Aws static const int AGENTLESS_INSTANCE_STORAGE_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("AGENTLESS_INSTANCE_STORAGE_LIMIT_EXCEEDED"); static const int AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED_HASH = HashingUtils::HashString("AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED"); static const int PENDING_REVIVAL_SCAN_HASH = HashingUtils::HashString("PENDING_REVIVAL_SCAN"); + static const int INTEGRATION_CONNECTION_LOST_HASH = HashingUtils::HashString("INTEGRATION_CONNECTION_LOST"); + static const int ACCESS_DENIED_TO_ENCRYPTION_KEY_HASH = HashingUtils::HashString("ACCESS_DENIED_TO_ENCRYPTION_KEY"); + static const int UNSUPPORTED_LANGUAGE_HASH = HashingUtils::HashString("UNSUPPORTED_LANGUAGE"); + static const int NO_SCAN_CONFIGURATION_ASSOCIATED_HASH = HashingUtils::HashString("NO_SCAN_CONFIGURATION_ASSOCIATED"); + static const int SCAN_IN_PROGRESS_HASH = HashingUtils::HashString("SCAN_IN_PROGRESS"); ScanStatusReason GetScanStatusReasonForName(const Aws::String& name) @@ -160,6 +165,26 @@ namespace Aws { return ScanStatusReason::PENDING_REVIVAL_SCAN; } + else if (hashCode == INTEGRATION_CONNECTION_LOST_HASH) + { + return ScanStatusReason::INTEGRATION_CONNECTION_LOST; + } + else if (hashCode == ACCESS_DENIED_TO_ENCRYPTION_KEY_HASH) + { + return ScanStatusReason::ACCESS_DENIED_TO_ENCRYPTION_KEY; + } + else if (hashCode == UNSUPPORTED_LANGUAGE_HASH) + { + return ScanStatusReason::UNSUPPORTED_LANGUAGE; + } + else if (hashCode == NO_SCAN_CONFIGURATION_ASSOCIATED_HASH) + { + return ScanStatusReason::NO_SCAN_CONFIGURATION_ASSOCIATED; + } + else if (hashCode == SCAN_IN_PROGRESS_HASH) + { + return ScanStatusReason::SCAN_IN_PROGRESS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -230,6 +255,16 @@ namespace Aws return "AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED"; case ScanStatusReason::PENDING_REVIVAL_SCAN: return "PENDING_REVIVAL_SCAN"; + case ScanStatusReason::INTEGRATION_CONNECTION_LOST: + return "INTEGRATION_CONNECTION_LOST"; + case ScanStatusReason::ACCESS_DENIED_TO_ENCRYPTION_KEY: + return "ACCESS_DENIED_TO_ENCRYPTION_KEY"; + case ScanStatusReason::UNSUPPORTED_LANGUAGE: + return "UNSUPPORTED_LANGUAGE"; + case ScanStatusReason::NO_SCAN_CONFIGURATION_ASSOCIATED: + return "NO_SCAN_CONFIGURATION_ASSOCIATED"; + case ScanStatusReason::SCAN_IN_PROGRESS: + return "SCAN_IN_PROGRESS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/ScopeSettings.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/ScopeSettings.cpp new file mode 100644 index 00000000000..505221662af --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/ScopeSettings.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +ScopeSettings::ScopeSettings(JsonView jsonValue) +{ + *this = jsonValue; +} + +ScopeSettings& ScopeSettings::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("projectSelectionScope")) + { + m_projectSelectionScope = ProjectSelectionScopeMapper::GetProjectSelectionScopeForName(jsonValue.GetString("projectSelectionScope")); + m_projectSelectionScopeHasBeenSet = true; + } + return *this; +} + +JsonValue ScopeSettings::Jsonize() const +{ + JsonValue payload; + + if(m_projectSelectionScopeHasBeenSet) + { + payload.WithString("projectSelectionScope", ProjectSelectionScopeMapper::GetNameForProjectSelectionScope(m_projectSelectionScope)); + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/StartCodeSecurityScanRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/StartCodeSecurityScanRequest.cpp new file mode 100644 index 00000000000..547973f52f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/StartCodeSecurityScanRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String StartCodeSecurityScanRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/StartCodeSecurityScanResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/StartCodeSecurityScanResult.cpp new file mode 100644 index 00000000000..061cdfda535 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/StartCodeSecurityScanResult.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 + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartCodeSecurityScanResult::StartCodeSecurityScanResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartCodeSecurityScanResult& StartCodeSecurityScanResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scanId")) + { + m_scanId = jsonValue.GetString("scanId"); + m_scanIdHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = CodeScanStatusMapper::GetCodeScanStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/SuccessfulAssociationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/SuccessfulAssociationResult.cpp new file mode 100644 index 00000000000..f3f75987ace --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/SuccessfulAssociationResult.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +SuccessfulAssociationResult::SuccessfulAssociationResult(JsonView jsonValue) +{ + *this = jsonValue; +} + +SuccessfulAssociationResult& SuccessfulAssociationResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("resource")) + { + m_resource = jsonValue.GetObject("resource"); + m_resourceHasBeenSet = true; + } + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + return *this; +} + +JsonValue SuccessfulAssociationResult::Jsonize() const +{ + JsonValue payload; + + if(m_resourceHasBeenSet) + { + payload.WithObject("resource", m_resource.Jsonize()); + + } + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityIntegrationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityIntegrationRequest.cpp new file mode 100644 index 00000000000..b393cdbab0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityIntegrationRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateCodeSecurityIntegrationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_detailsHasBeenSet) + { + payload.WithObject("details", m_details.Jsonize()); + + } + + if(m_integrationArnHasBeenSet) + { + payload.WithString("integrationArn", m_integrationArn); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityIntegrationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityIntegrationResult.cpp new file mode 100644 index 00000000000..54e9c769d43 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityIntegrationResult.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 + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateCodeSecurityIntegrationResult::UpdateCodeSecurityIntegrationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateCodeSecurityIntegrationResult& UpdateCodeSecurityIntegrationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("integrationArn")) + { + m_integrationArn = jsonValue.GetString("integrationArn"); + m_integrationArnHasBeenSet = true; + } + if(jsonValue.ValueExists("status")) + { + m_status = IntegrationStatusMapper::GetIntegrationStatusForName(jsonValue.GetString("status")); + m_statusHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityScanConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityScanConfigurationRequest.cpp new file mode 100644 index 00000000000..642c3f15ca4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityScanConfigurationRequest.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateCodeSecurityScanConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_configurationHasBeenSet) + { + payload.WithObject("configuration", m_configuration.Jsonize()); + + } + + if(m_scanConfigurationArnHasBeenSet) + { + payload.WithString("scanConfigurationArn", m_scanConfigurationArn); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityScanConfigurationResult.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityScanConfigurationResult.cpp new file mode 100644 index 00000000000..c2e094b1996 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateCodeSecurityScanConfigurationResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::Inspector2::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateCodeSecurityScanConfigurationResult::UpdateCodeSecurityScanConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateCodeSecurityScanConfigurationResult& UpdateCodeSecurityScanConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("scanConfigurationArn")) + { + m_scanConfigurationArn = jsonValue.GetString("scanConfigurationArn"); + m_scanConfigurationArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateGitHubIntegrationDetail.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateGitHubIntegrationDetail.cpp new file mode 100644 index 00000000000..185dd69447a --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateGitHubIntegrationDetail.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +UpdateGitHubIntegrationDetail::UpdateGitHubIntegrationDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +UpdateGitHubIntegrationDetail& UpdateGitHubIntegrationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("code")) + { + m_code = jsonValue.GetString("code"); + m_codeHasBeenSet = true; + } + if(jsonValue.ValueExists("installationId")) + { + m_installationId = jsonValue.GetString("installationId"); + m_installationIdHasBeenSet = true; + } + return *this; +} + +JsonValue UpdateGitHubIntegrationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("code", m_code); + + } + + if(m_installationIdHasBeenSet) + { + payload.WithString("installationId", m_installationId); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateGitLabSelfManagedIntegrationDetail.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateGitLabSelfManagedIntegrationDetail.cpp new file mode 100644 index 00000000000..7c3ad1b6ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateGitLabSelfManagedIntegrationDetail.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +UpdateGitLabSelfManagedIntegrationDetail::UpdateGitLabSelfManagedIntegrationDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +UpdateGitLabSelfManagedIntegrationDetail& UpdateGitLabSelfManagedIntegrationDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("authCode")) + { + m_authCode = jsonValue.GetString("authCode"); + m_authCodeHasBeenSet = true; + } + return *this; +} + +JsonValue UpdateGitLabSelfManagedIntegrationDetail::Jsonize() const +{ + JsonValue payload; + + if(m_authCodeHasBeenSet) + { + payload.WithString("authCode", m_authCode); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateIntegrationDetails.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateIntegrationDetails.cpp new file mode 100644 index 00000000000..6b5d5a0a1cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UpdateIntegrationDetails.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Inspector2 +{ +namespace Model +{ + +UpdateIntegrationDetails::UpdateIntegrationDetails(JsonView jsonValue) +{ + *this = jsonValue; +} + +UpdateIntegrationDetails& UpdateIntegrationDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("github")) + { + m_github = jsonValue.GetObject("github"); + m_githubHasBeenSet = true; + } + if(jsonValue.ValueExists("gitlabSelfManaged")) + { + m_gitlabSelfManaged = jsonValue.GetObject("gitlabSelfManaged"); + m_gitlabSelfManagedHasBeenSet = true; + } + return *this; +} + +JsonValue UpdateIntegrationDetails::Jsonize() const +{ + JsonValue payload; + + if(m_githubHasBeenSet) + { + payload.WithObject("github", m_github.Jsonize()); + + } + + if(m_gitlabSelfManagedHasBeenSet) + { + payload.WithObject("gitlabSelfManaged", m_gitlabSelfManaged.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/model/UsageType.cpp b/generated/src/aws-cpp-sdk-inspector2/source/model/UsageType.cpp index 26dc991b697..10bbb79033f 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/model/UsageType.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/model/UsageType.cpp @@ -25,6 +25,9 @@ namespace Aws static const int ECR_RESCAN_HASH = HashingUtils::HashString("ECR_RESCAN"); static const int LAMBDA_FUNCTION_HOURS_HASH = HashingUtils::HashString("LAMBDA_FUNCTION_HOURS"); static const int LAMBDA_FUNCTION_CODE_HOURS_HASH = HashingUtils::HashString("LAMBDA_FUNCTION_CODE_HOURS"); + static const int CODE_REPOSITORY_SAST_HASH = HashingUtils::HashString("CODE_REPOSITORY_SAST"); + static const int CODE_REPOSITORY_IAC_HASH = HashingUtils::HashString("CODE_REPOSITORY_IAC"); + static const int CODE_REPOSITORY_SCA_HASH = HashingUtils::HashString("CODE_REPOSITORY_SCA"); UsageType GetUsageTypeForName(const Aws::String& name) @@ -50,6 +53,18 @@ namespace Aws { return UsageType::LAMBDA_FUNCTION_CODE_HOURS; } + else if (hashCode == CODE_REPOSITORY_SAST_HASH) + { + return UsageType::CODE_REPOSITORY_SAST; + } + else if (hashCode == CODE_REPOSITORY_IAC_HASH) + { + return UsageType::CODE_REPOSITORY_IAC; + } + else if (hashCode == CODE_REPOSITORY_SCA_HASH) + { + return UsageType::CODE_REPOSITORY_SCA; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +91,12 @@ namespace Aws return "LAMBDA_FUNCTION_HOURS"; case UsageType::LAMBDA_FUNCTION_CODE_HOURS: return "LAMBDA_FUNCTION_CODE_HOURS"; + case UsageType::CODE_REPOSITORY_SAST: + return "CODE_REPOSITORY_SAST"; + case UsageType::CODE_REPOSITORY_IAC: + return "CODE_REPOSITORY_IAC"; + case UsageType::CODE_REPOSITORY_SCA: + return "CODE_REPOSITORY_SCA"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/UpdateCampaignResult.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/UpdateCampaignResult.h index c9aa66f790c..7f7d8ce5c63 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/UpdateCampaignResult.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/UpdateCampaignResult.h @@ -60,13 +60,11 @@ namespace Model *

                              The state of a campaign. The status can be one of:

                              • * CREATING - Amazon Web Services IoT FleetWise is processing your * request to create the campaign.

                              • - * WAITING_FOR_APPROVAL - After a campaign is created, it enters the - * WAITING_FOR_APPROVAL state. To allow Amazon Web Services IoT - * FleetWise to deploy the campaign to the target vehicle or fleet, use the API - * operation to approve the campaign.

                              • RUNNING - - * The campaign is active.

                              • SUSPENDED - The - * campaign is suspended. To resume the campaign, use the API operation.

                              • - *
                              + * WAITING_FOR_APPROVAL - After you create a campaign, it enters this + * state. Use the API operation to approve the campaign for deployment to the + * target vehicle or fleet.

                            • RUNNING - The campaign + * is active.

                            • SUSPENDED - The campaign is + * suspended. To resume the campaign, use the API operation.

                            */ inline CampaignStatus GetStatus() const { return m_status; } inline void SetStatus(CampaignStatus value) { m_statusHasBeenSet = true; m_status = value; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleState.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleState.h index a38e814c8ab..745746c3705 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleState.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleState.h @@ -20,7 +20,8 @@ namespace Model READY, HEALTHY, SUSPENDED, - DELETING + DELETING, + READY_FOR_CHECKIN }; namespace VehicleStateMapper diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleStatus.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleStatus.h index 2984ac06612..5b70963fb51 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleStatus.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/model/VehicleStatus.h @@ -66,13 +66,15 @@ namespace Model ///@{ /** *

                            The status of a campaign, which can be one of the following:

                            • - *

                              CREATED - The campaign has been created successfully but has - * not been approved.

                            • READY - The campaign has - * been approved but has not been deployed to the vehicle.

                            • - * HEALTHY - The campaign has been deployed to the vehicle.

                            • - *
                            • SUSPENDED - The campaign has been suspended and data - * collection is paused.

                            • DELETING - The campaign - * is being removed from the vehicle.

                            + *

                            CREATED - The campaign exists but is not yet approved.

                            + *
                          • READY - The campaign is approved but has not been + * deployed to the vehicle. Data has not arrived at the vehicle yet.

                          • + *

                            HEALTHY - The campaign is deployed to the vehicle.

                          • + *
                          • SUSPENDED - The campaign is suspended and data collection + * is paused.

                          • DELETING - The campaign is being + * removed from the vehicle.

                          • READY_FOR_CHECKIN - + * The campaign is approved and waiting for vehicle check-in before deployment.

                            + *
                          */ inline VehicleState GetStatus() const { return m_status; } inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleState.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleState.cpp index f69b5cbf3cd..cb5c01a2db6 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleState.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/model/VehicleState.cpp @@ -25,6 +25,7 @@ namespace Aws static const int HEALTHY_HASH = HashingUtils::HashString("HEALTHY"); static const int SUSPENDED_HASH = HashingUtils::HashString("SUSPENDED"); static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int READY_FOR_CHECKIN_HASH = HashingUtils::HashString("READY_FOR_CHECKIN"); VehicleState GetVehicleStateForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return VehicleState::DELETING; } + else if (hashCode == READY_FOR_CHECKIN_HASH) + { + return VehicleState::READY_FOR_CHECKIN; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "SUSPENDED"; case VehicleState::DELETING: return "DELETING"; + case VehicleState::READY_FOR_CHECKIN: + return "READY_FOR_CHECKIN"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h index 981c076a0cb..618191032b8 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h @@ -533,18 +533,19 @@ namespace KMS * key. Then, use the KeyUsage parameter to determine whether the KMS * key will be used to encrypt and decrypt or sign and verify. You can't change * these properties after the KMS key is created.

                          Asymmetric KMS keys - * contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair - * (China Regions only). The private key in an asymmetric KMS key never leaves KMS - * unencrypted. However, you can use the GetPublicKey operation to download - * the public key so it can be used outside of KMS. Each KMS key can have only one - * key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data - * or sign and verify messages (but not both). KMS keys with NIST-recommended ECC - * key pairs can be used to sign and verify messages or derive shared secrets (but - * not both). KMS keys with ECC_SECG_P256K1 can be used only to sign - * and verify messages. KMS keys with SM2 key pairs (China Regions only) can be - * used to either encrypt and decrypt data, sign and verify messages, or derive - * shared secrets (you must choose one key usage type). For information about - * asymmetric KMS keys, see GetPublicKey + * operation to download the public key so it can be used outside of KMS. Each KMS + * key can have only one key usage. KMS keys with RSA key pairs can be used to + * encrypt and decrypt data or sign and verify messages (but not both). KMS keys + * with NIST-recommended ECC key pairs can be used to sign and verify messages or + * derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 + * can be used only to sign and verify messages. KMS keys with ML-DSA key pairs can + * be used to sign and verify messages. KMS keys with SM2 key pairs (China Regions + * only) can be used to either encrypt and decrypt data, sign and verify messages, + * or derive shared secrets (you must choose one key usage type). For information + * about asymmetric KMS keys, see Asymmetric * KMS keys in the Key Management Service Developer Guide.

                          *
                          HMAC KMS key

                          To create an HMAC KMS key, set the @@ -3191,20 +3192,21 @@ namespace KMS * href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric * KMS keys in the Key Management Service Developer Guide.

                          *

                          Digital signatures are generated and verified by using asymmetric key pair, - * such as an RSA or ECC pair that is represented by an asymmetric KMS key. The key - * owner (or an authorized user) uses their private key to sign a message. Anyone - * with the public key can verify that the message was signed with that particular - * private key and that the message hasn't changed since it was signed.

                          To - * use the Sign operation, provide the following information:

                            - *
                          • Use the KeyId parameter to identify an asymmetric KMS key - * with a KeyUsage value of SIGN_VERIFY. To get the - * KeyUsage value of a KMS key, use the DescribeKey operation. - * The caller must have kms:Sign permission on the KMS key.

                          • - *
                          • Use the Message parameter to specify the message or message - * digest to sign. You can submit messages of up to 4096 bytes. To sign a larger - * message, generate a hash digest of the message, and then provide the hash digest - * in the Message parameter. To indicate whether the message is a full - * message or a digest, use the MessageType parameter.

                          • + * such as an RSA, ECC, or ML-DSA pair that is represented by an asymmetric KMS + * key. The key owner (or an authorized user) uses their private key to sign a + * message. Anyone with the public key can verify that the message was signed with + * that particular private key and that the message hasn't changed since it was + * signed.

                            To use the Sign operation, provide the following + * information:

                            • Use the KeyId parameter to identify + * an asymmetric KMS key with a KeyUsage value of + * SIGN_VERIFY. To get the KeyUsage value of a KMS key, + * use the DescribeKey operation. The caller must have kms:Sign + * permission on the KMS key.

                            • Use the Message + * parameter to specify the message or message digest to sign. You can submit + * messages of up to 4096 bytes. To sign a larger message, generate a hash digest + * of the message, and then provide the hash digest in the Message + * parameter. To indicate whether the message is a full message, a digest, or an + * ML-DSA EXTERNAL_MU, use the MessageType parameter.

                            • *

                              Choose a signing algorithm that is compatible with the KMS key.

                            • *

                            When signing a message, be sure to record the KMS key and * the signing algorithm. This information is required to verify the signature.

                            diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/CreateKeyRequest.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/CreateKeyRequest.h index a18d0612ddb..06737a5bc2d 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/CreateKeyRequest.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/CreateKeyRequest.h @@ -116,10 +116,12 @@ namespace Model * ENCRYPT_DECRYPT or SIGN_VERIFY.

                          • For * asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify * SIGN_VERIFY or KEY_AGREEMENT.

                          • For - * asymmetric KMS keys with ECC_SECG_P256K1 key pairs specify - * SIGN_VERIFY.

                          • For asymmetric KMS keys with SM2 key - * pairs (China Regions only), specify ENCRYPT_DECRYPT, - * SIGN_VERIFY, or KEY_AGREEMENT.

                          + * asymmetric KMS keys with ECC_SECG_P256K1 key pairs, specify + * SIGN_VERIFY.

                        • For asymmetric KMS keys with ML-DSA + * key pairs, specify SIGN_VERIFY.

                        • For asymmetric + * KMS keys with SM2 key pairs (China Regions only), specify + * ENCRYPT_DECRYPT, SIGN_VERIFY, or + * KEY_AGREEMENT.

                        */ inline KeyUsageType GetKeyUsage() const { return m_keyUsage; } inline bool KeyUsageHasBeenSet() const { return m_keyUsageHasBeenSet; } @@ -168,9 +170,12 @@ namespace Model *
                      • ECC_NIST_P521 (secp521r1)

                    • *

                      Other asymmetric elliptic curve key pairs (signing and verification)

                        *
                      • ECC_SECG_P256K1 (secp256k1), commonly used for - * cryptocurrencies.

                    • SM2 key pairs (encryption and - * decryption -or- signing and verification -or- deriving shared secrets)

                        - *
                      • SM2 (China Regions only)

                    + * cryptocurrencies.

                • Asymmetric ML-DSA key pairs + * (signing and verification)

                  • ML_DSA_44

                  • + *
                  • ML_DSA_65

                  • ML_DSA_87

                    + *
                • SM2 key pairs (encryption and decryption -or- signing + * and verification -or- deriving shared secrets)

                  • + * SM2 (China Regions only)

                */ inline KeySpec GetKeySpec() const { return m_keySpec; } inline bool KeySpecHasBeenSet() const { return m_keySpecHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairRequest.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairRequest.h index 59b5ce2d8a9..1926182002f 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairRequest.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairRequest.h @@ -96,8 +96,9 @@ namespace Model /** *

                Determines the type of data key pair that is generated.

                The KMS rule * that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt - * or to sign and verify (but not both), and the rule that permits you to use ECC - * KMS keys only to sign and verify, are not effective on data key pairs, which are + * or to sign and verify (but not both), the rule that permits you to use ECC KMS + * keys only to sign and verify, and the rule that permits you to use ML-DSA key + * pairs to sign and verify only are not effective on data key pairs, which are * used outside of KMS. The SM2 key spec is only available in China Regions.

                */ inline DataKeyPairSpec GetKeyPairSpec() const { return m_keyPairSpec; } diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairResult.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairResult.h index 13e01158d1e..e89a18aaf8e 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairResult.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairResult.h @@ -118,9 +118,7 @@ namespace Model ///@{ /** - *

                The identifier of the key material used to encrypt the private key. This - * field is omitted if the request includes the Recipient - * parameter.

                + *

                The identifier of the key material used to encrypt the private key.

                */ inline const Aws::String& GetKeyMaterialId() const { return m_keyMaterialId; } template diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairWithoutPlaintextRequest.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairWithoutPlaintextRequest.h index 5f16b966f98..060a5e89c40 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairWithoutPlaintextRequest.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/GenerateDataKeyPairWithoutPlaintextRequest.h @@ -95,8 +95,9 @@ namespace Model /** *

                Determines the type of data key pair that is generated.

                The KMS rule * that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt - * or to sign and verify (but not both), and the rule that permits you to use ECC - * KMS keys only to sign and verify, are not effective on data key pairs, which are + * or to sign and verify (but not both), the rule that permits you to use ECC KMS + * keys only to sign and verify, and the rule that permits you to use ML-DSA key + * pairs to sign and verify only are not effective on data key pairs, which are * used outside of KMS. The SM2 key spec is only available in China Regions.

                */ inline DataKeyPairSpec GetKeyPairSpec() const { return m_keyPairSpec; } diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/KeySpec.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/KeySpec.h index 98a7922ba1a..fab7a21554e 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/KeySpec.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/KeySpec.h @@ -28,7 +28,10 @@ namespace Model HMAC_256, HMAC_384, HMAC_512, - SM2 + SM2, + ML_DSA_44, + ML_DSA_65, + ML_DSA_87 }; namespace KeySpecMapper diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/MessageType.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/MessageType.h index 3438ff6979d..95ddb576d1c 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/MessageType.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/MessageType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, RAW, - DIGEST + DIGEST, + EXTERNAL_MU }; namespace MessageTypeMapper diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SignRequest.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SignRequest.h index a20137f580a..53454e967eb 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SignRequest.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SignRequest.h @@ -83,26 +83,33 @@ namespace Model /** *

                Tells KMS whether the value of the Message parameter should be * hashed as part of the signing algorithm. Use RAW for unhashed - * messages; use DIGEST for message digests, which are already - * hashed.

                When the value of MessageType is RAW, - * KMS uses the standard signing algorithm, which begins with a hash function. When - * the value is DIGEST, KMS skips the hashing step in the signing - * algorithm.

                Use the DIGEST value only when the - * value of the Message parameter is a message digest. If you use the - * DIGEST value with an unhashed message, the security of the signing - * operation can be compromised.

                When the value of - * MessageTypeis DIGEST, the length of the + * messages; use DIGEST for message digests, which are already hashed; + * use EXTERNAL_MU for 64-byte representative μ used in ML-DSA signing + * as defined in NIST FIPS 204 Section 6.2.

                When the value of + * MessageType is RAW, KMS uses the standard signing + * algorithm, which begins with a hash function. When the value is + * DIGEST, KMS skips the hashing step in the signing algorithm. When + * the value is EXTERNAL_MU KMS skips the concatenated hashing of the + * public key hash and the message done in the ML-DSA signing algorithm.

                + *

                Use the DIGEST or EXTERNAL_MU value + * only when the value of the Message parameter is a message digest. + * If you use the DIGEST value with an unhashed message, the security + * of the signing operation can be compromised.

                When the value + * of MessageType is DIGEST, the length of the * Message value must match the length of hashed messages for the - * specified signing algorithm.

                You can submit a message digest and omit the + * specified signing algorithm.

                When the value of MessageType + * is EXTERNAL_MU the length of the Message value must be + * 64 bytes.

                You can submit a message digest and omit the * MessageType or specify RAW so the digest is hashed * again while signing. However, this can cause verification failures when * verifying with a system that assumes a single hash.

                The hashing algorithm - * in that Sign uses is based on the SigningAlgorithm + * that Sign uses is based on the SigningAlgorithm * value.

                */ diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SigningAlgorithmSpec.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SigningAlgorithmSpec.h index 9ef49001ab6..418ec7802c3 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SigningAlgorithmSpec.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/SigningAlgorithmSpec.h @@ -25,7 +25,8 @@ namespace Model ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, - SM2DSA + SM2DSA, + ML_DSA_SHAKE_256 }; namespace SigningAlgorithmSpecMapper diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/VerifyRequest.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/VerifyRequest.h index 846d9b07ab5..0ba513423f2 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/VerifyRequest.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/model/VerifyRequest.h @@ -84,27 +84,34 @@ namespace Model /** *

                Tells KMS whether the value of the Message parameter should be * hashed as part of the signing algorithm. Use RAW for unhashed - * messages; use DIGEST for message digests, which are already - * hashed.

                When the value of MessageType is RAW, - * KMS uses the standard signing algorithm, which begins with a hash function. When - * the value is DIGEST, KMS skips the hashing step in the signing - * algorithm.

                Use the DIGEST value only when the - * value of the Message parameter is a message digest. If you use the - * DIGEST value with an unhashed message, the security of the - * verification operation can be compromised.

                When the value of - * MessageTypeis DIGEST, the length of the + * messages; use DIGEST for message digests, which are already hashed; + * use EXTERNAL_MU for 64-byte representative μ used in ML-DSA signing + * as defined in NIST FIPS 204 Section 6.2.

                When the value of + * MessageType is RAW, KMS uses the standard signing + * algorithm, which begins with a hash function. When the value is + * DIGEST, KMS skips the hashing step in the signing algorithm. When + * the value is EXTERNAL_MU KMS skips the concatenated hashing of the + * public key hash and the message done in the ML-DSA signing algorithm.

                + *

                Use the DIGEST or EXTERNAL_MU value + * only when the value of the Message parameter is a message digest. + * If you use the DIGEST value with an unhashed message, the security + * of the signing operation can be compromised.

                When the value + * of MessageType is DIGEST, the length of the * Message value must match the length of hashed messages for the - * specified signing algorithm.

                You can submit a message digest and omit the + * specified signing algorithm.

                When the value of MessageType + * is EXTERNAL_MU the length of the Message value must be + * 64 bytes.

                You can submit a message digest and omit the * MessageType or specify RAW so the digest is hashed * again while signing. However, if the signed message is hashed once while * signing, but twice while verifying, verification fails, even when the message - * hasn't changed.

                The hashing algorithm in that Verify uses is + * hasn't changed.

                The hashing algorithm that Verify uses is * based on the SigningAlgorithm value.

                */ diff --git a/generated/src/aws-cpp-sdk-kms/source/model/KeySpec.cpp b/generated/src/aws-cpp-sdk-kms/source/model/KeySpec.cpp index c9071bc547b..f1d95fed82a 100644 --- a/generated/src/aws-cpp-sdk-kms/source/model/KeySpec.cpp +++ b/generated/src/aws-cpp-sdk-kms/source/model/KeySpec.cpp @@ -33,6 +33,9 @@ namespace Aws static const int HMAC_384_HASH = HashingUtils::HashString("HMAC_384"); static const int HMAC_512_HASH = HashingUtils::HashString("HMAC_512"); static const int SM2_HASH = HashingUtils::HashString("SM2"); + static const int ML_DSA_44_HASH = HashingUtils::HashString("ML_DSA_44"); + static const int ML_DSA_65_HASH = HashingUtils::HashString("ML_DSA_65"); + static const int ML_DSA_87_HASH = HashingUtils::HashString("ML_DSA_87"); KeySpec GetKeySpecForName(const Aws::String& name) @@ -90,6 +93,18 @@ namespace Aws { return KeySpec::SM2; } + else if (hashCode == ML_DSA_44_HASH) + { + return KeySpec::ML_DSA_44; + } + else if (hashCode == ML_DSA_65_HASH) + { + return KeySpec::ML_DSA_65; + } + else if (hashCode == ML_DSA_87_HASH) + { + return KeySpec::ML_DSA_87; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -132,6 +147,12 @@ namespace Aws return "HMAC_512"; case KeySpec::SM2: return "SM2"; + case KeySpec::ML_DSA_44: + return "ML_DSA_44"; + case KeySpec::ML_DSA_65: + return "ML_DSA_65"; + case KeySpec::ML_DSA_87: + return "ML_DSA_87"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-kms/source/model/MessageType.cpp b/generated/src/aws-cpp-sdk-kms/source/model/MessageType.cpp index 9831c62549f..83813c7c5a9 100644 --- a/generated/src/aws-cpp-sdk-kms/source/model/MessageType.cpp +++ b/generated/src/aws-cpp-sdk-kms/source/model/MessageType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int RAW_HASH = HashingUtils::HashString("RAW"); static const int DIGEST_HASH = HashingUtils::HashString("DIGEST"); + static const int EXTERNAL_MU_HASH = HashingUtils::HashString("EXTERNAL_MU"); MessageType GetMessageTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return MessageType::DIGEST; } + else if (hashCode == EXTERNAL_MU_HASH) + { + return MessageType::EXTERNAL_MU; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "RAW"; case MessageType::DIGEST: return "DIGEST"; + case MessageType::EXTERNAL_MU: + return "EXTERNAL_MU"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-kms/source/model/SigningAlgorithmSpec.cpp b/generated/src/aws-cpp-sdk-kms/source/model/SigningAlgorithmSpec.cpp index 6b79800fd2d..462c76bdde9 100644 --- a/generated/src/aws-cpp-sdk-kms/source/model/SigningAlgorithmSpec.cpp +++ b/generated/src/aws-cpp-sdk-kms/source/model/SigningAlgorithmSpec.cpp @@ -30,6 +30,7 @@ namespace Aws static const int ECDSA_SHA_384_HASH = HashingUtils::HashString("ECDSA_SHA_384"); static const int ECDSA_SHA_512_HASH = HashingUtils::HashString("ECDSA_SHA_512"); static const int SM2DSA_HASH = HashingUtils::HashString("SM2DSA"); + static const int ML_DSA_SHAKE_256_HASH = HashingUtils::HashString("ML_DSA_SHAKE_256"); SigningAlgorithmSpec GetSigningAlgorithmSpecForName(const Aws::String& name) @@ -75,6 +76,10 @@ namespace Aws { return SigningAlgorithmSpec::SM2DSA; } + else if (hashCode == ML_DSA_SHAKE_256_HASH) + { + return SigningAlgorithmSpec::ML_DSA_SHAKE_256; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -111,6 +116,8 @@ namespace Aws return "ECDSA_SHA_512"; case SigningAlgorithmSpec::SM2DSA: return "SM2DSA"; + case SigningAlgorithmSpec::ML_DSA_SHAKE_256: + return "ML_DSA_SHAKE_256"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h index fb71d4bf1b9..bfeb6a4cb20 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h @@ -294,10 +294,12 @@ namespace Lambda * ParallelizationFactor – Process multiple batches from each shard * concurrently.

              For stream sources (DynamoDB, Kinesis, Amazon * MSK, and self-managed Apache Kafka), the following option is also available:

              - *
              • DestinationConfig – Send discarded records to an - * Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

              For - * information about which configuration parameters apply to each event source, see - * the following topics.

              For information about which configuration + * parameters apply to each event source, see the following topics.

              For stream sources (DynamoDB, Kinesis, Amazon * MSK, and self-managed Apache Kafka), the following option is also available:

              - *
              • DestinationConfig – Send discarded records to an - * Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

              For - * information about which configuration parameters apply to each event source, see - * the following topics.

              For information about which configuration + * parameters apply to each event source, see the following topics.

              • + *

                * Amazon DynamoDB Streams

              • diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h index fc89d8fd223..8a2bc51a593 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/AmazonManagedKafkaEventSourceConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -54,10 +55,25 @@ namespace Model template AmazonManagedKafkaEventSourceConfig& WithConsumerGroupId(ConsumerGroupIdT&& value) { SetConsumerGroupId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                Specific configuration settings for a Kafka schema registry.

                + */ + inline const KafkaSchemaRegistryConfig& GetSchemaRegistryConfig() const { return m_schemaRegistryConfig; } + inline bool SchemaRegistryConfigHasBeenSet() const { return m_schemaRegistryConfigHasBeenSet; } + template + void SetSchemaRegistryConfig(SchemaRegistryConfigT&& value) { m_schemaRegistryConfigHasBeenSet = true; m_schemaRegistryConfig = std::forward(value); } + template + AmazonManagedKafkaEventSourceConfig& WithSchemaRegistryConfig(SchemaRegistryConfigT&& value) { SetSchemaRegistryConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_consumerGroupId; bool m_consumerGroupIdHasBeenSet = false; + + KafkaSchemaRegistryConfig m_schemaRegistryConfig; + bool m_schemaRegistryConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h index b318753c0cf..50c20bcdeca 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/CreateEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                The result of the last Lambda invocation of your function.

                + *

                The result of the event source mapping's last processing attempt.

                */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h index b4e1746cd5a..73f140b8a41 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeadLetterConfig.h @@ -25,7 +25,7 @@ namespace Model /** *

                The dead-letter + * href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq">dead-letter * queue for failed asynchronous invocations.

                See Also:

                AWS * API Reference

                diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h index 78939b605b0..d4d6a60edbd 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DeleteEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                The result of the last Lambda invocation of your function.

                + *

                The result of the event source mapping's last processing attempt.

                */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h index c8a374eaf35..bc187e6d286 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/DestinationConfig.h @@ -26,7 +26,9 @@ namespace Model /** *

                A configuration object that specifies the destination of an event after - * Lambda processes it.

                See Also:

                Adding + * a destination.

                See Also:

                AWS * API Reference

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

                The destination configuration for successful invocations.

                + *

                The destination configuration for successful invocations. Not supported in + * CreateEventSourceMapping or + * UpdateEventSourceMapping.

                */ inline const OnSuccess& GetOnSuccess() const { return m_onSuccess; } inline bool OnSuccessHasBeenSet() const { return m_onSuccessHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h index 206d0003c54..67fce88cda9 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/EventSourceMappingConfiguration.h @@ -199,7 +199,7 @@ namespace Model ///@{ /** - *

                The result of the last Lambda invocation of your function.

                + *

                The result of the event source mapping's last processing attempt.

                */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } inline bool LastProcessingResultHasBeenSet() const { return m_lastProcessingResultHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h index b605ac40e39..84bd1c7988d 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

                The result of the last Lambda invocation of your function.

                + *

                The result of the event source mapping's last processing attempt.

                */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h index 7944aeda20d..0fe3fe71a0d 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/GetRuntimeManagementConfigRequest.h @@ -42,7 +42,7 @@ namespace Model /** *

                The name or ARN of the Lambda function.

                Name * formats

                • Function name – - * my-function.

                • Function ARN �� + * my-function.

                • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

                  *
                • Partial ARN – * 123456789012:function:my-function.

                The length diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h new file mode 100644 index 00000000000..2d4b16d1775 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAccessConfig.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Lambda +{ +namespace Model +{ + + /** + *

                Specific access configuration settings that tell Lambda how to authenticate + * with your schema registry.

                If you're working with an Glue schema + * registry, don't provide authentication details in this object. Instead, ensure + * that your execution role has the required permissions for Lambda to access your + * cluster.

                If you're working with a Confluent schema registry, choose the + * authentication method in the Type field, and provide the Secrets + * Manager secret ARN in the URI field.

                See Also:

                AWS + * API Reference

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

                The type of authentication Lambda uses to access your schema registry.

                + */ + inline KafkaSchemaRegistryAuthType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(KafkaSchemaRegistryAuthType value) { m_typeHasBeenSet = true; m_type = value; } + inline KafkaSchemaRegistryAccessConfig& WithType(KafkaSchemaRegistryAuthType value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

                The URI of the secret (Secrets Manager secret ARN) to authenticate with your + * schema registry.

                + */ + inline const Aws::String& GetURI() const { return m_uRI; } + inline bool URIHasBeenSet() const { return m_uRIHasBeenSet; } + template + void SetURI(URIT&& value) { m_uRIHasBeenSet = true; m_uRI = std::forward(value); } + template + KafkaSchemaRegistryAccessConfig& WithURI(URIT&& value) { SetURI(std::forward(value)); return *this;} + ///@} + private: + + KafkaSchemaRegistryAuthType m_type{KafkaSchemaRegistryAuthType::NOT_SET}; + bool m_typeHasBeenSet = false; + + Aws::String m_uRI; + bool m_uRIHasBeenSet = false; + }; + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h new file mode 100644 index 00000000000..ef38d50a768 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryAuthType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + enum class KafkaSchemaRegistryAuthType + { + NOT_SET, + BASIC_AUTH, + CLIENT_CERTIFICATE_TLS_AUTH, + SERVER_ROOT_CA_CERTIFICATE + }; + +namespace KafkaSchemaRegistryAuthTypeMapper +{ +AWS_LAMBDA_API KafkaSchemaRegistryAuthType GetKafkaSchemaRegistryAuthTypeForName(const Aws::String& name); + +AWS_LAMBDA_API Aws::String GetNameForKafkaSchemaRegistryAuthType(KafkaSchemaRegistryAuthType value); +} // namespace KafkaSchemaRegistryAuthTypeMapper +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h new file mode 100644 index 00000000000..a120a42a3be --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaRegistryConfig.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Lambda +{ +namespace Model +{ + + /** + *

                Specific configuration settings for a Kafka schema registry.

                See + * Also:

                AWS + * API Reference

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

                The URI for your schema registry. The correct URI format depends on the type + * of schema registry you're using.

                • For Glue schema registries, + * use the ARN of the registry.

                • For Confluent schema registries, + * use the URL of the registry.

                + */ + inline const Aws::String& GetSchemaRegistryURI() const { return m_schemaRegistryURI; } + inline bool SchemaRegistryURIHasBeenSet() const { return m_schemaRegistryURIHasBeenSet; } + template + void SetSchemaRegistryURI(SchemaRegistryURIT&& value) { m_schemaRegistryURIHasBeenSet = true; m_schemaRegistryURI = std::forward(value); } + template + KafkaSchemaRegistryConfig& WithSchemaRegistryURI(SchemaRegistryURIT&& value) { SetSchemaRegistryURI(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                The record format that Lambda delivers to your function after schema + * validation.

                • Choose JSON to have Lambda deliver the + * record to your function as a standard JSON object.

                • Choose + * SOURCE to have Lambda deliver the record to your function in its + * original source format. Lambda removes all schema metadata, such as the schema + * ID, before sending the record to your function.

                + */ + inline SchemaRegistryEventRecordFormat GetEventRecordFormat() const { return m_eventRecordFormat; } + inline bool EventRecordFormatHasBeenSet() const { return m_eventRecordFormatHasBeenSet; } + inline void SetEventRecordFormat(SchemaRegistryEventRecordFormat value) { m_eventRecordFormatHasBeenSet = true; m_eventRecordFormat = value; } + inline KafkaSchemaRegistryConfig& WithEventRecordFormat(SchemaRegistryEventRecordFormat value) { SetEventRecordFormat(value); return *this;} + ///@} + + ///@{ + /** + *

                An array of access configuration objects that tell Lambda how to authenticate + * with your schema registry.

                + */ + inline const Aws::Vector& GetAccessConfigs() const { return m_accessConfigs; } + inline bool AccessConfigsHasBeenSet() const { return m_accessConfigsHasBeenSet; } + template> + void SetAccessConfigs(AccessConfigsT&& value) { m_accessConfigsHasBeenSet = true; m_accessConfigs = std::forward(value); } + template> + KafkaSchemaRegistryConfig& WithAccessConfigs(AccessConfigsT&& value) { SetAccessConfigs(std::forward(value)); return *this;} + template + KafkaSchemaRegistryConfig& AddAccessConfigs(AccessConfigsT&& value) { m_accessConfigsHasBeenSet = true; m_accessConfigs.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                An array of schema validation configuration objects, which tell Lambda the + * message attributes you want to validate and filter using your schema + * registry.

                + */ + inline const Aws::Vector& GetSchemaValidationConfigs() const { return m_schemaValidationConfigs; } + inline bool SchemaValidationConfigsHasBeenSet() const { return m_schemaValidationConfigsHasBeenSet; } + template> + void SetSchemaValidationConfigs(SchemaValidationConfigsT&& value) { m_schemaValidationConfigsHasBeenSet = true; m_schemaValidationConfigs = std::forward(value); } + template> + KafkaSchemaRegistryConfig& WithSchemaValidationConfigs(SchemaValidationConfigsT&& value) { SetSchemaValidationConfigs(std::forward(value)); return *this;} + template + KafkaSchemaRegistryConfig& AddSchemaValidationConfigs(SchemaValidationConfigsT&& value) { m_schemaValidationConfigsHasBeenSet = true; m_schemaValidationConfigs.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_schemaRegistryURI; + bool m_schemaRegistryURIHasBeenSet = false; + + SchemaRegistryEventRecordFormat m_eventRecordFormat{SchemaRegistryEventRecordFormat::NOT_SET}; + bool m_eventRecordFormatHasBeenSet = false; + + Aws::Vector m_accessConfigs; + bool m_accessConfigsHasBeenSet = false; + + Aws::Vector m_schemaValidationConfigs; + bool m_schemaValidationConfigsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.h new file mode 100644 index 00000000000..df7fd429b58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationAttribute.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 Lambda +{ +namespace Model +{ + enum class KafkaSchemaValidationAttribute + { + NOT_SET, + KEY, + VALUE + }; + +namespace KafkaSchemaValidationAttributeMapper +{ +AWS_LAMBDA_API KafkaSchemaValidationAttribute GetKafkaSchemaValidationAttributeForName(const Aws::String& name); + +AWS_LAMBDA_API Aws::String GetNameForKafkaSchemaValidationAttribute(KafkaSchemaValidationAttribute value); +} // namespace KafkaSchemaValidationAttributeMapper +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h new file mode 100644 index 00000000000..c933b16f4ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/KafkaSchemaValidationConfig.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Lambda +{ +namespace Model +{ + + /** + *

                Specific schema validation configuration settings that tell Lambda the + * message attributes you want to validate and filter using your schema + * registry.

                See Also:

                AWS + * API Reference

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

                The attributes you want your schema registry to validate and filter for. If + * you selected JSON as the EventRecordFormat, Lambda + * also deserializes the selected message attributes.

                + */ + inline KafkaSchemaValidationAttribute GetAttribute() const { return m_attribute; } + inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } + inline void SetAttribute(KafkaSchemaValidationAttribute value) { m_attributeHasBeenSet = true; m_attribute = value; } + inline KafkaSchemaValidationConfig& WithAttribute(KafkaSchemaValidationAttribute value) { SetAttribute(value); return *this;} + ///@} + private: + + KafkaSchemaValidationAttribute m_attribute{KafkaSchemaValidationAttribute::NOT_SET}; + bool m_attributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h index bf6b33044c9..84c9c7788a0 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/ListEventSourceMappingsRequest.h @@ -67,7 +67,7 @@ namespace Model * arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

                *
              • Version or Alias ARN – * arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

                - *
              • Partial ARN �� + *

              • Partial ARN – * 123456789012:function:MyFunction.

              The length * constraint applies only to the full ARN. If you specify only the function name, * it's limited to 64 characters in length.

              diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h index 8d35cd4cfb2..ae4a7bce50e 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnFailure.h @@ -24,8 +24,10 @@ namespace Model { /** - *

              A destination for events that failed processing.

              See Also:

              - * AWS + *

              A destination for events that failed processing. For more information, see Adding + * a destination.

              See Also:

              AWS * API Reference

              */ class OnFailure diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h index be753819017..99390430fbb 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/OnSuccess.h @@ -28,7 +28,9 @@ namespace Model * records of successful asynchronous * invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Lambda - * function, or Amazon EventBridge event bus as the destination.

              See + * function, or Amazon EventBridge event bus as the destination.

              + * OnSuccess is not supported in CreateEventSourceMapping + * or UpdateEventSourceMapping requests.

              See * Also:

              AWS * API Reference

              diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h index 70376376196..287043af08f 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/PutFunctionConcurrencyRequest.h @@ -36,7 +36,7 @@ namespace Model /** *

              The name or ARN of the Lambda function.

              Name * formats

              • Function name – - * my-function.

              • Function ARN ��� + * my-function.

              • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

                *
              • Partial ARN – * 123456789012:function:my-function.

              The length diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.h new file mode 100644 index 00000000000..70e3987f8e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SchemaRegistryEventRecordFormat.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 Lambda +{ +namespace Model +{ + enum class SchemaRegistryEventRecordFormat + { + NOT_SET, + JSON, + SOURCE + }; + +namespace SchemaRegistryEventRecordFormatMapper +{ +AWS_LAMBDA_API SchemaRegistryEventRecordFormat GetSchemaRegistryEventRecordFormatForName(const Aws::String& name); + +AWS_LAMBDA_API Aws::String GetNameForSchemaRegistryEventRecordFormat(SchemaRegistryEventRecordFormat value); +} // namespace SchemaRegistryEventRecordFormatMapper +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h index 38661a61105..bc50f32fa06 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SelfManagedKafkaEventSourceConfig.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -40,11 +41,11 @@ namespace Model ///@{ /** - *

              The identifier for the Kafka consumer group to join. The consumer group ID + *

              The identifier for the Kafka consumer group to join. The consumer group ID * must be unique among all your Kafka event sources. After creating a Kafka event * source mapping with the consumer group ID specified, you cannot update this * value. For more information, see Customizable + * href="https://docs.aws.amazon.com/lambda/latest/dg/with-kafka-process.html#services-smaa-topic-add">Customizable * consumer group ID.

              */ inline const Aws::String& GetConsumerGroupId() const { return m_consumerGroupId; } @@ -54,10 +55,25 @@ namespace Model template SelfManagedKafkaEventSourceConfig& WithConsumerGroupId(ConsumerGroupIdT&& value) { SetConsumerGroupId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

              Specific configuration settings for a Kafka schema registry.

              + */ + inline const KafkaSchemaRegistryConfig& GetSchemaRegistryConfig() const { return m_schemaRegistryConfig; } + inline bool SchemaRegistryConfigHasBeenSet() const { return m_schemaRegistryConfigHasBeenSet; } + template + void SetSchemaRegistryConfig(SchemaRegistryConfigT&& value) { m_schemaRegistryConfigHasBeenSet = true; m_schemaRegistryConfig = std::forward(value); } + template + SelfManagedKafkaEventSourceConfig& WithSchemaRegistryConfig(SchemaRegistryConfigT&& value) { SetSchemaRegistryConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_consumerGroupId; bool m_consumerGroupIdHasBeenSet = false; + + KafkaSchemaRegistryConfig m_schemaRegistryConfig; + bool m_schemaRegistryConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h index 5818f25dd2a..2db80887fcf 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/SourceAccessConfiguration.h @@ -62,7 +62,7 @@ namespace Model * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

            • - *
            • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed + *

            • CLIENT_CERTIFICATE_TLS_AUTH ��� (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h index 355d955a19c..051d9db51bd 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingRequest.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include #include @@ -258,6 +260,26 @@ namespace Model UpdateEventSourceMappingRequest& WithScalingConfig(ScalingConfigT&& value) { SetScalingConfig(std::forward(value)); return *this;} ///@} + ///@{ + + inline const AmazonManagedKafkaEventSourceConfig& GetAmazonManagedKafkaEventSourceConfig() const { return m_amazonManagedKafkaEventSourceConfig; } + inline bool AmazonManagedKafkaEventSourceConfigHasBeenSet() const { return m_amazonManagedKafkaEventSourceConfigHasBeenSet; } + template + void SetAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfigT&& value) { m_amazonManagedKafkaEventSourceConfigHasBeenSet = true; m_amazonManagedKafkaEventSourceConfig = std::forward(value); } + template + UpdateEventSourceMappingRequest& WithAmazonManagedKafkaEventSourceConfig(AmazonManagedKafkaEventSourceConfigT&& value) { SetAmazonManagedKafkaEventSourceConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const SelfManagedKafkaEventSourceConfig& GetSelfManagedKafkaEventSourceConfig() const { return m_selfManagedKafkaEventSourceConfig; } + inline bool SelfManagedKafkaEventSourceConfigHasBeenSet() const { return m_selfManagedKafkaEventSourceConfigHasBeenSet; } + template + void SetSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfigT&& value) { m_selfManagedKafkaEventSourceConfigHasBeenSet = true; m_selfManagedKafkaEventSourceConfig = std::forward(value); } + template + UpdateEventSourceMappingRequest& WithSelfManagedKafkaEventSourceConfig(SelfManagedKafkaEventSourceConfigT&& value) { SetSelfManagedKafkaEventSourceConfig(std::forward(value)); return *this;} + ///@} + ///@{ /** *

              Specific configuration settings for a DocumentDB event source.

              @@ -361,6 +383,12 @@ namespace Model ScalingConfig m_scalingConfig; bool m_scalingConfigHasBeenSet = false; + AmazonManagedKafkaEventSourceConfig m_amazonManagedKafkaEventSourceConfig; + bool m_amazonManagedKafkaEventSourceConfigHasBeenSet = false; + + SelfManagedKafkaEventSourceConfig m_selfManagedKafkaEventSourceConfig; + bool m_selfManagedKafkaEventSourceConfigHasBeenSet = false; + DocumentDBEventSourceConfig m_documentDBEventSourceConfig; bool m_documentDBEventSourceConfigHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h index 9811294aa41..ac0f03b585b 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/model/UpdateEventSourceMappingResult.h @@ -189,7 +189,7 @@ namespace Model ///@{ /** - *

              The result of the last Lambda invocation of your function.

              + *

              The result of the event source mapping's last processing attempt.

              */ inline const Aws::String& GetLastProcessingResult() const { return m_lastProcessingResult; } template diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp index f39880481e9..a282736fdc5 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/model/AmazonManagedKafkaEventSourceConfig.cpp @@ -30,6 +30,11 @@ AmazonManagedKafkaEventSourceConfig& AmazonManagedKafkaEventSourceConfig::operat m_consumerGroupId = jsonValue.GetString("ConsumerGroupId"); m_consumerGroupIdHasBeenSet = true; } + if(jsonValue.ValueExists("SchemaRegistryConfig")) + { + m_schemaRegistryConfig = jsonValue.GetObject("SchemaRegistryConfig"); + m_schemaRegistryConfigHasBeenSet = true; + } return *this; } @@ -43,6 +48,12 @@ JsonValue AmazonManagedKafkaEventSourceConfig::Jsonize() const } + if(m_schemaRegistryConfigHasBeenSet) + { + payload.WithObject("SchemaRegistryConfig", m_schemaRegistryConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp new file mode 100644 index 00000000000..45d8aeee230 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAccessConfig.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + +KafkaSchemaRegistryAccessConfig::KafkaSchemaRegistryAccessConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +KafkaSchemaRegistryAccessConfig& KafkaSchemaRegistryAccessConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = KafkaSchemaRegistryAuthTypeMapper::GetKafkaSchemaRegistryAuthTypeForName(jsonValue.GetString("Type")); + m_typeHasBeenSet = true; + } + if(jsonValue.ValueExists("URI")) + { + m_uRI = jsonValue.GetString("URI"); + m_uRIHasBeenSet = true; + } + return *this; +} + +JsonValue KafkaSchemaRegistryAccessConfig::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", KafkaSchemaRegistryAuthTypeMapper::GetNameForKafkaSchemaRegistryAuthType(m_type)); + } + + if(m_uRIHasBeenSet) + { + payload.WithString("URI", m_uRI); + + } + + return payload; +} + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp new file mode 100644 index 00000000000..ab52316c61d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryAuthType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Lambda + { + namespace Model + { + namespace KafkaSchemaRegistryAuthTypeMapper + { + + static const int BASIC_AUTH_HASH = HashingUtils::HashString("BASIC_AUTH"); + static const int CLIENT_CERTIFICATE_TLS_AUTH_HASH = HashingUtils::HashString("CLIENT_CERTIFICATE_TLS_AUTH"); + static const int SERVER_ROOT_CA_CERTIFICATE_HASH = HashingUtils::HashString("SERVER_ROOT_CA_CERTIFICATE"); + + + KafkaSchemaRegistryAuthType GetKafkaSchemaRegistryAuthTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BASIC_AUTH_HASH) + { + return KafkaSchemaRegistryAuthType::BASIC_AUTH; + } + else if (hashCode == CLIENT_CERTIFICATE_TLS_AUTH_HASH) + { + return KafkaSchemaRegistryAuthType::CLIENT_CERTIFICATE_TLS_AUTH; + } + else if (hashCode == SERVER_ROOT_CA_CERTIFICATE_HASH) + { + return KafkaSchemaRegistryAuthType::SERVER_ROOT_CA_CERTIFICATE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return KafkaSchemaRegistryAuthType::NOT_SET; + } + + Aws::String GetNameForKafkaSchemaRegistryAuthType(KafkaSchemaRegistryAuthType enumValue) + { + switch(enumValue) + { + case KafkaSchemaRegistryAuthType::NOT_SET: + return {}; + case KafkaSchemaRegistryAuthType::BASIC_AUTH: + return "BASIC_AUTH"; + case KafkaSchemaRegistryAuthType::CLIENT_CERTIFICATE_TLS_AUTH: + return "CLIENT_CERTIFICATE_TLS_AUTH"; + case KafkaSchemaRegistryAuthType::SERVER_ROOT_CA_CERTIFICATE: + return "SERVER_ROOT_CA_CERTIFICATE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace KafkaSchemaRegistryAuthTypeMapper + } // namespace Model + } // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp new file mode 100644 index 00000000000..fd9f26a466d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaRegistryConfig.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + +KafkaSchemaRegistryConfig::KafkaSchemaRegistryConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +KafkaSchemaRegistryConfig& KafkaSchemaRegistryConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SchemaRegistryURI")) + { + m_schemaRegistryURI = jsonValue.GetString("SchemaRegistryURI"); + m_schemaRegistryURIHasBeenSet = true; + } + if(jsonValue.ValueExists("EventRecordFormat")) + { + m_eventRecordFormat = SchemaRegistryEventRecordFormatMapper::GetSchemaRegistryEventRecordFormatForName(jsonValue.GetString("EventRecordFormat")); + m_eventRecordFormatHasBeenSet = true; + } + if(jsonValue.ValueExists("AccessConfigs")) + { + Aws::Utils::Array accessConfigsJsonList = jsonValue.GetArray("AccessConfigs"); + for(unsigned accessConfigsIndex = 0; accessConfigsIndex < accessConfigsJsonList.GetLength(); ++accessConfigsIndex) + { + m_accessConfigs.push_back(accessConfigsJsonList[accessConfigsIndex].AsObject()); + } + m_accessConfigsHasBeenSet = true; + } + if(jsonValue.ValueExists("SchemaValidationConfigs")) + { + Aws::Utils::Array schemaValidationConfigsJsonList = jsonValue.GetArray("SchemaValidationConfigs"); + for(unsigned schemaValidationConfigsIndex = 0; schemaValidationConfigsIndex < schemaValidationConfigsJsonList.GetLength(); ++schemaValidationConfigsIndex) + { + m_schemaValidationConfigs.push_back(schemaValidationConfigsJsonList[schemaValidationConfigsIndex].AsObject()); + } + m_schemaValidationConfigsHasBeenSet = true; + } + return *this; +} + +JsonValue KafkaSchemaRegistryConfig::Jsonize() const +{ + JsonValue payload; + + if(m_schemaRegistryURIHasBeenSet) + { + payload.WithString("SchemaRegistryURI", m_schemaRegistryURI); + + } + + if(m_eventRecordFormatHasBeenSet) + { + payload.WithString("EventRecordFormat", SchemaRegistryEventRecordFormatMapper::GetNameForSchemaRegistryEventRecordFormat(m_eventRecordFormat)); + } + + if(m_accessConfigsHasBeenSet) + { + Aws::Utils::Array accessConfigsJsonList(m_accessConfigs.size()); + for(unsigned accessConfigsIndex = 0; accessConfigsIndex < accessConfigsJsonList.GetLength(); ++accessConfigsIndex) + { + accessConfigsJsonList[accessConfigsIndex].AsObject(m_accessConfigs[accessConfigsIndex].Jsonize()); + } + payload.WithArray("AccessConfigs", std::move(accessConfigsJsonList)); + + } + + if(m_schemaValidationConfigsHasBeenSet) + { + Aws::Utils::Array schemaValidationConfigsJsonList(m_schemaValidationConfigs.size()); + for(unsigned schemaValidationConfigsIndex = 0; schemaValidationConfigsIndex < schemaValidationConfigsJsonList.GetLength(); ++schemaValidationConfigsIndex) + { + schemaValidationConfigsJsonList[schemaValidationConfigsIndex].AsObject(m_schemaValidationConfigs[schemaValidationConfigsIndex].Jsonize()); + } + payload.WithArray("SchemaValidationConfigs", std::move(schemaValidationConfigsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.cpp new file mode 100644 index 00000000000..e43592f904a --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationAttribute.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 Lambda + { + namespace Model + { + namespace KafkaSchemaValidationAttributeMapper + { + + static const int KEY_HASH = HashingUtils::HashString("KEY"); + static const int VALUE_HASH = HashingUtils::HashString("VALUE"); + + + KafkaSchemaValidationAttribute GetKafkaSchemaValidationAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == KEY_HASH) + { + return KafkaSchemaValidationAttribute::KEY; + } + else if (hashCode == VALUE_HASH) + { + return KafkaSchemaValidationAttribute::VALUE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return KafkaSchemaValidationAttribute::NOT_SET; + } + + Aws::String GetNameForKafkaSchemaValidationAttribute(KafkaSchemaValidationAttribute enumValue) + { + switch(enumValue) + { + case KafkaSchemaValidationAttribute::NOT_SET: + return {}; + case KafkaSchemaValidationAttribute::KEY: + return "KEY"; + case KafkaSchemaValidationAttribute::VALUE: + return "VALUE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace KafkaSchemaValidationAttributeMapper + } // namespace Model + } // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp new file mode 100644 index 00000000000..87fd9c0b72d --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/KafkaSchemaValidationConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Lambda +{ +namespace Model +{ + +KafkaSchemaValidationConfig::KafkaSchemaValidationConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +KafkaSchemaValidationConfig& KafkaSchemaValidationConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Attribute")) + { + m_attribute = KafkaSchemaValidationAttributeMapper::GetKafkaSchemaValidationAttributeForName(jsonValue.GetString("Attribute")); + m_attributeHasBeenSet = true; + } + return *this; +} + +JsonValue KafkaSchemaValidationConfig::Jsonize() const +{ + JsonValue payload; + + if(m_attributeHasBeenSet) + { + payload.WithString("Attribute", KafkaSchemaValidationAttributeMapper::GetNameForKafkaSchemaValidationAttribute(m_attribute)); + } + + return payload; +} + +} // namespace Model +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.cpp new file mode 100644 index 00000000000..db1ef0765c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/model/SchemaRegistryEventRecordFormat.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 Lambda + { + namespace Model + { + namespace SchemaRegistryEventRecordFormatMapper + { + + static const int JSON_HASH = HashingUtils::HashString("JSON"); + static const int SOURCE_HASH = HashingUtils::HashString("SOURCE"); + + + SchemaRegistryEventRecordFormat GetSchemaRegistryEventRecordFormatForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == JSON_HASH) + { + return SchemaRegistryEventRecordFormat::JSON; + } + else if (hashCode == SOURCE_HASH) + { + return SchemaRegistryEventRecordFormat::SOURCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SchemaRegistryEventRecordFormat::NOT_SET; + } + + Aws::String GetNameForSchemaRegistryEventRecordFormat(SchemaRegistryEventRecordFormat enumValue) + { + switch(enumValue) + { + case SchemaRegistryEventRecordFormat::NOT_SET: + return {}; + case SchemaRegistryEventRecordFormat::JSON: + return "JSON"; + case SchemaRegistryEventRecordFormat::SOURCE: + return "SOURCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SchemaRegistryEventRecordFormatMapper + } // namespace Model + } // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp index a7d1f62a7d8..e795f6e84cb 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/model/SelfManagedKafkaEventSourceConfig.cpp @@ -30,6 +30,11 @@ SelfManagedKafkaEventSourceConfig& SelfManagedKafkaEventSourceConfig::operator = m_consumerGroupId = jsonValue.GetString("ConsumerGroupId"); m_consumerGroupIdHasBeenSet = true; } + if(jsonValue.ValueExists("SchemaRegistryConfig")) + { + m_schemaRegistryConfig = jsonValue.GetObject("SchemaRegistryConfig"); + m_schemaRegistryConfigHasBeenSet = true; + } return *this; } @@ -43,6 +48,12 @@ JsonValue SelfManagedKafkaEventSourceConfig::Jsonize() const } + if(m_schemaRegistryConfigHasBeenSet) + { + payload.WithObject("SchemaRegistryConfig", m_schemaRegistryConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp b/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp index e13d754fe08..16c1046ef43 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/model/UpdateEventSourceMappingRequest.cpp @@ -110,6 +110,18 @@ Aws::String UpdateEventSourceMappingRequest::SerializePayload() const } + if(m_amazonManagedKafkaEventSourceConfigHasBeenSet) + { + payload.WithObject("AmazonManagedKafkaEventSourceConfig", m_amazonManagedKafkaEventSourceConfig.Jsonize()); + + } + + if(m_selfManagedKafkaEventSourceConfigHasBeenSet) + { + payload.WithObject("SelfManagedKafkaEventSourceConfig", m_selfManagedKafkaEventSourceConfig.Jsonize()); + + } + if(m_documentDBEventSourceConfigHasBeenSet) { payload.WithObject("DocumentDBEventSourceConfig", m_documentDBEventSourceConfig.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/NluImprovementSpecification.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/NluImprovementSpecification.h new file mode 100644 index 00000000000..f708a40bde1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/NluImprovementSpecification.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace LexModelsV2 +{ +namespace Model +{ + + /** + *

              Specifies whether the assisted nlu feature is turned on or off.

              See + * Also:

              AWS + * API Reference

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

              Specifies whether the assisted nlu feature is enabled.

              + */ + inline bool GetEnabled() const { return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline NluImprovementSpecification& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled{false}; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.h index 085b8d05307..640fa2441f5 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/model/RuntimeSettings.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -51,10 +52,25 @@ namespace Model template RuntimeSettings& WithSlotResolutionImprovement(SlotResolutionImprovementT&& value) { SetSlotResolutionImprovement(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

              An object containing specifications for the assisted nlu feature.

              + */ + inline const NluImprovementSpecification& GetNluImprovement() const { return m_nluImprovement; } + inline bool NluImprovementHasBeenSet() const { return m_nluImprovementHasBeenSet; } + template + void SetNluImprovement(NluImprovementT&& value) { m_nluImprovementHasBeenSet = true; m_nluImprovement = std::forward(value); } + template + RuntimeSettings& WithNluImprovement(NluImprovementT&& value) { SetNluImprovement(std::forward(value)); return *this;} + ///@} private: SlotResolutionImprovementSpecification m_slotResolutionImprovement; bool m_slotResolutionImprovementHasBeenSet = false; + + NluImprovementSpecification m_nluImprovement; + bool m_nluImprovementHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/NluImprovementSpecification.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/NluImprovementSpecification.cpp new file mode 100644 index 00000000000..5072279a795 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/NluImprovementSpecification.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace LexModelsV2 +{ +namespace Model +{ + +NluImprovementSpecification::NluImprovementSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +NluImprovementSpecification& NluImprovementSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + m_enabledHasBeenSet = true; + } + return *this; +} + +JsonValue NluImprovementSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/model/RuntimeSettings.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/model/RuntimeSettings.cpp index 0c40f36068d..82909547f54 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/model/RuntimeSettings.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/model/RuntimeSettings.cpp @@ -30,6 +30,11 @@ RuntimeSettings& RuntimeSettings::operator =(JsonView jsonValue) m_slotResolutionImprovement = jsonValue.GetObject("slotResolutionImprovement"); m_slotResolutionImprovementHasBeenSet = true; } + if(jsonValue.ValueExists("nluImprovement")) + { + m_nluImprovement = jsonValue.GetObject("nluImprovement"); + m_nluImprovementHasBeenSet = true; + } return *this; } @@ -43,6 +48,12 @@ JsonValue RuntimeSettings::Jsonize() const } + if(m_nluImprovementHasBeenSet) + { + payload.WithObject("nluImprovement", m_nluImprovement.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h index f00e3d3f194..a616bc381e0 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h @@ -2648,24 +2648,26 @@ namespace CloudWatchLogs * stream.

              The batch of events must satisfy the following * constraints:

              • The maximum batch size is 1,048,576 bytes. This * size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for - * each log event.

              • None of the log events in the batch can be - * more than 2 hours in the future.

              • None of the log events in the - * batch can be more than 14 days in the past. Also, none of the log events can be - * from earlier than the retention period of the log group.

              • The - * log events in the batch must be in chronological order by their timestamp. The - * timestamp is the time that the event occurred, expressed as the number of - * milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon Web - * Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the - * timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For - * example, 2017-09-15T13:45:30.)

              • A batch of log - * events in a single request cannot span more than 24 hours. Otherwise, the - * operation fails.

              • Each log event can be no larger than 1 - * MB.

              • The maximum number of log events in a batch is 10,000.

                - *
              • The quota of five requests per second per log stream - * has been removed. Instead, PutLogEvents actions are throttled based - * on a per-second per-account quota. You can request an increase to the per-second - * throttling quota by using the Service Quotas service.

              • - *

              If a call to PutLogEvents returns + * each log event.

            • Events more than 2 hours in the future are + * rejected while processing remaining valid events.

            • Events older + * than 14 days or preceding the log group's retention period are rejected while + * processing remaining valid events.

            • The log events in the batch + * must be in chronological order by their timestamp. The timestamp is the time + * that the event occurred, expressed as the number of milliseconds after Jan + * 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and + * the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: + * yyyy-mm-ddThh:mm:ss. For example, + * 2017-09-15T13:45:30.)

            • A batch of log events in + * a single request must be in a chronological order. Otherwise, the operation + * fails.

            • Each log event can be no larger than 1 MB.

            • + *
            • The maximum number of log events in a batch is 10,000.

            • + *

              For valid events (within 14 days in the past to 2 hours in future), the time + * span in a single batch cannot exceed 24 hours. Otherwise, the operation + * fails.

            The quota of five requests per second per + * log stream has been removed. Instead, PutLogEvents actions are + * throttled based on a per-second per-account quota. You can request an increase + * to the per-second throttling quota by using the Service Quotas service.

            + *

            If a call to PutLogEvents returns * "UnrecognizedClientException" the most likely cause is a non-valid Amazon Web * Services access key ID or secret key.

            See Also:

            AWS diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.h new file mode 100644 index 00000000000..decbe41fea5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/EventSource.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 CloudWatchLogs +{ +namespace Model +{ + enum class EventSource + { + NOT_SET, + CloudTrail, + Route53Resolver, + VPCFlow, + EKSAudit, + AWSWAF + }; + +namespace EventSourceMapper +{ +AWS_CLOUDWATCHLOGS_API EventSource GetEventSourceForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForEventSource(EventSource value); +} // namespace EventSourceMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h new file mode 100644 index 00000000000..f780b1de654 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/OCSFVersion.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + enum class OCSFVersion + { + NOT_SET, + V1_1 + }; + +namespace OCSFVersionMapper +{ +AWS_CLOUDWATCHLOGS_API OCSFVersion GetOCSFVersionForName(const Aws::String& name); + +AWS_CLOUDWATCHLOGS_API Aws::String GetNameForOCSFVersion(OCSFVersion value); +} // namespace OCSFVersionMapper +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h new file mode 100644 index 00000000000..7b41f2ab610 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/ParseToOCSF.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace CloudWatchLogs +{ +namespace Model +{ + + /** + *

            This processor converts logs into Open + * Cybersecurity Schema Framework (OCSF) events.

            For more information + * about this processor including examples, see + * parseToOSCF in the CloudWatch Logs User Guide.

            See + * Also:

            AWS + * API Reference

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

            The path to the field in the log event that you want to parse. If you omit + * this value, the whole log message is parsed.

            + */ + inline const Aws::String& GetSource() const { return m_source; } + inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } + template + void SetSource(SourceT&& value) { m_sourceHasBeenSet = true; m_source = std::forward(value); } + template + ParseToOCSF& WithSource(SourceT&& value) { SetSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Specify the service or process that produces the log events that will be + * converted with this processor.

            + */ + inline EventSource GetEventSource() const { return m_eventSource; } + inline bool EventSourceHasBeenSet() const { return m_eventSourceHasBeenSet; } + inline void SetEventSource(EventSource value) { m_eventSourceHasBeenSet = true; m_eventSource = value; } + inline ParseToOCSF& WithEventSource(EventSource value) { SetEventSource(value); return *this;} + ///@} + + ///@{ + /** + *

            Specify which version of the OCSF schema to use for the transformed log + * events.

            + */ + inline OCSFVersion GetOcsfVersion() const { return m_ocsfVersion; } + inline bool OcsfVersionHasBeenSet() const { return m_ocsfVersionHasBeenSet; } + inline void SetOcsfVersion(OCSFVersion value) { m_ocsfVersionHasBeenSet = true; m_ocsfVersion = value; } + inline ParseToOCSF& WithOcsfVersion(OCSFVersion value) { SetOcsfVersion(value); return *this;} + ///@} + private: + + Aws::String m_source; + bool m_sourceHasBeenSet = false; + + EventSource m_eventSource{EventSource::NOT_SET}; + bool m_eventSourceHasBeenSet = false; + + OCSFVersion m_ocsfVersion{OCSFVersion::NOT_SET}; + bool m_ocsfVersionHasBeenSet = false; + }; + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h index 717cb481e81..69377f7cd62 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/model/Processor.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -243,6 +244,19 @@ namespace Model Processor& WithParseRoute53(ParseRoute53T&& value) { SetParseRoute53(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

            Use this processor to convert logs into Open Cybersecurity Schema Framework + * (OCSF) format

            + */ + inline const ParseToOCSF& GetParseToOCSF() const { return m_parseToOCSF; } + inline bool ParseToOCSFHasBeenSet() const { return m_parseToOCSFHasBeenSet; } + template + void SetParseToOCSF(ParseToOCSFT&& value) { m_parseToOCSFHasBeenSet = true; m_parseToOCSF = std::forward(value); } + template + Processor& WithParseToOCSF(ParseToOCSFT&& value) { SetParseToOCSF(std::forward(value)); return *this;} + ///@} + ///@{ /** *

            Use this parameter to include the EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

          • *
          • For Elemental MediaTailor, the valid values are * AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and - * TRANSCODE_LOGS.

          • For IAM Identity Center, the - * valid value is ERROR_LOGS.

          • For Amazon Q, the + * TRANSCODE_LOGS.

          • For Entity Resolution, the valid + * value is WORKFLOW_LOGS.

          • For IAM Identity Center, + * the valid value is ERROR_LOGS.

          • For Amazon Q, the * valid value is EVENT_LOGS.

          • For Amazon SES mail - * manager, the valid value is APPLICATION_LOG.

          • For - * Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, + * manager, the valid values are APPLICATION_LOG and + * TRAFFIC_POLICY_DEBUG_LOGS.

          • For Amazon WorkMail, + * the valid values are ACCESS_CONTROL_LOGS, * AUTHENTICATION_LOGS, * WORKMAIL_AVAILABILITY_PROVIDER_LOGS, * WORKMAIL_MAILBOX_ACCESS_LOGS, and diff --git a/generated/src/aws-cpp-sdk-logs/source/model/EventSource.cpp b/generated/src/aws-cpp-sdk-logs/source/model/EventSource.cpp new file mode 100644 index 00000000000..13995f8127d --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/EventSource.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 CloudWatchLogs + { + namespace Model + { + namespace EventSourceMapper + { + + static const int CloudTrail_HASH = HashingUtils::HashString("CloudTrail"); + static const int Route53Resolver_HASH = HashingUtils::HashString("Route53Resolver"); + static const int VPCFlow_HASH = HashingUtils::HashString("VPCFlow"); + static const int EKSAudit_HASH = HashingUtils::HashString("EKSAudit"); + static const int AWSWAF_HASH = HashingUtils::HashString("AWSWAF"); + + + EventSource GetEventSourceForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CloudTrail_HASH) + { + return EventSource::CloudTrail; + } + else if (hashCode == Route53Resolver_HASH) + { + return EventSource::Route53Resolver; + } + else if (hashCode == VPCFlow_HASH) + { + return EventSource::VPCFlow; + } + else if (hashCode == EKSAudit_HASH) + { + return EventSource::EKSAudit; + } + else if (hashCode == AWSWAF_HASH) + { + return EventSource::AWSWAF; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EventSource::NOT_SET; + } + + Aws::String GetNameForEventSource(EventSource enumValue) + { + switch(enumValue) + { + case EventSource::NOT_SET: + return {}; + case EventSource::CloudTrail: + return "CloudTrail"; + case EventSource::Route53Resolver: + return "Route53Resolver"; + case EventSource::VPCFlow: + return "VPCFlow"; + case EventSource::EKSAudit: + return "EKSAudit"; + case EventSource::AWSWAF: + return "AWSWAF"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EventSourceMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp b/generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp new file mode 100644 index 00000000000..d53be1d1ce4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/OCSFVersion.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace CloudWatchLogs + { + namespace Model + { + namespace OCSFVersionMapper + { + + static const int V1_1_HASH = HashingUtils::HashString("V1.1"); + + + OCSFVersion GetOCSFVersionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == V1_1_HASH) + { + return OCSFVersion::V1_1; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OCSFVersion::NOT_SET; + } + + Aws::String GetNameForOCSFVersion(OCSFVersion enumValue) + { + switch(enumValue) + { + case OCSFVersion::NOT_SET: + return {}; + case OCSFVersion::V1_1: + return "V1.1"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OCSFVersionMapper + } // namespace Model + } // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp b/generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp new file mode 100644 index 00000000000..27b36649d52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/model/ParseToOCSF.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace CloudWatchLogs +{ +namespace Model +{ + +ParseToOCSF::ParseToOCSF(JsonView jsonValue) +{ + *this = jsonValue; +} + +ParseToOCSF& ParseToOCSF::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("source")) + { + m_source = jsonValue.GetString("source"); + m_sourceHasBeenSet = true; + } + if(jsonValue.ValueExists("eventSource")) + { + m_eventSource = EventSourceMapper::GetEventSourceForName(jsonValue.GetString("eventSource")); + m_eventSourceHasBeenSet = true; + } + if(jsonValue.ValueExists("ocsfVersion")) + { + m_ocsfVersion = OCSFVersionMapper::GetOCSFVersionForName(jsonValue.GetString("ocsfVersion")); + m_ocsfVersionHasBeenSet = true; + } + return *this; +} + +JsonValue ParseToOCSF::Jsonize() const +{ + JsonValue payload; + + if(m_sourceHasBeenSet) + { + payload.WithString("source", m_source); + + } + + if(m_eventSourceHasBeenSet) + { + payload.WithString("eventSource", EventSourceMapper::GetNameForEventSource(m_eventSource)); + } + + if(m_ocsfVersionHasBeenSet) + { + payload.WithString("ocsfVersion", OCSFVersionMapper::GetNameForOCSFVersion(m_ocsfVersion)); + } + + return payload; +} + +} // namespace Model +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp b/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp index 2036a6e5890..7ff1c93eb37 100644 --- a/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/model/Processor.cpp @@ -90,6 +90,11 @@ Processor& Processor::operator =(JsonView jsonValue) m_parseRoute53 = jsonValue.GetObject("parseRoute53"); m_parseRoute53HasBeenSet = true; } + if(jsonValue.ValueExists("parseToOCSF")) + { + m_parseToOCSF = jsonValue.GetObject("parseToOCSF"); + m_parseToOCSFHasBeenSet = true; + } if(jsonValue.ValueExists("parsePostgres")) { m_parsePostgres = jsonValue.GetObject("parsePostgres"); @@ -220,6 +225,12 @@ JsonValue Processor::Jsonize() const } + if(m_parseToOCSFHasBeenSet) + { + payload.WithObject("parseToOCSF", m_parseToOCSF.Jsonize()); + + } + if(m_parsePostgresHasBeenSet) { payload.WithObject("parsePostgres", m_parsePostgres.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h index 699f2991526..c58c99b8df6 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h @@ -17,7 +17,7 @@ namespace MarketplaceCatalog { /** *

            Catalog API actions allow you to manage your entities through list, describe, - * and update capabilities. An entity can be a product or an offer on AWS + * and update capabilities. An entity can be a product or an offer on AWS * Marketplace.

            You can automate your entity update process by integrating * the AWS Marketplace Catalog API with your AWS Marketplace product build or * deployment pipelines. You can also create your own applications on top of the @@ -370,7 +370,11 @@ namespace MarketplaceCatalog * with single-AMI products. Also, for more information about change types * available for container-based products, see Working - * with container products.

            See Also:

            .

            To download "DetailsDocument" shapes, see Python + * and Java + * shapes on GitHub.

            See Also:

            AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/Change.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/Change.h index 1c90e2cd896..f12a7742610 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/Change.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/Change.h @@ -111,7 +111,12 @@ namespace Model /** *

            Alternative field that accepts a JSON value instead of a string for * ChangeType details. You can use either Details or - * DetailsDocument, but not both.

            + * DetailsDocument, but not both.

            To download the + * "DetailsDocument" shapes, see the Python + * and Java + * shapes on GitHub.

            */ inline Aws::Utils::DocumentView GetDetailsDocument() const { return m_detailsDocument; } inline bool DetailsDocumentHasBeenSet() const { return m_detailsDocumentHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/ChangeSummary.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/ChangeSummary.h index 25b47602d54..1e5cb7c7e76 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/ChangeSummary.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/ChangeSummary.h @@ -83,7 +83,11 @@ namespace Model ///@{ /** *

            The JSON value of the details specific to the change type of the requested - * change.

            + * change.

            To download the "DetailsDocument" shapes, see the Python + * and Java + * shapes on GitHub.

            */ inline Aws::Utils::DocumentView GetDetailsDocument() const { return m_detailsDocument; } inline bool DetailsDocumentHasBeenSet() const { return m_detailsDocumentHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/DescribeEntityResult.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/DescribeEntityResult.h index 60f68dcf6ab..5128e91bbde 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/DescribeEntityResult.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/DescribeEntityResult.h @@ -94,7 +94,12 @@ namespace Model ///@{ /** - *

            The JSON value of the details specific to the entity.

            + *

            The JSON value of the details specific to the entity.

            To download + * "DetailsDocument" shapes, see the Python + * and Java + * shapes on GitHub.

            */ inline Aws::Utils::DocumentView GetDetailsDocument() const { return m_detailsDocument; } template diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntitySummary.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntitySummary.h index dd98380b49a..b4b93628895 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntitySummary.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntitySummary.h @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace Aws @@ -195,6 +196,16 @@ namespace Model template EntitySummary& WithResaleAuthorizationSummary(ResaleAuthorizationSummaryT&& value) { SetResaleAuthorizationSummary(std::forward(value)); return *this;} ///@} + + ///@{ + + inline const MachineLearningProductSummary& GetMachineLearningProductSummary() const { return m_machineLearningProductSummary; } + inline bool MachineLearningProductSummaryHasBeenSet() const { return m_machineLearningProductSummaryHasBeenSet; } + template + void SetMachineLearningProductSummary(MachineLearningProductSummaryT&& value) { m_machineLearningProductSummaryHasBeenSet = true; m_machineLearningProductSummary = std::forward(value); } + template + EntitySummary& WithMachineLearningProductSummary(MachineLearningProductSummaryT&& value) { SetMachineLearningProductSummary(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -232,6 +243,9 @@ namespace Model ResaleAuthorizationSummary m_resaleAuthorizationSummary; bool m_resaleAuthorizationSummaryHasBeenSet = false; + + MachineLearningProductSummary m_machineLearningProductSummary; + bool m_machineLearningProductSummaryHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeFilters.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeFilters.h index 43a7f144736..d86dc1f6646 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeFilters.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeFilters.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -114,6 +115,16 @@ namespace Model template EntityTypeFilters& WithResaleAuthorizationFilters(ResaleAuthorizationFiltersT&& value) { SetResaleAuthorizationFilters(std::forward(value)); return *this;} ///@} + + ///@{ + + inline const MachineLearningProductFilters& GetMachineLearningProductFilters() const { return m_machineLearningProductFilters; } + inline bool MachineLearningProductFiltersHasBeenSet() const { return m_machineLearningProductFiltersHasBeenSet; } + template + void SetMachineLearningProductFilters(MachineLearningProductFiltersT&& value) { m_machineLearningProductFiltersHasBeenSet = true; m_machineLearningProductFilters = std::forward(value); } + template + EntityTypeFilters& WithMachineLearningProductFilters(MachineLearningProductFiltersT&& value) { SetMachineLearningProductFilters(std::forward(value)); return *this;} + ///@} private: DataProductFilters m_dataProductFilters; @@ -133,6 +144,9 @@ namespace Model ResaleAuthorizationFilters m_resaleAuthorizationFilters; bool m_resaleAuthorizationFiltersHasBeenSet = false; + + MachineLearningProductFilters m_machineLearningProductFilters; + bool m_machineLearningProductFiltersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeSort.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeSort.h index c2b708bd1f4..e4ca7a42681 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeSort.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/EntityTypeSort.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -114,6 +115,16 @@ namespace Model template EntityTypeSort& WithResaleAuthorizationSort(ResaleAuthorizationSortT&& value) { SetResaleAuthorizationSort(std::forward(value)); return *this;} ///@} + + ///@{ + + inline const MachineLearningProductSort& GetMachineLearningProductSort() const { return m_machineLearningProductSort; } + inline bool MachineLearningProductSortHasBeenSet() const { return m_machineLearningProductSortHasBeenSet; } + template + void SetMachineLearningProductSort(MachineLearningProductSortT&& value) { m_machineLearningProductSortHasBeenSet = true; m_machineLearningProductSort = std::forward(value); } + template + EntityTypeSort& WithMachineLearningProductSort(MachineLearningProductSortT&& value) { SetMachineLearningProductSort(std::forward(value)); return *this;} + ///@} private: DataProductSort m_dataProductSort; @@ -133,6 +144,9 @@ namespace Model ResaleAuthorizationSort m_resaleAuthorizationSort; bool m_resaleAuthorizationSortHasBeenSet = false; + + MachineLearningProductSort m_machineLearningProductSort; + bool m_machineLearningProductSortHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductEntityIdFilter.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductEntityIdFilter.h new file mode 100644 index 00000000000..472022f651c --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductEntityIdFilter.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            The filter for machine learning product entity IDs.

            See Also:

            + * AWS + * API Reference

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

            A list of entity IDs to filter by. The operation returns machine learning + * products with entity IDs that match the values in this list.

            + */ + inline const Aws::Vector& GetValueList() const { return m_valueList; } + inline bool ValueListHasBeenSet() const { return m_valueListHasBeenSet; } + template> + void SetValueList(ValueListT&& value) { m_valueListHasBeenSet = true; m_valueList = std::forward(value); } + template> + MachineLearningProductEntityIdFilter& WithValueList(ValueListT&& value) { SetValueList(std::forward(value)); return *this;} + template + MachineLearningProductEntityIdFilter& AddValueList(ValueListT&& value) { m_valueListHasBeenSet = true; m_valueList.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_valueList; + bool m_valueListHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductFilters.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductFilters.h new file mode 100644 index 00000000000..0a9a4d9d201 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductFilters.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            The filters that you can use with the ListEntities operation to filter + * machine learning products. You can filter by EntityId, LastModifiedDate, + * ProductTitle, and Visibility.

            See Also:

            AWS + * API Reference

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

            Filter machine learning products by their entity IDs.

            + */ + inline const MachineLearningProductEntityIdFilter& GetEntityId() const { return m_entityId; } + inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; } + template + void SetEntityId(EntityIdT&& value) { m_entityIdHasBeenSet = true; m_entityId = std::forward(value); } + template + MachineLearningProductFilters& WithEntityId(EntityIdT&& value) { SetEntityId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Filter machine learning products by their last modified date.

            + */ + inline const MachineLearningProductLastModifiedDateFilter& GetLastModifiedDate() const { return m_lastModifiedDate; } + inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } + template + void SetLastModifiedDate(LastModifiedDateT&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::forward(value); } + template + MachineLearningProductFilters& WithLastModifiedDate(LastModifiedDateT&& value) { SetLastModifiedDate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Filter machine learning products by their product titles.

            + */ + inline const MachineLearningProductTitleFilter& GetProductTitle() const { return m_productTitle; } + inline bool ProductTitleHasBeenSet() const { return m_productTitleHasBeenSet; } + template + void SetProductTitle(ProductTitleT&& value) { m_productTitleHasBeenSet = true; m_productTitle = std::forward(value); } + template + MachineLearningProductFilters& WithProductTitle(ProductTitleT&& value) { SetProductTitle(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Filter machine learning products by their visibility status.

            + */ + inline const MachineLearningProductVisibilityFilter& GetVisibility() const { return m_visibility; } + inline bool VisibilityHasBeenSet() const { return m_visibilityHasBeenSet; } + template + void SetVisibility(VisibilityT&& value) { m_visibilityHasBeenSet = true; m_visibility = std::forward(value); } + template + MachineLearningProductFilters& WithVisibility(VisibilityT&& value) { SetVisibility(std::forward(value)); return *this;} + ///@} + private: + + MachineLearningProductEntityIdFilter m_entityId; + bool m_entityIdHasBeenSet = false; + + MachineLearningProductLastModifiedDateFilter m_lastModifiedDate; + bool m_lastModifiedDateHasBeenSet = false; + + MachineLearningProductTitleFilter m_productTitle; + bool m_productTitleHasBeenSet = false; + + MachineLearningProductVisibilityFilter m_visibility; + bool m_visibilityHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilter.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilter.h new file mode 100644 index 00000000000..c1294473d45 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilter.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            The filter for machine learning product last modified date.

            See + * Also:

            AWS + * API Reference

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

            A date range to filter by. The operation returns machine learning products + * with last modified dates that fall within this range.

            + */ + inline const MachineLearningProductLastModifiedDateFilterDateRange& GetDateRange() const { return m_dateRange; } + inline bool DateRangeHasBeenSet() const { return m_dateRangeHasBeenSet; } + template + void SetDateRange(DateRangeT&& value) { m_dateRangeHasBeenSet = true; m_dateRange = std::forward(value); } + template + MachineLearningProductLastModifiedDateFilter& WithDateRange(DateRangeT&& value) { SetDateRange(std::forward(value)); return *this;} + ///@} + private: + + MachineLearningProductLastModifiedDateFilterDateRange m_dateRange; + bool m_dateRangeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilterDateRange.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilterDateRange.h new file mode 100644 index 00000000000..f26f01233e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductLastModifiedDateFilterDateRange.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            A date range for filtering machine learning products by their last modified + * date.

            See Also:

            AWS + * API Reference

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

            The start date (inclusive) of the date range. The operation returns machine + * learning products with last modified dates on or after this date.

            + */ + inline const Aws::String& GetAfterValue() const { return m_afterValue; } + inline bool AfterValueHasBeenSet() const { return m_afterValueHasBeenSet; } + template + void SetAfterValue(AfterValueT&& value) { m_afterValueHasBeenSet = true; m_afterValue = std::forward(value); } + template + MachineLearningProductLastModifiedDateFilterDateRange& WithAfterValue(AfterValueT&& value) { SetAfterValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The end date (inclusive) of the date range. The operation returns machine + * learning products with last modified dates on or before this date.

            + */ + inline const Aws::String& GetBeforeValue() const { return m_beforeValue; } + inline bool BeforeValueHasBeenSet() const { return m_beforeValueHasBeenSet; } + template + void SetBeforeValue(BeforeValueT&& value) { m_beforeValueHasBeenSet = true; m_beforeValue = std::forward(value); } + template + MachineLearningProductLastModifiedDateFilterDateRange& WithBeforeValue(BeforeValueT&& value) { SetBeforeValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_afterValue; + bool m_afterValueHasBeenSet = false; + + Aws::String m_beforeValue; + bool m_beforeValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSort.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSort.h new file mode 100644 index 00000000000..317258e776d --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSort.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            The sort options for machine learning products.

            See Also:

            AWS + * API Reference

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

            The field to sort by. Valid values: EntityId, + * LastModifiedDate, ProductTitle, and + * Visibility.

            + */ + inline MachineLearningProductSortBy GetSortBy() const { return m_sortBy; } + inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } + inline void SetSortBy(MachineLearningProductSortBy value) { m_sortByHasBeenSet = true; m_sortBy = value; } + inline MachineLearningProductSort& WithSortBy(MachineLearningProductSortBy value) { SetSortBy(value); return *this;} + ///@} + + ///@{ + /** + *

            The sort order. Valid values are ASC (ascending) and + * DESC (descending).

            + */ + inline SortOrder GetSortOrder() const { return m_sortOrder; } + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + inline void SetSortOrder(SortOrder value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + inline MachineLearningProductSort& WithSortOrder(SortOrder value) { SetSortOrder(value); return *this;} + ///@} + private: + + MachineLearningProductSortBy m_sortBy{MachineLearningProductSortBy::NOT_SET}; + bool m_sortByHasBeenSet = false; + + SortOrder m_sortOrder{SortOrder::NOT_SET}; + bool m_sortOrderHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSortBy.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSortBy.h new file mode 100644 index 00000000000..164d6c25bf5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSortBy.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + enum class MachineLearningProductSortBy + { + NOT_SET, + EntityId, + LastModifiedDate, + ProductTitle, + Visibility + }; + +namespace MachineLearningProductSortByMapper +{ +AWS_MARKETPLACECATALOG_API MachineLearningProductSortBy GetMachineLearningProductSortByForName(const Aws::String& name); + +AWS_MARKETPLACECATALOG_API Aws::String GetNameForMachineLearningProductSortBy(MachineLearningProductSortBy value); +} // namespace MachineLearningProductSortByMapper +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSummary.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSummary.h new file mode 100644 index 00000000000..f63a9219a24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductSummary.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            A summary of a machine learning product.

            See Also:

            AWS + * API Reference

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

            The title of the machine learning product.

            + */ + inline const Aws::String& GetProductTitle() const { return m_productTitle; } + inline bool ProductTitleHasBeenSet() const { return m_productTitleHasBeenSet; } + template + void SetProductTitle(ProductTitleT&& value) { m_productTitleHasBeenSet = true; m_productTitle = std::forward(value); } + template + MachineLearningProductSummary& WithProductTitle(ProductTitleT&& value) { SetProductTitle(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The visibility status of the machine learning product. Valid values are + * Limited, Public, Restricted, and + * Draft.

            + */ + inline MachineLearningProductVisibilityString GetVisibility() const { return m_visibility; } + inline bool VisibilityHasBeenSet() const { return m_visibilityHasBeenSet; } + inline void SetVisibility(MachineLearningProductVisibilityString value) { m_visibilityHasBeenSet = true; m_visibility = value; } + inline MachineLearningProductSummary& WithVisibility(MachineLearningProductVisibilityString value) { SetVisibility(value); return *this;} + ///@} + private: + + Aws::String m_productTitle; + bool m_productTitleHasBeenSet = false; + + MachineLearningProductVisibilityString m_visibility{MachineLearningProductVisibilityString::NOT_SET}; + bool m_visibilityHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductTitleFilter.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductTitleFilter.h new file mode 100644 index 00000000000..b9b7111738a --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductTitleFilter.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            The filter for machine learning product titles.

            See Also:

            AWS + * API Reference

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

            A list of product titles to filter by. The operation returns machine learning + * products with titles that exactly match the values in this list.

            + */ + inline const Aws::Vector& GetValueList() const { return m_valueList; } + inline bool ValueListHasBeenSet() const { return m_valueListHasBeenSet; } + template> + void SetValueList(ValueListT&& value) { m_valueListHasBeenSet = true; m_valueList = std::forward(value); } + template> + MachineLearningProductTitleFilter& WithValueList(ValueListT&& value) { SetValueList(std::forward(value)); return *this;} + template + MachineLearningProductTitleFilter& AddValueList(ValueListT&& value) { m_valueListHasBeenSet = true; m_valueList.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            A wildcard value to filter product titles. The operation returns machine + * learning products with titles that match this wildcard pattern.

            + */ + inline const Aws::String& GetWildCardValue() const { return m_wildCardValue; } + inline bool WildCardValueHasBeenSet() const { return m_wildCardValueHasBeenSet; } + template + void SetWildCardValue(WildCardValueT&& value) { m_wildCardValueHasBeenSet = true; m_wildCardValue = std::forward(value); } + template + MachineLearningProductTitleFilter& WithWildCardValue(WildCardValueT&& value) { SetWildCardValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_valueList; + bool m_valueListHasBeenSet = false; + + Aws::String m_wildCardValue; + bool m_wildCardValueHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityFilter.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityFilter.h new file mode 100644 index 00000000000..032cd50a795 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityFilter.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MarketplaceCatalog +{ +namespace Model +{ + + /** + *

            The filter for machine learning product visibility status.

            See + * Also:

            AWS + * API Reference

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

            A list of visibility values to filter by. The operation returns machine + * learning products with visibility status that match the values in this list.

            + */ + inline const Aws::Vector& GetValueList() const { return m_valueList; } + inline bool ValueListHasBeenSet() const { return m_valueListHasBeenSet; } + template> + void SetValueList(ValueListT&& value) { m_valueListHasBeenSet = true; m_valueList = std::forward(value); } + template> + MachineLearningProductVisibilityFilter& WithValueList(ValueListT&& value) { SetValueList(std::forward(value)); return *this;} + inline MachineLearningProductVisibilityFilter& AddValueList(MachineLearningProductVisibilityString value) { m_valueListHasBeenSet = true; m_valueList.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_valueList; + bool m_valueListHasBeenSet = false; + }; + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityString.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityString.h new file mode 100644 index 00000000000..23f7ef7d8ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/model/MachineLearningProductVisibilityString.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + enum class MachineLearningProductVisibilityString + { + NOT_SET, + Limited, + Public, + Restricted, + Draft + }; + +namespace MachineLearningProductVisibilityStringMapper +{ +AWS_MARKETPLACECATALOG_API MachineLearningProductVisibilityString GetMachineLearningProductVisibilityStringForName(const Aws::String& name); + +AWS_MARKETPLACECATALOG_API Aws::String GetNameForMachineLearningProductVisibilityString(MachineLearningProductVisibilityString value); +} // namespace MachineLearningProductVisibilityStringMapper +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntitySummary.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntitySummary.cpp index 10442eba8c2..2cd40059a45 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntitySummary.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntitySummary.cpp @@ -85,6 +85,11 @@ EntitySummary& EntitySummary::operator =(JsonView jsonValue) m_resaleAuthorizationSummary = jsonValue.GetObject("ResaleAuthorizationSummary"); m_resaleAuthorizationSummaryHasBeenSet = true; } + if(jsonValue.ValueExists("MachineLearningProductSummary")) + { + m_machineLearningProductSummary = jsonValue.GetObject("MachineLearningProductSummary"); + m_machineLearningProductSummaryHasBeenSet = true; + } return *this; } @@ -164,6 +169,12 @@ JsonValue EntitySummary::Jsonize() const } + if(m_machineLearningProductSummaryHasBeenSet) + { + payload.WithObject("MachineLearningProductSummary", m_machineLearningProductSummary.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeFilters.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeFilters.cpp index c5741482525..f6b57a7cd2b 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeFilters.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeFilters.cpp @@ -55,6 +55,11 @@ EntityTypeFilters& EntityTypeFilters::operator =(JsonView jsonValue) m_resaleAuthorizationFilters = jsonValue.GetObject("ResaleAuthorizationFilters"); m_resaleAuthorizationFiltersHasBeenSet = true; } + if(jsonValue.ValueExists("MachineLearningProductFilters")) + { + m_machineLearningProductFilters = jsonValue.GetObject("MachineLearningProductFilters"); + m_machineLearningProductFiltersHasBeenSet = true; + } return *this; } @@ -98,6 +103,12 @@ JsonValue EntityTypeFilters::Jsonize() const } + if(m_machineLearningProductFiltersHasBeenSet) + { + payload.WithObject("MachineLearningProductFilters", m_machineLearningProductFilters.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeSort.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeSort.cpp index 46b313add6c..de848fff1c1 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeSort.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/EntityTypeSort.cpp @@ -55,6 +55,11 @@ EntityTypeSort& EntityTypeSort::operator =(JsonView jsonValue) m_resaleAuthorizationSort = jsonValue.GetObject("ResaleAuthorizationSort"); m_resaleAuthorizationSortHasBeenSet = true; } + if(jsonValue.ValueExists("MachineLearningProductSort")) + { + m_machineLearningProductSort = jsonValue.GetObject("MachineLearningProductSort"); + m_machineLearningProductSortHasBeenSet = true; + } return *this; } @@ -98,6 +103,12 @@ JsonValue EntityTypeSort::Jsonize() const } + if(m_machineLearningProductSortHasBeenSet) + { + payload.WithObject("MachineLearningProductSort", m_machineLearningProductSort.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductEntityIdFilter.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductEntityIdFilter.cpp new file mode 100644 index 00000000000..f8a9b4d81b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductEntityIdFilter.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductEntityIdFilter::MachineLearningProductEntityIdFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductEntityIdFilter& MachineLearningProductEntityIdFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ValueList")) + { + Aws::Utils::Array valueListJsonList = jsonValue.GetArray("ValueList"); + for(unsigned valueListIndex = 0; valueListIndex < valueListJsonList.GetLength(); ++valueListIndex) + { + m_valueList.push_back(valueListJsonList[valueListIndex].AsString()); + } + m_valueListHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductEntityIdFilter::Jsonize() const +{ + JsonValue payload; + + if(m_valueListHasBeenSet) + { + Aws::Utils::Array valueListJsonList(m_valueList.size()); + for(unsigned valueListIndex = 0; valueListIndex < valueListJsonList.GetLength(); ++valueListIndex) + { + valueListJsonList[valueListIndex].AsString(m_valueList[valueListIndex]); + } + payload.WithArray("ValueList", std::move(valueListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductFilters.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductFilters.cpp new file mode 100644 index 00000000000..f7d1a487487 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductFilters.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductFilters::MachineLearningProductFilters(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductFilters& MachineLearningProductFilters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EntityId")) + { + m_entityId = jsonValue.GetObject("EntityId"); + m_entityIdHasBeenSet = true; + } + if(jsonValue.ValueExists("LastModifiedDate")) + { + m_lastModifiedDate = jsonValue.GetObject("LastModifiedDate"); + m_lastModifiedDateHasBeenSet = true; + } + if(jsonValue.ValueExists("ProductTitle")) + { + m_productTitle = jsonValue.GetObject("ProductTitle"); + m_productTitleHasBeenSet = true; + } + if(jsonValue.ValueExists("Visibility")) + { + m_visibility = jsonValue.GetObject("Visibility"); + m_visibilityHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductFilters::Jsonize() const +{ + JsonValue payload; + + if(m_entityIdHasBeenSet) + { + payload.WithObject("EntityId", m_entityId.Jsonize()); + + } + + if(m_lastModifiedDateHasBeenSet) + { + payload.WithObject("LastModifiedDate", m_lastModifiedDate.Jsonize()); + + } + + if(m_productTitleHasBeenSet) + { + payload.WithObject("ProductTitle", m_productTitle.Jsonize()); + + } + + if(m_visibilityHasBeenSet) + { + payload.WithObject("Visibility", m_visibility.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilter.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilter.cpp new file mode 100644 index 00000000000..59d7dfc14ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilter.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductLastModifiedDateFilter::MachineLearningProductLastModifiedDateFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductLastModifiedDateFilter& MachineLearningProductLastModifiedDateFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DateRange")) + { + m_dateRange = jsonValue.GetObject("DateRange"); + m_dateRangeHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductLastModifiedDateFilter::Jsonize() const +{ + JsonValue payload; + + if(m_dateRangeHasBeenSet) + { + payload.WithObject("DateRange", m_dateRange.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilterDateRange.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilterDateRange.cpp new file mode 100644 index 00000000000..de543c9b054 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductLastModifiedDateFilterDateRange.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductLastModifiedDateFilterDateRange::MachineLearningProductLastModifiedDateFilterDateRange(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductLastModifiedDateFilterDateRange& MachineLearningProductLastModifiedDateFilterDateRange::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AfterValue")) + { + m_afterValue = jsonValue.GetString("AfterValue"); + m_afterValueHasBeenSet = true; + } + if(jsonValue.ValueExists("BeforeValue")) + { + m_beforeValue = jsonValue.GetString("BeforeValue"); + m_beforeValueHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductLastModifiedDateFilterDateRange::Jsonize() const +{ + JsonValue payload; + + if(m_afterValueHasBeenSet) + { + payload.WithString("AfterValue", m_afterValue); + + } + + if(m_beforeValueHasBeenSet) + { + payload.WithString("BeforeValue", m_beforeValue); + + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSort.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSort.cpp new file mode 100644 index 00000000000..a9fb6064656 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSort.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductSort::MachineLearningProductSort(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductSort& MachineLearningProductSort::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SortBy")) + { + m_sortBy = MachineLearningProductSortByMapper::GetMachineLearningProductSortByForName(jsonValue.GetString("SortBy")); + m_sortByHasBeenSet = true; + } + if(jsonValue.ValueExists("SortOrder")) + { + m_sortOrder = SortOrderMapper::GetSortOrderForName(jsonValue.GetString("SortOrder")); + m_sortOrderHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductSort::Jsonize() const +{ + JsonValue payload; + + if(m_sortByHasBeenSet) + { + payload.WithString("SortBy", MachineLearningProductSortByMapper::GetNameForMachineLearningProductSortBy(m_sortBy)); + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSortBy.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSortBy.cpp new file mode 100644 index 00000000000..f9885a7de4e --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSortBy.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MarketplaceCatalog + { + namespace Model + { + namespace MachineLearningProductSortByMapper + { + + static const int EntityId_HASH = HashingUtils::HashString("EntityId"); + static const int LastModifiedDate_HASH = HashingUtils::HashString("LastModifiedDate"); + static const int ProductTitle_HASH = HashingUtils::HashString("ProductTitle"); + static const int Visibility_HASH = HashingUtils::HashString("Visibility"); + + + MachineLearningProductSortBy GetMachineLearningProductSortByForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == EntityId_HASH) + { + return MachineLearningProductSortBy::EntityId; + } + else if (hashCode == LastModifiedDate_HASH) + { + return MachineLearningProductSortBy::LastModifiedDate; + } + else if (hashCode == ProductTitle_HASH) + { + return MachineLearningProductSortBy::ProductTitle; + } + else if (hashCode == Visibility_HASH) + { + return MachineLearningProductSortBy::Visibility; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MachineLearningProductSortBy::NOT_SET; + } + + Aws::String GetNameForMachineLearningProductSortBy(MachineLearningProductSortBy enumValue) + { + switch(enumValue) + { + case MachineLearningProductSortBy::NOT_SET: + return {}; + case MachineLearningProductSortBy::EntityId: + return "EntityId"; + case MachineLearningProductSortBy::LastModifiedDate: + return "LastModifiedDate"; + case MachineLearningProductSortBy::ProductTitle: + return "ProductTitle"; + case MachineLearningProductSortBy::Visibility: + return "Visibility"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MachineLearningProductSortByMapper + } // namespace Model + } // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSummary.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSummary.cpp new file mode 100644 index 00000000000..bd923fb4c79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductSummary.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductSummary::MachineLearningProductSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductSummary& MachineLearningProductSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProductTitle")) + { + m_productTitle = jsonValue.GetString("ProductTitle"); + m_productTitleHasBeenSet = true; + } + if(jsonValue.ValueExists("Visibility")) + { + m_visibility = MachineLearningProductVisibilityStringMapper::GetMachineLearningProductVisibilityStringForName(jsonValue.GetString("Visibility")); + m_visibilityHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductSummary::Jsonize() const +{ + JsonValue payload; + + if(m_productTitleHasBeenSet) + { + payload.WithString("ProductTitle", m_productTitle); + + } + + if(m_visibilityHasBeenSet) + { + payload.WithString("Visibility", MachineLearningProductVisibilityStringMapper::GetNameForMachineLearningProductVisibilityString(m_visibility)); + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductTitleFilter.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductTitleFilter.cpp new file mode 100644 index 00000000000..9c50099b23b --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductTitleFilter.cpp @@ -0,0 +1,71 @@ +/** + * 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 MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductTitleFilter::MachineLearningProductTitleFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductTitleFilter& MachineLearningProductTitleFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ValueList")) + { + Aws::Utils::Array valueListJsonList = jsonValue.GetArray("ValueList"); + for(unsigned valueListIndex = 0; valueListIndex < valueListJsonList.GetLength(); ++valueListIndex) + { + m_valueList.push_back(valueListJsonList[valueListIndex].AsString()); + } + m_valueListHasBeenSet = true; + } + if(jsonValue.ValueExists("WildCardValue")) + { + m_wildCardValue = jsonValue.GetString("WildCardValue"); + m_wildCardValueHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductTitleFilter::Jsonize() const +{ + JsonValue payload; + + if(m_valueListHasBeenSet) + { + Aws::Utils::Array valueListJsonList(m_valueList.size()); + for(unsigned valueListIndex = 0; valueListIndex < valueListJsonList.GetLength(); ++valueListIndex) + { + valueListJsonList[valueListIndex].AsString(m_valueList[valueListIndex]); + } + payload.WithArray("ValueList", std::move(valueListJsonList)); + + } + + if(m_wildCardValueHasBeenSet) + { + payload.WithString("WildCardValue", m_wildCardValue); + + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityFilter.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityFilter.cpp new file mode 100644 index 00000000000..134958f706a --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityFilter.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MarketplaceCatalog +{ +namespace Model +{ + +MachineLearningProductVisibilityFilter::MachineLearningProductVisibilityFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +MachineLearningProductVisibilityFilter& MachineLearningProductVisibilityFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ValueList")) + { + Aws::Utils::Array valueListJsonList = jsonValue.GetArray("ValueList"); + for(unsigned valueListIndex = 0; valueListIndex < valueListJsonList.GetLength(); ++valueListIndex) + { + m_valueList.push_back(MachineLearningProductVisibilityStringMapper::GetMachineLearningProductVisibilityStringForName(valueListJsonList[valueListIndex].AsString())); + } + m_valueListHasBeenSet = true; + } + return *this; +} + +JsonValue MachineLearningProductVisibilityFilter::Jsonize() const +{ + JsonValue payload; + + if(m_valueListHasBeenSet) + { + Aws::Utils::Array valueListJsonList(m_valueList.size()); + for(unsigned valueListIndex = 0; valueListIndex < valueListJsonList.GetLength(); ++valueListIndex) + { + valueListJsonList[valueListIndex].AsString(MachineLearningProductVisibilityStringMapper::GetNameForMachineLearningProductVisibilityString(m_valueList[valueListIndex])); + } + payload.WithArray("ValueList", std::move(valueListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityString.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityString.cpp new file mode 100644 index 00000000000..8d073c4af0d --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/model/MachineLearningProductVisibilityString.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MarketplaceCatalog + { + namespace Model + { + namespace MachineLearningProductVisibilityStringMapper + { + + static const int Limited_HASH = HashingUtils::HashString("Limited"); + static const int Public_HASH = HashingUtils::HashString("Public"); + static const int Restricted_HASH = HashingUtils::HashString("Restricted"); + static const int Draft_HASH = HashingUtils::HashString("Draft"); + + + MachineLearningProductVisibilityString GetMachineLearningProductVisibilityStringForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Limited_HASH) + { + return MachineLearningProductVisibilityString::Limited; + } + else if (hashCode == Public_HASH) + { + return MachineLearningProductVisibilityString::Public; + } + else if (hashCode == Restricted_HASH) + { + return MachineLearningProductVisibilityString::Restricted; + } + else if (hashCode == Draft_HASH) + { + return MachineLearningProductVisibilityString::Draft; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MachineLearningProductVisibilityString::NOT_SET; + } + + Aws::String GetNameForMachineLearningProductVisibilityString(MachineLearningProductVisibilityString enumValue) + { + switch(enumValue) + { + case MachineLearningProductVisibilityString::NOT_SET: + return {}; + case MachineLearningProductVisibilityString::Limited: + return "Limited"; + case MachineLearningProductVisibilityString::Public: + return "Public"; + case MachineLearningProductVisibilityString::Restricted: + return "Restricted"; + case MachineLearningProductVisibilityString::Draft: + return "Draft"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MachineLearningProductVisibilityStringMapper + } // namespace Model + } // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h index 47ab47dd059..4e2bb70a706 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbSubDestinationSettings.h @@ -124,6 +124,12 @@ namespace Model * x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 * pixels or less, MediaConvert doesn't include the DDS, regardless of the value * you choose for DDS handling. All burn-in and DVB-Sub font settings must match. + * To include the DDS, with optimized subtitle placement and reduced data overhead: + * We recommend that you choose Specified (optimal). This option provides the same + * visual positioning as Specified while using less bandwidth. This also supports + * resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When + * you do, also specify the offset coordinates of the display window with DDS + * x-coordinate and DDS y-coordinate. */ inline DvbddsHandling GetDdsHandling() const { return m_ddsHandling; } inline bool DdsHandlingHasBeenSet() const { return m_ddsHandlingHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h index 28a678aea75..4017a459900 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/DvbddsHandling.h @@ -18,7 +18,8 @@ namespace Model NOT_SET, NONE, SPECIFIED, - NO_DISPLAY_WINDOW + NO_DISPLAY_WINDOW, + SPECIFIED_OPTIMAL }; namespace DvbddsHandlingMapper diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp index 357c0e45f1c..d44321c0b67 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/model/DvbddsHandling.cpp @@ -23,6 +23,7 @@ namespace Aws static const int NONE_HASH = HashingUtils::HashString("NONE"); static const int SPECIFIED_HASH = HashingUtils::HashString("SPECIFIED"); static const int NO_DISPLAY_WINDOW_HASH = HashingUtils::HashString("NO_DISPLAY_WINDOW"); + static const int SPECIFIED_OPTIMAL_HASH = HashingUtils::HashString("SPECIFIED_OPTIMAL"); DvbddsHandling GetDvbddsHandlingForName(const Aws::String& name) @@ -40,6 +41,10 @@ namespace Aws { return DvbddsHandling::NO_DISPLAY_WINDOW; } + else if (hashCode == SPECIFIED_OPTIMAL_HASH) + { + return DvbddsHandling::SPECIFIED_OPTIMAL; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +67,8 @@ namespace Aws return "SPECIFIED"; case DvbddsHandling::NO_DISPLAY_WINDOW: return "NO_DISPLAY_WINDOW"; + case DvbddsHandling::SPECIFIED_OPTIMAL: + return "SPECIFIED_OPTIMAL"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-mpa/CMakeLists.txt b/generated/src/aws-cpp-sdk-mpa/CMakeLists.txt new file mode 100644 index 00000000000..ecc0d8d7866 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-mpa "C++ SDK for the AWS mpa service" aws-cpp-sdk-core) + +file(GLOB AWS_MPA_HEADERS + "include/aws/mpa/*.h" +) + +file(GLOB AWS_MPA_MODEL_HEADERS + "include/aws/mpa/model/*.h" +) + +file(GLOB AWS_MPA_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_MPA_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB MPA_UNIFIED_HEADERS + ${AWS_MPA_HEADERS} + ${AWS_MPA_MODEL_HEADERS} +) + +file(GLOB MPA_UNITY_SRC + ${AWS_MPA_SOURCE} + ${AWS_MPA_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("MPA" MPA_UNITY_SRC) +endif() + +file(GLOB MPA_SRC + ${MPA_UNIFIED_HEADERS} + ${MPA_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\mpa" FILES ${AWS_MPA_HEADERS}) + source_group("Header Files\\aws\\mpa\\model" FILES ${AWS_MPA_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_MPA_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_MPA_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(MPA_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${MPA_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_MPA_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_MPA_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/mpa) +install (FILES ${AWS_MPA_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/mpa/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h new file mode 100644 index 00000000000..6912900e344 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h @@ -0,0 +1,680 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ + /** + *

            Multi-party approval is a capability of Organizations that allows you to + * protect a predefined list of operations through a distributed approval process. + * Use Multi-party approval to establish approval workflows and transform security + * processes into team-based decisions.

            When to use Multi-party + * approval:

            • You need to align with the Zero Trust principle + * of "never trust, always verify"

            • You need to make sure that the + * right humans have access to the right things in the right way

            • + *

              You need distributed decision-making for sensitive or critical operations

              + *
            • You need to protect against unintended operations on sensitive or + * critical resources

            • You need formal reviews and approvals for + * auditing or compliance reasons

            For more information, see What is + * Multi-party approval in the Multi-party approval User Guide.

            + */ + class AWS_MPA_API MPAClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef MPAClientConfiguration ClientConfigurationType; + typedef MPAEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + MPAClient(const Aws::MPA::MPAClientConfiguration& clientConfiguration = Aws::MPA::MPAClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + MPAClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::MPA::MPAClientConfiguration& clientConfiguration = Aws::MPA::MPAClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + MPAClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::MPA::MPAClientConfiguration& clientConfiguration = Aws::MPA::MPAClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + MPAClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + MPAClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + MPAClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~MPAClient(); + + /** + *

            Cancels an approval session. For more information, see Session + * in the Multi-party approval User Guide.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::CancelSessionOutcome CancelSession(const Model::CancelSessionRequest& request) const; + + /** + * A Callable wrapper for CancelSession that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CancelSessionOutcomeCallable CancelSessionCallable(const CancelSessionRequestT& request) const + { + return SubmitCallable(&MPAClient::CancelSession, request); + } + + /** + * An Async wrapper for CancelSession that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CancelSessionAsync(const CancelSessionRequestT& request, const CancelSessionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::CancelSession, request, handler, context); + } + + /** + *

            Creates a new approval team. For more information, see Approval + * team in the Multi-party approval User Guide.

            See Also:

            + * AWS + * API Reference

            + */ + virtual Model::CreateApprovalTeamOutcome CreateApprovalTeam(const Model::CreateApprovalTeamRequest& request) const; + + /** + * A Callable wrapper for CreateApprovalTeam that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateApprovalTeamOutcomeCallable CreateApprovalTeamCallable(const CreateApprovalTeamRequestT& request) const + { + return SubmitCallable(&MPAClient::CreateApprovalTeam, request); + } + + /** + * An Async wrapper for CreateApprovalTeam that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateApprovalTeamAsync(const CreateApprovalTeamRequestT& request, const CreateApprovalTeamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::CreateApprovalTeam, request, handler, context); + } + + /** + *

            Creates a new identity source. For more information, see Identity + * Source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::CreateIdentitySourceOutcome CreateIdentitySource(const Model::CreateIdentitySourceRequest& request) const; + + /** + * A Callable wrapper for CreateIdentitySource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateIdentitySourceOutcomeCallable CreateIdentitySourceCallable(const CreateIdentitySourceRequestT& request) const + { + return SubmitCallable(&MPAClient::CreateIdentitySource, request); + } + + /** + * An Async wrapper for CreateIdentitySource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateIdentitySourceAsync(const CreateIdentitySourceRequestT& request, const CreateIdentitySourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::CreateIdentitySource, request, handler, context); + } + + /** + *

            Deletes an identity source. For more information, see Identity + * Source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteIdentitySourceOutcome DeleteIdentitySource(const Model::DeleteIdentitySourceRequest& request) const; + + /** + * A Callable wrapper for DeleteIdentitySource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteIdentitySourceOutcomeCallable DeleteIdentitySourceCallable(const DeleteIdentitySourceRequestT& request) const + { + return SubmitCallable(&MPAClient::DeleteIdentitySource, request); + } + + /** + * An Async wrapper for DeleteIdentitySource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteIdentitySourceAsync(const DeleteIdentitySourceRequestT& request, const DeleteIdentitySourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::DeleteIdentitySource, request, handler, context); + } + + /** + *

            Deletes an inactive approval team. For more information, see Team + * health in the Multi-party approval User Guide.

            You can also + * use this operation to delete a team draft. For more information, see Interacting + * with drafts in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteInactiveApprovalTeamVersionOutcome DeleteInactiveApprovalTeamVersion(const Model::DeleteInactiveApprovalTeamVersionRequest& request) const; + + /** + * A Callable wrapper for DeleteInactiveApprovalTeamVersion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteInactiveApprovalTeamVersionOutcomeCallable DeleteInactiveApprovalTeamVersionCallable(const DeleteInactiveApprovalTeamVersionRequestT& request) const + { + return SubmitCallable(&MPAClient::DeleteInactiveApprovalTeamVersion, request); + } + + /** + * An Async wrapper for DeleteInactiveApprovalTeamVersion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteInactiveApprovalTeamVersionAsync(const DeleteInactiveApprovalTeamVersionRequestT& request, const DeleteInactiveApprovalTeamVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::DeleteInactiveApprovalTeamVersion, request, handler, context); + } + + /** + *

            Returns details for an approval team.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::GetApprovalTeamOutcome GetApprovalTeam(const Model::GetApprovalTeamRequest& request) const; + + /** + * A Callable wrapper for GetApprovalTeam that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetApprovalTeamOutcomeCallable GetApprovalTeamCallable(const GetApprovalTeamRequestT& request) const + { + return SubmitCallable(&MPAClient::GetApprovalTeam, request); + } + + /** + * An Async wrapper for GetApprovalTeam that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetApprovalTeamAsync(const GetApprovalTeamRequestT& request, const GetApprovalTeamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::GetApprovalTeam, request, handler, context); + } + + /** + *

            Returns details for an identity source. For more information, see Identity + * Source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::GetIdentitySourceOutcome GetIdentitySource(const Model::GetIdentitySourceRequest& request) const; + + /** + * A Callable wrapper for GetIdentitySource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetIdentitySourceOutcomeCallable GetIdentitySourceCallable(const GetIdentitySourceRequestT& request) const + { + return SubmitCallable(&MPAClient::GetIdentitySource, request); + } + + /** + * An Async wrapper for GetIdentitySource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetIdentitySourceAsync(const GetIdentitySourceRequestT& request, const GetIdentitySourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::GetIdentitySource, request, handler, context); + } + + /** + *

            Returns details for the version of a policy. Policies define the permissions + * for team resources.

            The protected operation for a service integration + * might require specific permissions. For more information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::GetPolicyVersionOutcome GetPolicyVersion(const Model::GetPolicyVersionRequest& request) const; + + /** + * A Callable wrapper for GetPolicyVersion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetPolicyVersionOutcomeCallable GetPolicyVersionCallable(const GetPolicyVersionRequestT& request) const + { + return SubmitCallable(&MPAClient::GetPolicyVersion, request); + } + + /** + * An Async wrapper for GetPolicyVersion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetPolicyVersionAsync(const GetPolicyVersionRequestT& request, const GetPolicyVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::GetPolicyVersion, request, handler, context); + } + + /** + *

            Returns details about a policy for a 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(&MPAClient::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(&MPAClient::GetResourcePolicy, request, handler, context); + } + + /** + *

            Returns details for an approval session. For more information, see Session + * in the Multi-party approval User Guide.

            See Also:

            AWS API + * Reference

            + */ + virtual Model::GetSessionOutcome GetSession(const Model::GetSessionRequest& request) const; + + /** + * A Callable wrapper for GetSession that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSessionOutcomeCallable GetSessionCallable(const GetSessionRequestT& request) const + { + return SubmitCallable(&MPAClient::GetSession, request); + } + + /** + * An Async wrapper for GetSession that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSessionAsync(const GetSessionRequestT& request, const GetSessionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::GetSession, request, handler, context); + } + + /** + *

            Returns a list of approval teams.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListApprovalTeamsOutcome ListApprovalTeams(const Model::ListApprovalTeamsRequest& request = {}) const; + + /** + * A Callable wrapper for ListApprovalTeams that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListApprovalTeamsOutcomeCallable ListApprovalTeamsCallable(const ListApprovalTeamsRequestT& request = {}) const + { + return SubmitCallable(&MPAClient::ListApprovalTeams, request); + } + + /** + * An Async wrapper for ListApprovalTeams that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListApprovalTeamsAsync(const ListApprovalTeamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListApprovalTeamsRequestT& request = {}) const + { + return SubmitAsync(&MPAClient::ListApprovalTeams, request, handler, context); + } + + /** + *

            Returns a list of identity sources. For more information, see Identity + * Source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::ListIdentitySourcesOutcome ListIdentitySources(const Model::ListIdentitySourcesRequest& request = {}) const; + + /** + * A Callable wrapper for ListIdentitySources that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListIdentitySourcesOutcomeCallable ListIdentitySourcesCallable(const ListIdentitySourcesRequestT& request = {}) const + { + return SubmitCallable(&MPAClient::ListIdentitySources, request); + } + + /** + * An Async wrapper for ListIdentitySources that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListIdentitySourcesAsync(const ListIdentitySourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListIdentitySourcesRequestT& request = {}) const + { + return SubmitAsync(&MPAClient::ListIdentitySources, request, handler, context); + } + + /** + *

            Returns a list of policies. Policies define the permissions for team + * resources.

            The protected operation for a service integration might + * require specific permissions. For more information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListPoliciesOutcome ListPolicies(const Model::ListPoliciesRequest& request = {}) const; + + /** + * A Callable wrapper for ListPolicies that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListPoliciesOutcomeCallable ListPoliciesCallable(const ListPoliciesRequestT& request = {}) const + { + return SubmitCallable(&MPAClient::ListPolicies, request); + } + + /** + * An Async wrapper for ListPolicies that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListPoliciesAsync(const ListPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListPoliciesRequestT& request = {}) const + { + return SubmitAsync(&MPAClient::ListPolicies, request, handler, context); + } + + /** + *

            Returns a list of the versions for policies. Policies define the permissions + * for team resources.

            The protected operation for a service integration + * might require specific permissions. For more information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListPolicyVersionsOutcome ListPolicyVersions(const Model::ListPolicyVersionsRequest& request) const; + + /** + * A Callable wrapper for ListPolicyVersions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListPolicyVersionsOutcomeCallable ListPolicyVersionsCallable(const ListPolicyVersionsRequestT& request) const + { + return SubmitCallable(&MPAClient::ListPolicyVersions, request); + } + + /** + * An Async wrapper for ListPolicyVersions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListPolicyVersionsAsync(const ListPolicyVersionsRequestT& request, const ListPolicyVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::ListPolicyVersions, request, handler, context); + } + + /** + *

            Returns a list of policies for a resource.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListResourcePoliciesOutcome ListResourcePolicies(const Model::ListResourcePoliciesRequest& request) const; + + /** + * A Callable wrapper for ListResourcePolicies that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListResourcePoliciesOutcomeCallable ListResourcePoliciesCallable(const ListResourcePoliciesRequestT& request) const + { + return SubmitCallable(&MPAClient::ListResourcePolicies, request); + } + + /** + * An Async wrapper for ListResourcePolicies that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListResourcePoliciesAsync(const ListResourcePoliciesRequestT& request, const ListResourcePoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::ListResourcePolicies, request, handler, context); + } + + /** + *

            Returns a list of approval sessions. For more information, see Session + * in the Multi-party approval User Guide.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListSessionsOutcome ListSessions(const Model::ListSessionsRequest& request) const; + + /** + * A Callable wrapper for ListSessions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListSessionsOutcomeCallable ListSessionsCallable(const ListSessionsRequestT& request) const + { + return SubmitCallable(&MPAClient::ListSessions, request); + } + + /** + * An Async wrapper for ListSessions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListSessionsAsync(const ListSessionsRequestT& request, const ListSessionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::ListSessions, request, handler, context); + } + + /** + *

            Returns a list of the tags for a resource.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&MPAClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::ListTagsForResource, request, handler, context); + } + + /** + *

            Starts the deletion process for an active approval team.

            + * Deletions require team approval

            Requests to delete an active team + * must be approved by the team.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::StartActiveApprovalTeamDeletionOutcome StartActiveApprovalTeamDeletion(const Model::StartActiveApprovalTeamDeletionRequest& request) const; + + /** + * A Callable wrapper for StartActiveApprovalTeamDeletion that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartActiveApprovalTeamDeletionOutcomeCallable StartActiveApprovalTeamDeletionCallable(const StartActiveApprovalTeamDeletionRequestT& request) const + { + return SubmitCallable(&MPAClient::StartActiveApprovalTeamDeletion, request); + } + + /** + * An Async wrapper for StartActiveApprovalTeamDeletion that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartActiveApprovalTeamDeletionAsync(const StartActiveApprovalTeamDeletionRequestT& request, const StartActiveApprovalTeamDeletionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::StartActiveApprovalTeamDeletion, request, handler, context); + } + + /** + *

            Creates or updates a resource tag. Each tag is a label consisting of a + * user-defined key and value. Tags can help you manage, identify, organize, search + * for, and filter resources.

            See Also:

            AWS API + * Reference

            + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&MPAClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::TagResource, request, handler, context); + } + + /** + *

            Removes a resource tag. Each tag is a label consisting of a user-defined key + * and value. Tags can help you manage, identify, organize, search for, and filter + * resources.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&MPAClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::UntagResource, request, handler, context); + } + + /** + *

            Updates an approval team. You can request to update the team description, + * approval threshold, and approvers in the team.

            Updates require + * team approval

            Updates to an active team must be approved by the + * team.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::UpdateApprovalTeamOutcome UpdateApprovalTeam(const Model::UpdateApprovalTeamRequest& request) const; + + /** + * A Callable wrapper for UpdateApprovalTeam that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateApprovalTeamOutcomeCallable UpdateApprovalTeamCallable(const UpdateApprovalTeamRequestT& request) const + { + return SubmitCallable(&MPAClient::UpdateApprovalTeam, request); + } + + /** + * An Async wrapper for UpdateApprovalTeam that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateApprovalTeamAsync(const UpdateApprovalTeamRequestT& request, const UpdateApprovalTeamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&MPAClient::UpdateApprovalTeam, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const MPAClientConfiguration& clientConfiguration); + + MPAClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h new file mode 100644 index 00000000000..68ecf4fa8f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace MPA +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using MPAClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using MPAClientConfiguration = Aws::Client::GenericClientConfiguration; +using MPABuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the MPA Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using MPAEndpointProviderBase = + EndpointProviderBase; + +using MPADefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_MPA_API MPAEndpointProvider : public MPADefaultEpProviderBase +{ +public: + using MPAResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + MPAEndpointProvider() + : MPADefaultEpProviderBase(Aws::MPA::MPAEndpointRules::GetRulesBlob(), Aws::MPA::MPAEndpointRules::RulesBlobSize) + {} + + ~MPAEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointRules.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointRules.h new file mode 100644 index 00000000000..09890e91747 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +class MPAEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAErrorMarshaller.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAErrorMarshaller.h new file mode 100644 index 00000000000..6264c28a954 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_MPA_API MPAErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAErrors.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAErrors.h new file mode 100644 index 00000000000..a00e24b9bc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAErrors.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +enum class MPAErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + INVALID_PARAMETER, + SERVICE_QUOTA_EXCEEDED, + TOO_MANY_TAGS +}; + +class AWS_MPA_API MPAError : public Aws::Client::AWSError +{ +public: + MPAError() {} + MPAError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + MPAError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + MPAError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + MPAError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace MPAErrorMapper +{ + AWS_MPA_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPARequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPARequest.h new file mode 100644 index 00000000000..491d199316e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPARequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ + class AWS_MPA_API MPARequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~MPARequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2022-07-26")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h new file mode 100644 index 00000000000..cf576faf7d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in MPAClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in MPAClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace MPA + { + using MPAClientConfiguration = Aws::Client::GenericClientConfiguration; + using MPAEndpointProviderBase = Aws::MPA::Endpoint::MPAEndpointProviderBase; + using MPAEndpointProvider = Aws::MPA::Endpoint::MPAEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in MPAClient header */ + class CancelSessionRequest; + class CreateApprovalTeamRequest; + class CreateIdentitySourceRequest; + class DeleteIdentitySourceRequest; + class DeleteInactiveApprovalTeamVersionRequest; + class GetApprovalTeamRequest; + class GetIdentitySourceRequest; + class GetPolicyVersionRequest; + class GetResourcePolicyRequest; + class GetSessionRequest; + class ListApprovalTeamsRequest; + class ListIdentitySourcesRequest; + class ListPoliciesRequest; + class ListPolicyVersionsRequest; + class ListResourcePoliciesRequest; + class ListSessionsRequest; + class ListTagsForResourceRequest; + class StartActiveApprovalTeamDeletionRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateApprovalTeamRequest; + /* End of service model forward declarations required in MPAClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CancelSessionOutcome; + typedef Aws::Utils::Outcome CreateApprovalTeamOutcome; + typedef Aws::Utils::Outcome CreateIdentitySourceOutcome; + typedef Aws::Utils::Outcome DeleteIdentitySourceOutcome; + typedef Aws::Utils::Outcome DeleteInactiveApprovalTeamVersionOutcome; + typedef Aws::Utils::Outcome GetApprovalTeamOutcome; + typedef Aws::Utils::Outcome GetIdentitySourceOutcome; + typedef Aws::Utils::Outcome GetPolicyVersionOutcome; + typedef Aws::Utils::Outcome GetResourcePolicyOutcome; + typedef Aws::Utils::Outcome GetSessionOutcome; + typedef Aws::Utils::Outcome ListApprovalTeamsOutcome; + typedef Aws::Utils::Outcome ListIdentitySourcesOutcome; + typedef Aws::Utils::Outcome ListPoliciesOutcome; + typedef Aws::Utils::Outcome ListPolicyVersionsOutcome; + typedef Aws::Utils::Outcome ListResourcePoliciesOutcome; + typedef Aws::Utils::Outcome ListSessionsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome StartActiveApprovalTeamDeletionOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateApprovalTeamOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CancelSessionOutcomeCallable; + typedef std::future CreateApprovalTeamOutcomeCallable; + typedef std::future CreateIdentitySourceOutcomeCallable; + typedef std::future DeleteIdentitySourceOutcomeCallable; + typedef std::future DeleteInactiveApprovalTeamVersionOutcomeCallable; + typedef std::future GetApprovalTeamOutcomeCallable; + typedef std::future GetIdentitySourceOutcomeCallable; + typedef std::future GetPolicyVersionOutcomeCallable; + typedef std::future GetResourcePolicyOutcomeCallable; + typedef std::future GetSessionOutcomeCallable; + typedef std::future ListApprovalTeamsOutcomeCallable; + typedef std::future ListIdentitySourcesOutcomeCallable; + typedef std::future ListPoliciesOutcomeCallable; + typedef std::future ListPolicyVersionsOutcomeCallable; + typedef std::future ListResourcePoliciesOutcomeCallable; + typedef std::future ListSessionsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future StartActiveApprovalTeamDeletionOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateApprovalTeamOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class MPAClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CancelSessionResponseReceivedHandler; + typedef std::function&) > CreateApprovalTeamResponseReceivedHandler; + typedef std::function&) > CreateIdentitySourceResponseReceivedHandler; + typedef std::function&) > DeleteIdentitySourceResponseReceivedHandler; + typedef std::function&) > DeleteInactiveApprovalTeamVersionResponseReceivedHandler; + typedef std::function&) > GetApprovalTeamResponseReceivedHandler; + typedef std::function&) > GetIdentitySourceResponseReceivedHandler; + typedef std::function&) > GetPolicyVersionResponseReceivedHandler; + typedef std::function&) > GetResourcePolicyResponseReceivedHandler; + typedef std::function&) > GetSessionResponseReceivedHandler; + typedef std::function&) > ListApprovalTeamsResponseReceivedHandler; + typedef std::function&) > ListIdentitySourcesResponseReceivedHandler; + typedef std::function&) > ListPoliciesResponseReceivedHandler; + typedef std::function&) > ListPolicyVersionsResponseReceivedHandler; + typedef std::function&) > ListResourcePoliciesResponseReceivedHandler; + typedef std::function&) > ListSessionsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > StartActiveApprovalTeamDeletionResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateApprovalTeamResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPA_EXPORTS.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPA_EXPORTS.h new file mode 100644 index 00000000000..8f5344d8204 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPA_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_MPA_EXPORTS + #define AWS_MPA_API __declspec(dllexport) + #else + #define AWS_MPA_API __declspec(dllimport) + #endif /* AWS_MPA_EXPORTS */ + #define AWS_MPA_EXTERN + #else + #define AWS_MPA_API + #define AWS_MPA_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_MPA_API + #define AWS_MPA_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ActionCompletionStrategy.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ActionCompletionStrategy.h new file mode 100644 index 00000000000..5049e35ce6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ActionCompletionStrategy.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class ActionCompletionStrategy + { + NOT_SET, + AUTO_COMPLETION_UPON_APPROVAL + }; + +namespace ActionCompletionStrategyMapper +{ +AWS_MPA_API ActionCompletionStrategy GetActionCompletionStrategyForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForActionCompletionStrategy(ActionCompletionStrategy value); +} // namespace ActionCompletionStrategyMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalStrategy.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalStrategy.h new file mode 100644 index 00000000000..1e7560971ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalStrategy.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Strategy for how an approval team grants approval.

            See Also:

            + * AWS + * API Reference

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

            Minimum number of approvals (M) required for a total number of approvers + * (N).

            + */ + inline const MofNApprovalStrategy& GetMofN() const { return m_mofN; } + inline bool MofNHasBeenSet() const { return m_mofNHasBeenSet; } + template + void SetMofN(MofNT&& value) { m_mofNHasBeenSet = true; m_mofN = std::forward(value); } + template + ApprovalStrategy& WithMofN(MofNT&& value) { SetMofN(std::forward(value)); return *this;} + ///@} + private: + + MofNApprovalStrategy m_mofN; + bool m_mofNHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalStrategyResponse.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalStrategyResponse.h new file mode 100644 index 00000000000..2159aa5326f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalStrategyResponse.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for how an approval team grants approval.

            See + * Also:

            AWS + * API Reference

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

            Minimum number of approvals (M) required for a total number of approvers + * (N).

            + */ + inline const MofNApprovalStrategy& GetMofN() const { return m_mofN; } + inline bool MofNHasBeenSet() const { return m_mofNHasBeenSet; } + template + void SetMofN(MofNT&& value) { m_mofNHasBeenSet = true; m_mofN = std::forward(value); } + template + ApprovalStrategyResponse& WithMofN(MofNT&& value) { SetMofN(std::forward(value)); return *this;} + ///@} + private: + + MofNApprovalStrategy m_mofN; + bool m_mofNHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamRequestApprover.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamRequestApprover.h new file mode 100644 index 00000000000..6327efd23a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamRequestApprover.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for an approver.

            See Also:

            AWS + * API Reference

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

            ID for the user.

            + */ + inline const Aws::String& GetPrimaryIdentityId() const { return m_primaryIdentityId; } + inline bool PrimaryIdentityIdHasBeenSet() const { return m_primaryIdentityIdHasBeenSet; } + template + void SetPrimaryIdentityId(PrimaryIdentityIdT&& value) { m_primaryIdentityIdHasBeenSet = true; m_primaryIdentityId = std::forward(value); } + template + ApprovalTeamRequestApprover& WithPrimaryIdentityId(PrimaryIdentityIdT&& value) { SetPrimaryIdentityId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source. The identity source + * manages the user authentication for approvers.

            + */ + inline const Aws::String& GetPrimaryIdentitySourceArn() const { return m_primaryIdentitySourceArn; } + inline bool PrimaryIdentitySourceArnHasBeenSet() const { return m_primaryIdentitySourceArnHasBeenSet; } + template + void SetPrimaryIdentitySourceArn(PrimaryIdentitySourceArnT&& value) { m_primaryIdentitySourceArnHasBeenSet = true; m_primaryIdentitySourceArn = std::forward(value); } + template + ApprovalTeamRequestApprover& WithPrimaryIdentitySourceArn(PrimaryIdentitySourceArnT&& value) { SetPrimaryIdentitySourceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_primaryIdentityId; + bool m_primaryIdentityIdHasBeenSet = false; + + Aws::String m_primaryIdentitySourceArn; + bool m_primaryIdentitySourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamStatus.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamStatus.h new file mode 100644 index 00000000000..ef402ceca3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class ApprovalTeamStatus + { + NOT_SET, + ACTIVE, + INACTIVE, + DELETING, + PENDING + }; + +namespace ApprovalTeamStatusMapper +{ +AWS_MPA_API ApprovalTeamStatus GetApprovalTeamStatusForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForApprovalTeamStatus(ApprovalTeamStatus value); +} // namespace ApprovalTeamStatusMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamStatusCode.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamStatusCode.h new file mode 100644 index 00000000000..c66115f3bbb --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ApprovalTeamStatusCode.h @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class ApprovalTeamStatusCode + { + NOT_SET, + VALIDATING, + PENDING_ACTIVATION, + FAILED_VALIDATION, + FAILED_ACTIVATION, + UPDATE_PENDING_APPROVAL, + UPDATE_PENDING_ACTIVATION, + UPDATE_FAILED_APPROVAL, + UPDATE_FAILED_ACTIVATION, + UPDATE_FAILED_VALIDATION, + DELETE_PENDING_APPROVAL, + DELETE_FAILED_APPROVAL, + DELETE_FAILED_VALIDATION + }; + +namespace ApprovalTeamStatusCodeMapper +{ +AWS_MPA_API ApprovalTeamStatusCode GetApprovalTeamStatusCodeForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForApprovalTeamStatusCode(ApprovalTeamStatusCode value); +} // namespace ApprovalTeamStatusCodeMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CancelSessionRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CancelSessionRequest.h new file mode 100644 index 00000000000..76fc2e05be8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CancelSessionRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class CancelSessionRequest : public MPARequest + { + public: + AWS_MPA_API CancelSessionRequest() = default; + + // 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 "CancelSession"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the session.

            + */ + inline const Aws::String& GetSessionArn() const { return m_sessionArn; } + inline bool SessionArnHasBeenSet() const { return m_sessionArnHasBeenSet; } + template + void SetSessionArn(SessionArnT&& value) { m_sessionArnHasBeenSet = true; m_sessionArn = std::forward(value); } + template + CancelSessionRequest& WithSessionArn(SessionArnT&& value) { SetSessionArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_sessionArn; + bool m_sessionArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CancelSessionResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CancelSessionResult.h new file mode 100644 index 00000000000..35271957ff1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CancelSessionResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class CancelSessionResult + { + public: + AWS_MPA_API CancelSessionResult() = default; + AWS_MPA_API CancelSessionResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API CancelSessionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CancelSessionResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateApprovalTeamRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateApprovalTeamRequest.h new file mode 100644 index 00000000000..ac0229a9cea --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateApprovalTeamRequest.h @@ -0,0 +1,180 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class CreateApprovalTeamRequest : public MPARequest + { + public: + AWS_MPA_API CreateApprovalTeamRequest() = default; + + // 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 "CreateApprovalTeam"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request. If not provided, the Amazon Web Services populates this + * field.

            What is idempotency?

            When you make a + * mutating API request, the request typically returns a result before the + * operation's asynchronous workflows have completed. Operations might also time + * out or encounter other server issues before they complete, even though the + * request has already returned a result. This could make it difficult to determine + * whether the request succeeded or not, and could lead to multiple retries to + * ensure that the operation completes successfully. However, if the original + * request and the subsequent retries are successful, the operation is completed + * multiple times. This means that you might create more resources than you + * intended.

            Idempotency ensures that an API request completes no + * more than one time. With an idempotent request, if the original request + * completes successfully, any subsequent retries complete successfully without + * performing any further actions.

            + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateApprovalTeamRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An ApprovalStrategy object. Contains details for how the team + * grants approval.

            + */ + inline const ApprovalStrategy& GetApprovalStrategy() const { return m_approvalStrategy; } + inline bool ApprovalStrategyHasBeenSet() const { return m_approvalStrategyHasBeenSet; } + template + void SetApprovalStrategy(ApprovalStrategyT&& value) { m_approvalStrategyHasBeenSet = true; m_approvalStrategy = std::forward(value); } + template + CreateApprovalTeamRequest& WithApprovalStrategy(ApprovalStrategyT&& value) { SetApprovalStrategy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of ApprovalTeamRequesterApprovers objects. Contains + * details for the approvers in the team.

            + */ + inline const Aws::Vector& GetApprovers() const { return m_approvers; } + inline bool ApproversHasBeenSet() const { return m_approversHasBeenSet; } + template> + void SetApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers = std::forward(value); } + template> + CreateApprovalTeamRequest& WithApprovers(ApproversT&& value) { SetApprovers(std::forward(value)); return *this;} + template + CreateApprovalTeamRequest& AddApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Description for the team.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateApprovalTeamRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of PolicyReference objects. Contains a list of policies + * that define the permissions for team resources.

            The protected operation + * for a service integration might require specific permissions. For more + * information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            + */ + inline const Aws::Vector& GetPolicies() const { return m_policies; } + inline bool PoliciesHasBeenSet() const { return m_policiesHasBeenSet; } + template> + void SetPolicies(PoliciesT&& value) { m_policiesHasBeenSet = true; m_policies = std::forward(value); } + template> + CreateApprovalTeamRequest& WithPolicies(PoliciesT&& value) { SetPolicies(std::forward(value)); return *this;} + template + CreateApprovalTeamRequest& AddPolicies(PoliciesT&& value) { m_policiesHasBeenSet = true; m_policies.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Name of the team.

            + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateApprovalTeamRequest& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Tags you want to attach to the team.

            + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateApprovalTeamRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateApprovalTeamRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + ApprovalStrategy m_approvalStrategy; + bool m_approvalStrategyHasBeenSet = false; + + Aws::Vector m_approvers; + bool m_approversHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_policies; + bool m_policiesHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateApprovalTeamResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateApprovalTeamResult.h new file mode 100644 index 00000000000..de0d14db39c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateApprovalTeamResult.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class CreateApprovalTeamResult + { + public: + AWS_MPA_API CreateApprovalTeamResult() = default; + AWS_MPA_API CreateApprovalTeamResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API CreateApprovalTeamResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Timestamp when the team was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + CreateApprovalTeamResult& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the team that was created.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + CreateApprovalTeamResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the team that was created.

            + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateApprovalTeamResult& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Version ID for the team that was created. When a team is updated, the version + * ID changes.

            + */ + inline const Aws::String& GetVersionId() const { return m_versionId; } + template + void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet = true; m_versionId = std::forward(value); } + template + CreateApprovalTeamResult& WithVersionId(VersionIdT&& value) { SetVersionId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateApprovalTeamResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateIdentitySourceRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateIdentitySourceRequest.h new file mode 100644 index 00000000000..8418a562ee8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateIdentitySourceRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class CreateIdentitySourceRequest : public MPARequest + { + public: + AWS_MPA_API CreateIdentitySourceRequest() = default; + + // 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 "CreateIdentitySource"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            A IdentitySourceParameters object. Contains details for the + * resource that provides identities to the identity source. For example, an IAM + * Identity Center instance.

            + */ + inline const IdentitySourceParameters& GetIdentitySourceParameters() const { return m_identitySourceParameters; } + inline bool IdentitySourceParametersHasBeenSet() const { return m_identitySourceParametersHasBeenSet; } + template + void SetIdentitySourceParameters(IdentitySourceParametersT&& value) { m_identitySourceParametersHasBeenSet = true; m_identitySourceParameters = std::forward(value); } + template + CreateIdentitySourceRequest& WithIdentitySourceParameters(IdentitySourceParametersT&& value) { SetIdentitySourceParameters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request. If not provided, the Amazon Web Services populates this + * field.

            What is idempotency?

            When you make a + * mutating API request, the request typically returns a result before the + * operation's asynchronous workflows have completed. Operations might also time + * out or encounter other server issues before they complete, even though the + * request has already returned a result. This could make it difficult to determine + * whether the request succeeded or not, and could lead to multiple retries to + * ensure that the operation completes successfully. However, if the original + * request and the subsequent retries are successful, the operation is completed + * multiple times. This means that you might create more resources than you + * intended.

            Idempotency ensures that an API request completes no + * more than one time. With an idempotent request, if the original request + * completes successfully, any subsequent retries complete successfully without + * performing any further actions.

            + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateIdentitySourceRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Tag you want to attach to the identity source.

            + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateIdentitySourceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateIdentitySourceRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + IdentitySourceParameters m_identitySourceParameters; + bool m_identitySourceParametersHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateIdentitySourceResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateIdentitySourceResult.h new file mode 100644 index 00000000000..bb6373d601d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/CreateIdentitySourceResult.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class CreateIdentitySourceResult + { + public: + AWS_MPA_API CreateIdentitySourceResult() = default; + AWS_MPA_API CreateIdentitySourceResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API CreateIdentitySourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The type of resource that provided identities to the identity source. For + * example, an IAM Identity Center instance.

            + */ + inline IdentitySourceType GetIdentitySourceType() const { return m_identitySourceType; } + inline void SetIdentitySourceType(IdentitySourceType value) { m_identitySourceTypeHasBeenSet = true; m_identitySourceType = value; } + inline CreateIdentitySourceResult& WithIdentitySourceType(IdentitySourceType value) { SetIdentitySourceType(value); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source that was created.

            + */ + inline const Aws::String& GetIdentitySourceArn() const { return m_identitySourceArn; } + template + void SetIdentitySourceArn(IdentitySourceArnT&& value) { m_identitySourceArnHasBeenSet = true; m_identitySourceArn = std::forward(value); } + template + CreateIdentitySourceResult& WithIdentitySourceArn(IdentitySourceArnT&& value) { SetIdentitySourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the identity source was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + CreateIdentitySourceResult& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateIdentitySourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + IdentitySourceType m_identitySourceType{IdentitySourceType::NOT_SET}; + bool m_identitySourceTypeHasBeenSet = false; + + Aws::String m_identitySourceArn; + bool m_identitySourceArnHasBeenSet = false; + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteIdentitySourceRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteIdentitySourceRequest.h new file mode 100644 index 00000000000..056c9be1590 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteIdentitySourceRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class DeleteIdentitySourceRequest : public MPARequest + { + public: + AWS_MPA_API DeleteIdentitySourceRequest() = default; + + // 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 "DeleteIdentitySource"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for identity source.

            + */ + inline const Aws::String& GetIdentitySourceArn() const { return m_identitySourceArn; } + inline bool IdentitySourceArnHasBeenSet() const { return m_identitySourceArnHasBeenSet; } + template + void SetIdentitySourceArn(IdentitySourceArnT&& value) { m_identitySourceArnHasBeenSet = true; m_identitySourceArn = std::forward(value); } + template + DeleteIdentitySourceRequest& WithIdentitySourceArn(IdentitySourceArnT&& value) { SetIdentitySourceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identitySourceArn; + bool m_identitySourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteInactiveApprovalTeamVersionRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteInactiveApprovalTeamVersionRequest.h new file mode 100644 index 00000000000..addc485e638 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteInactiveApprovalTeamVersionRequest.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class DeleteInactiveApprovalTeamVersionRequest : public MPARequest + { + public: + AWS_MPA_API DeleteInactiveApprovalTeamVersionRequest() = default; + + // 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 "DeleteInactiveApprovalTeamVersion"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amaazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + DeleteInactiveApprovalTeamVersionRequest& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Version ID for the team.

            + */ + inline const Aws::String& GetVersionId() const { return m_versionId; } + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + template + void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet = true; m_versionId = std::forward(value); } + template + DeleteInactiveApprovalTeamVersionRequest& WithVersionId(VersionIdT&& value) { SetVersionId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteInactiveApprovalTeamVersionResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteInactiveApprovalTeamVersionResult.h new file mode 100644 index 00000000000..8bc87e03a01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/DeleteInactiveApprovalTeamVersionResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class DeleteInactiveApprovalTeamVersionResult + { + public: + AWS_MPA_API DeleteInactiveApprovalTeamVersionResult() = default; + AWS_MPA_API DeleteInactiveApprovalTeamVersionResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API DeleteInactiveApprovalTeamVersionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteInactiveApprovalTeamVersionResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Filter.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Filter.h new file mode 100644 index 00000000000..5604ee1ec78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Filter.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains the filter to apply to requests. You can specify up to 10 filters + * for a request.

            See Also:

            AWS API + * Reference

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

            Name of the filter to use.

            Supported filters

            + *

            The supported filters for ListSessions are: ActionName, + * SessionStatus, and InitationTime.

            + */ + inline FilterField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(FilterField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline Filter& WithFieldName(FilterField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + /** + *

            Operator to use for filtering.

            • EQ: Equal to + * the specified value

            • NE: Not equal to the + * specified value

            • GT: Greater than the specified + * value

            • LT: Less than the specified value

              + *
            • GTE: Greater than or equal to the specified + * value

            • LTE: Less than or equal to the specified + * value

            • CONTAINS: Contains the specified value

              + *
            • NOT_CONTAINS: Does not contain the specified + * value

            • BETWEEN: Between two values, inclusive of + * the specified values.

            Supported operators for each + * filter:

            • ActionName: EQ | + * NE | CONTAINS | NOT_CONTAINS

            • + *
            • SessionStatus: EQ | NE

              + *
            • InitiationTime: GT | LT | + * GTE | LTE | BETWEEN

            + * + */ + inline Operator GetOperator() const { return m_operator; } + inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } + inline void SetOperator(Operator value) { m_operatorHasBeenSet = true; m_operator = value; } + inline Filter& WithOperator(Operator value) { SetOperator(value); return *this;} + ///@} + + ///@{ + /** + *

            Value to use for filtering. For the BETWEEN operator, specify + * values in the format a AND b (AND is + * case-insensitive).

            + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + Filter& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + FilterField m_fieldName{FilterField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + Operator m_operator{Operator::NOT_SET}; + bool m_operatorHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/FilterField.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/FilterField.h new file mode 100644 index 00000000000..4dabf9e8780 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/FilterField.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class FilterField + { + NOT_SET, + ActionName, + ApprovalTeamName, + VotingTime, + Vote, + SessionStatus, + InitiationTime + }; + +namespace FilterFieldMapper +{ +AWS_MPA_API FilterField GetFilterFieldForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForFilterField(FilterField value); +} // namespace FilterFieldMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamRequest.h new file mode 100644 index 00000000000..50c54590e79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class GetApprovalTeamRequest : public MPARequest + { + public: + AWS_MPA_API GetApprovalTeamRequest() = default; + + // 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 "GetApprovalTeam"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + GetApprovalTeamRequest& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamResponseApprover.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamResponseApprover.h new file mode 100644 index 00000000000..2e7216eea44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamResponseApprover.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for an approver.

            See Also:

            AWS + * API Reference

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

            ID for the approver.

            + */ + inline const Aws::String& GetApproverId() const { return m_approverId; } + inline bool ApproverIdHasBeenSet() const { return m_approverIdHasBeenSet; } + template + void SetApproverId(ApproverIdT&& value) { m_approverIdHasBeenSet = true; m_approverId = std::forward(value); } + template + GetApprovalTeamResponseApprover& WithApproverId(ApproverIdT&& value) { SetApproverId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the approver responded to an approval team invitation.

            + */ + inline const Aws::Utils::DateTime& GetResponseTime() const { return m_responseTime; } + inline bool ResponseTimeHasBeenSet() const { return m_responseTimeHasBeenSet; } + template + void SetResponseTime(ResponseTimeT&& value) { m_responseTimeHasBeenSet = true; m_responseTime = std::forward(value); } + template + GetApprovalTeamResponseApprover& WithResponseTime(ResponseTimeT&& value) { SetResponseTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            ID for the user.

            + */ + inline const Aws::String& GetPrimaryIdentityId() const { return m_primaryIdentityId; } + inline bool PrimaryIdentityIdHasBeenSet() const { return m_primaryIdentityIdHasBeenSet; } + template + void SetPrimaryIdentityId(PrimaryIdentityIdT&& value) { m_primaryIdentityIdHasBeenSet = true; m_primaryIdentityId = std::forward(value); } + template + GetApprovalTeamResponseApprover& WithPrimaryIdentityId(PrimaryIdentityIdT&& value) { SetPrimaryIdentityId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source. The identity source + * manages the user authentication for approvers.

            + */ + inline const Aws::String& GetPrimaryIdentitySourceArn() const { return m_primaryIdentitySourceArn; } + inline bool PrimaryIdentitySourceArnHasBeenSet() const { return m_primaryIdentitySourceArnHasBeenSet; } + template + void SetPrimaryIdentitySourceArn(PrimaryIdentitySourceArnT&& value) { m_primaryIdentitySourceArnHasBeenSet = true; m_primaryIdentitySourceArn = std::forward(value); } + template + GetApprovalTeamResponseApprover& WithPrimaryIdentitySourceArn(PrimaryIdentitySourceArnT&& value) { SetPrimaryIdentitySourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the identity source. For example, if an approver has accepted a + * team invitation with a user authentication method managed by the identity + * source.

            + */ + inline IdentityStatus GetPrimaryIdentityStatus() const { return m_primaryIdentityStatus; } + inline bool PrimaryIdentityStatusHasBeenSet() const { return m_primaryIdentityStatusHasBeenSet; } + inline void SetPrimaryIdentityStatus(IdentityStatus value) { m_primaryIdentityStatusHasBeenSet = true; m_primaryIdentityStatus = value; } + inline GetApprovalTeamResponseApprover& WithPrimaryIdentityStatus(IdentityStatus value) { SetPrimaryIdentityStatus(value); return *this;} + ///@} + private: + + Aws::String m_approverId; + bool m_approverIdHasBeenSet = false; + + Aws::Utils::DateTime m_responseTime{}; + bool m_responseTimeHasBeenSet = false; + + Aws::String m_primaryIdentityId; + bool m_primaryIdentityIdHasBeenSet = false; + + Aws::String m_primaryIdentitySourceArn; + bool m_primaryIdentitySourceArnHasBeenSet = false; + + IdentityStatus m_primaryIdentityStatus{IdentityStatus::NOT_SET}; + bool m_primaryIdentityStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamResult.h new file mode 100644 index 00000000000..61c5d8874e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetApprovalTeamResult.h @@ -0,0 +1,280 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class GetApprovalTeamResult + { + public: + AWS_MPA_API GetApprovalTeamResult() = default; + AWS_MPA_API GetApprovalTeamResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API GetApprovalTeamResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Timestamp when the team was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + GetApprovalTeamResult& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An ApprovalStrategyResponse object. Contains details for how the + * team grants approval.

            + */ + inline const ApprovalStrategyResponse& GetApprovalStrategy() const { return m_approvalStrategy; } + template + void SetApprovalStrategy(ApprovalStrategyT&& value) { m_approvalStrategyHasBeenSet = true; m_approvalStrategy = std::forward(value); } + template + GetApprovalTeamResult& WithApprovalStrategy(ApprovalStrategyT&& value) { SetApprovalStrategy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Total number of approvers in the team.

            + */ + inline int GetNumberOfApprovers() const { return m_numberOfApprovers; } + inline void SetNumberOfApprovers(int value) { m_numberOfApproversHasBeenSet = true; m_numberOfApprovers = value; } + inline GetApprovalTeamResult& WithNumberOfApprovers(int value) { SetNumberOfApprovers(value); return *this;} + ///@} + + ///@{ + /** + *

            An array of GetApprovalTeamResponseApprover objects. Contains + * details for the approvers in the team.

            + */ + inline const Aws::Vector& GetApprovers() const { return m_approvers; } + template> + void SetApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers = std::forward(value); } + template> + GetApprovalTeamResult& WithApprovers(ApproversT&& value) { SetApprovers(std::forward(value)); return *this;} + template + GetApprovalTeamResult& AddApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + GetApprovalTeamResult& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Description for the team.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetApprovalTeamResult& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the approval team.

            + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetApprovalTeamResult& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the team. For more information, see Team + * health in the Multi-party approval User Guide.

            + */ + inline ApprovalTeamStatus GetStatus() const { return m_status; } + inline void SetStatus(ApprovalTeamStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline GetApprovalTeamResult& WithStatus(ApprovalTeamStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code for the approval team. For more information, see Team + * health in the Multi-party approval User Guide.

            + */ + inline ApprovalTeamStatusCode GetStatusCode() const { return m_statusCode; } + inline void SetStatusCode(ApprovalTeamStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline GetApprovalTeamResult& WithStatusCode(ApprovalTeamStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for the team.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + GetApprovalTeamResult& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the session.

            + */ + inline const Aws::String& GetUpdateSessionArn() const { return m_updateSessionArn; } + template + void SetUpdateSessionArn(UpdateSessionArnT&& value) { m_updateSessionArnHasBeenSet = true; m_updateSessionArn = std::forward(value); } + template + GetApprovalTeamResult& WithUpdateSessionArn(UpdateSessionArnT&& value) { SetUpdateSessionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Version ID for the team.

            + */ + inline const Aws::String& GetVersionId() const { return m_versionId; } + template + void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet = true; m_versionId = std::forward(value); } + template + GetApprovalTeamResult& WithVersionId(VersionIdT&& value) { SetVersionId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of PolicyReference objects. Contains a list of policies + * that define the permissions for team resources.

            The protected operation + * for a service integration might require specific permissions. For more + * information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            + */ + inline const Aws::Vector& GetPolicies() const { return m_policies; } + template> + void SetPolicies(PoliciesT&& value) { m_policiesHasBeenSet = true; m_policies = std::forward(value); } + template> + GetApprovalTeamResult& WithPolicies(PoliciesT&& value) { SetPolicies(std::forward(value)); return *this;} + template + GetApprovalTeamResult& AddPolicies(PoliciesT&& value) { m_policiesHasBeenSet = true; m_policies.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Timestamp when the team was last updated.

            + */ + inline const Aws::Utils::DateTime& GetLastUpdateTime() const { return m_lastUpdateTime; } + template + void SetLastUpdateTime(LastUpdateTimeT&& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = std::forward(value); } + template + GetApprovalTeamResult& WithLastUpdateTime(LastUpdateTimeT&& value) { SetLastUpdateTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            A PendingUpdate object. Contains details for the pending updates + * for the team, if applicable.

            + */ + inline const PendingUpdate& GetPendingUpdate() const { return m_pendingUpdate; } + template + void SetPendingUpdate(PendingUpdateT&& value) { m_pendingUpdateHasBeenSet = true; m_pendingUpdate = std::forward(value); } + template + GetApprovalTeamResult& WithPendingUpdate(PendingUpdateT&& value) { SetPendingUpdate(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetApprovalTeamResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + ApprovalStrategyResponse m_approvalStrategy; + bool m_approvalStrategyHasBeenSet = false; + + int m_numberOfApprovers{0}; + bool m_numberOfApproversHasBeenSet = false; + + Aws::Vector m_approvers; + bool m_approversHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + ApprovalTeamStatus m_status{ApprovalTeamStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + ApprovalTeamStatusCode m_statusCode{ApprovalTeamStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + Aws::String m_updateSessionArn; + bool m_updateSessionArnHasBeenSet = false; + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + + Aws::Vector m_policies; + bool m_policiesHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdateTime{}; + bool m_lastUpdateTimeHasBeenSet = false; + + PendingUpdate m_pendingUpdate; + bool m_pendingUpdateHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetIdentitySourceRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetIdentitySourceRequest.h new file mode 100644 index 00000000000..14012500d28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetIdentitySourceRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class GetIdentitySourceRequest : public MPARequest + { + public: + AWS_MPA_API GetIdentitySourceRequest() = default; + + // 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 "GetIdentitySource"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source.

            + */ + inline const Aws::String& GetIdentitySourceArn() const { return m_identitySourceArn; } + inline bool IdentitySourceArnHasBeenSet() const { return m_identitySourceArnHasBeenSet; } + template + void SetIdentitySourceArn(IdentitySourceArnT&& value) { m_identitySourceArnHasBeenSet = true; m_identitySourceArn = std::forward(value); } + template + GetIdentitySourceRequest& WithIdentitySourceArn(IdentitySourceArnT&& value) { SetIdentitySourceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identitySourceArn; + bool m_identitySourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetIdentitySourceResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetIdentitySourceResult.h new file mode 100644 index 00000000000..3328cf08ede --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetIdentitySourceResult.h @@ -0,0 +1,152 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class GetIdentitySourceResult + { + public: + AWS_MPA_API GetIdentitySourceResult() = default; + AWS_MPA_API GetIdentitySourceResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API GetIdentitySourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The type of resource that provided identities to the identity source. For + * example, an IAM Identity Center instance.

            + */ + inline IdentitySourceType GetIdentitySourceType() const { return m_identitySourceType; } + inline void SetIdentitySourceType(IdentitySourceType value) { m_identitySourceTypeHasBeenSet = true; m_identitySourceType = value; } + inline GetIdentitySourceResult& WithIdentitySourceType(IdentitySourceType value) { SetIdentitySourceType(value); return *this;} + ///@} + + ///@{ + /** + *

            A IdentitySourceParameters object. Contains details for the + * resource that provides identities to the identity source. For example, an IAM + * Identity Center instance.

            + */ + inline const IdentitySourceParametersForGet& GetIdentitySourceParameters() const { return m_identitySourceParameters; } + template + void SetIdentitySourceParameters(IdentitySourceParametersT&& value) { m_identitySourceParametersHasBeenSet = true; m_identitySourceParameters = std::forward(value); } + template + GetIdentitySourceResult& WithIdentitySourceParameters(IdentitySourceParametersT&& value) { SetIdentitySourceParameters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source.

            + */ + inline const Aws::String& GetIdentitySourceArn() const { return m_identitySourceArn; } + template + void SetIdentitySourceArn(IdentitySourceArnT&& value) { m_identitySourceArnHasBeenSet = true; m_identitySourceArn = std::forward(value); } + template + GetIdentitySourceResult& WithIdentitySourceArn(IdentitySourceArnT&& value) { SetIdentitySourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the identity source was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + GetIdentitySourceResult& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the identity source. For example, if the identity source is + * ACTIVE.

            + */ + inline IdentitySourceStatus GetStatus() const { return m_status; } + inline void SetStatus(IdentitySourceStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline GetIdentitySourceResult& WithStatus(IdentitySourceStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code of the identity source.

            + */ + inline IdentitySourceStatusCode GetStatusCode() const { return m_statusCode; } + inline void SetStatusCode(IdentitySourceStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline GetIdentitySourceResult& WithStatusCode(IdentitySourceStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for the identity source.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + GetIdentitySourceResult& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetIdentitySourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + IdentitySourceType m_identitySourceType{IdentitySourceType::NOT_SET}; + bool m_identitySourceTypeHasBeenSet = false; + + IdentitySourceParametersForGet m_identitySourceParameters; + bool m_identitySourceParametersHasBeenSet = false; + + Aws::String m_identitySourceArn; + bool m_identitySourceArnHasBeenSet = false; + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + IdentitySourceStatus m_status{IdentitySourceStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + IdentitySourceStatusCode m_statusCode{IdentitySourceStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetPolicyVersionRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetPolicyVersionRequest.h new file mode 100644 index 00000000000..88994d19ac6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetPolicyVersionRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class GetPolicyVersionRequest : public MPARequest + { + public: + AWS_MPA_API GetPolicyVersionRequest() = default; + + // 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 "GetPolicyVersion"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the policy.

            + */ + inline const Aws::String& GetPolicyVersionArn() const { return m_policyVersionArn; } + inline bool PolicyVersionArnHasBeenSet() const { return m_policyVersionArnHasBeenSet; } + template + void SetPolicyVersionArn(PolicyVersionArnT&& value) { m_policyVersionArnHasBeenSet = true; m_policyVersionArn = std::forward(value); } + template + GetPolicyVersionRequest& WithPolicyVersionArn(PolicyVersionArnT&& value) { SetPolicyVersionArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_policyVersionArn; + bool m_policyVersionArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetPolicyVersionResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetPolicyVersionResult.h new file mode 100644 index 00000000000..256a764e1df --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetPolicyVersionResult.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class GetPolicyVersionResult + { + public: + AWS_MPA_API GetPolicyVersionResult() = default; + AWS_MPA_API GetPolicyVersionResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API GetPolicyVersionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            A PolicyVersion object. Contains details for the version of the + * policy. Policies define the permissions for team resources.

            The protected + * operation for a service integration might require specific permissions. For more + * information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            + */ + inline const PolicyVersion& GetPolicyVersion() const { return m_policyVersion; } + template + void SetPolicyVersion(PolicyVersionT&& value) { m_policyVersionHasBeenSet = true; m_policyVersion = std::forward(value); } + template + GetPolicyVersionResult& WithPolicyVersion(PolicyVersionT&& value) { SetPolicyVersion(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetPolicyVersionResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + PolicyVersion m_policyVersion; + bool m_policyVersionHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetResourcePolicyRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetResourcePolicyRequest.h new file mode 100644 index 00000000000..e8ba4760fa8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetResourcePolicyRequest.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class GetResourcePolicyRequest : public MPARequest + { + public: + AWS_MPA_API GetResourcePolicyRequest() = default; + + // 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_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the resource.

            + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + GetResourcePolicyRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the policy.

            + */ + inline const Aws::String& GetPolicyName() const { return m_policyName; } + inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } + template + void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward(value); } + template + GetResourcePolicyRequest& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The type of policy.

            + */ + inline PolicyType GetPolicyType() const { return m_policyType; } + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + inline GetResourcePolicyRequest& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + + PolicyType m_policyType{PolicyType::NOT_SET}; + bool m_policyTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetResourcePolicyResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetResourcePolicyResult.h new file mode 100644 index 00000000000..31b5f54bc2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetResourcePolicyResult.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class GetResourcePolicyResult + { + public: + AWS_MPA_API GetResourcePolicyResult() = default; + AWS_MPA_API GetResourcePolicyResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API GetResourcePolicyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the resource.

            + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + GetResourcePolicyResult& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The type of policy

            + */ + inline PolicyType GetPolicyType() const { return m_policyType; } + inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + inline GetResourcePolicyResult& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the policy version.

            + */ + inline const Aws::String& GetPolicyVersionArn() const { return m_policyVersionArn; } + template + void SetPolicyVersionArn(PolicyVersionArnT&& value) { m_policyVersionArnHasBeenSet = true; m_policyVersionArn = std::forward(value); } + template + GetResourcePolicyResult& WithPolicyVersionArn(PolicyVersionArnT&& value) { SetPolicyVersionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the policy.

            + */ + inline const Aws::String& GetPolicyName() const { return m_policyName; } + template + void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward(value); } + template + GetResourcePolicyResult& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Document that contains the contents for the policy.

            + */ + inline const Aws::String& GetPolicyDocument() const { return m_policyDocument; } + template + void SetPolicyDocument(PolicyDocumentT&& value) { m_policyDocumentHasBeenSet = true; m_policyDocument = std::forward(value); } + template + GetResourcePolicyResult& WithPolicyDocument(PolicyDocumentT&& value) { SetPolicyDocument(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetResourcePolicyResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + PolicyType m_policyType{PolicyType::NOT_SET}; + bool m_policyTypeHasBeenSet = false; + + Aws::String m_policyVersionArn; + bool m_policyVersionArnHasBeenSet = false; + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + + Aws::String m_policyDocument; + bool m_policyDocumentHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionRequest.h new file mode 100644 index 00000000000..72f659277ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class GetSessionRequest : public MPARequest + { + public: + AWS_MPA_API GetSessionRequest() = default; + + // 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 "GetSession"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the session.

            + */ + inline const Aws::String& GetSessionArn() const { return m_sessionArn; } + inline bool SessionArnHasBeenSet() const { return m_sessionArnHasBeenSet; } + template + void SetSessionArn(SessionArnT&& value) { m_sessionArnHasBeenSet = true; m_sessionArn = std::forward(value); } + template + GetSessionRequest& WithSessionArn(SessionArnT&& value) { SetSessionArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_sessionArn; + bool m_sessionArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionResponseApproverResponse.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionResponseApproverResponse.h new file mode 100644 index 00000000000..6d145ee015c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionResponseApproverResponse.h @@ -0,0 +1,122 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for an approver response in an approval + * session.

            See Also:

            AWS + * API Reference

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

            ID for the approver.

            + */ + inline const Aws::String& GetApproverId() const { return m_approverId; } + inline bool ApproverIdHasBeenSet() const { return m_approverIdHasBeenSet; } + template + void SetApproverId(ApproverIdT&& value) { m_approverIdHasBeenSet = true; m_approverId = std::forward(value); } + template + GetSessionResponseApproverResponse& WithApproverId(ApproverIdT&& value) { SetApproverId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source. The identity source + * manages the user authentication for approvers.

            + */ + inline const Aws::String& GetIdentitySourceArn() const { return m_identitySourceArn; } + inline bool IdentitySourceArnHasBeenSet() const { return m_identitySourceArnHasBeenSet; } + template + void SetIdentitySourceArn(IdentitySourceArnT&& value) { m_identitySourceArnHasBeenSet = true; m_identitySourceArn = std::forward(value); } + template + GetSessionResponseApproverResponse& WithIdentitySourceArn(IdentitySourceArnT&& value) { SetIdentitySourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            ID for the identity source. The identity source manages the user + * authentication for approvers.

            + */ + inline const Aws::String& GetIdentityId() const { return m_identityId; } + inline bool IdentityIdHasBeenSet() const { return m_identityIdHasBeenSet; } + template + void SetIdentityId(IdentityIdT&& value) { m_identityIdHasBeenSet = true; m_identityId = std::forward(value); } + template + GetSessionResponseApproverResponse& WithIdentityId(IdentityIdT&& value) { SetIdentityId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Response to the operation request.

            + */ + inline SessionResponse GetResponse() const { return m_response; } + inline bool ResponseHasBeenSet() const { return m_responseHasBeenSet; } + inline void SetResponse(SessionResponse value) { m_responseHasBeenSet = true; m_response = value; } + inline GetSessionResponseApproverResponse& WithResponse(SessionResponse value) { SetResponse(value); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when a approver responded to the operation request.

            + */ + inline const Aws::Utils::DateTime& GetResponseTime() const { return m_responseTime; } + inline bool ResponseTimeHasBeenSet() const { return m_responseTimeHasBeenSet; } + template + void SetResponseTime(ResponseTimeT&& value) { m_responseTimeHasBeenSet = true; m_responseTime = std::forward(value); } + template + GetSessionResponseApproverResponse& WithResponseTime(ResponseTimeT&& value) { SetResponseTime(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_approverId; + bool m_approverIdHasBeenSet = false; + + Aws::String m_identitySourceArn; + bool m_identitySourceArnHasBeenSet = false; + + Aws::String m_identityId; + bool m_identityIdHasBeenSet = false; + + SessionResponse m_response{SessionResponse::NOT_SET}; + bool m_responseHasBeenSet = false; + + Aws::Utils::DateTime m_responseTime{}; + bool m_responseTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionResult.h new file mode 100644 index 00000000000..6189192fc34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/GetSessionResult.h @@ -0,0 +1,388 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class GetSessionResult + { + public: + AWS_MPA_API GetSessionResult() = default; + AWS_MPA_API GetSessionResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API GetSessionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the session.

            + */ + inline const Aws::String& GetSessionArn() const { return m_sessionArn; } + template + void SetSessionArn(SessionArnT&& value) { m_sessionArnHasBeenSet = true; m_sessionArn = std::forward(value); } + template + GetSessionResult& WithSessionArn(SessionArnT&& value) { SetSessionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the approval team.

            + */ + inline const Aws::String& GetApprovalTeamArn() const { return m_approvalTeamArn; } + template + void SetApprovalTeamArn(ApprovalTeamArnT&& value) { m_approvalTeamArnHasBeenSet = true; m_approvalTeamArn = std::forward(value); } + template + GetSessionResult& WithApprovalTeamArn(ApprovalTeamArnT&& value) { SetApprovalTeamArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the approval team.

            + */ + inline const Aws::String& GetApprovalTeamName() const { return m_approvalTeamName; } + template + void SetApprovalTeamName(ApprovalTeamNameT&& value) { m_approvalTeamNameHasBeenSet = true; m_approvalTeamName = std::forward(value); } + template + GetSessionResult& WithApprovalTeamName(ApprovalTeamNameT&& value) { SetApprovalTeamName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the protected operation.

            + */ + inline const Aws::String& GetProtectedResourceArn() const { return m_protectedResourceArn; } + template + void SetProtectedResourceArn(ProtectedResourceArnT&& value) { m_protectedResourceArnHasBeenSet = true; m_protectedResourceArn = std::forward(value); } + template + GetSessionResult& WithProtectedResourceArn(ProtectedResourceArnT&& value) { SetProtectedResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An ApprovalStrategyResponse object. Contains details for how the + * team grants approval

            + */ + inline const ApprovalStrategyResponse& GetApprovalStrategy() const { return m_approvalStrategy; } + template + void SetApprovalStrategy(ApprovalStrategyT&& value) { m_approvalStrategyHasBeenSet = true; m_approvalStrategy = std::forward(value); } + template + GetSessionResult& WithApprovalStrategy(ApprovalStrategyT&& value) { SetApprovalStrategy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Total number of approvers in the session.

            + */ + inline int GetNumberOfApprovers() const { return m_numberOfApprovers; } + inline void SetNumberOfApprovers(int value) { m_numberOfApproversHasBeenSet = true; m_numberOfApprovers = value; } + inline GetSessionResult& WithNumberOfApprovers(int value) { SetNumberOfApprovers(value); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the session was initiated.

            + */ + inline const Aws::Utils::DateTime& GetInitiationTime() const { return m_initiationTime; } + template + void SetInitiationTime(InitiationTimeT&& value) { m_initiationTimeHasBeenSet = true; m_initiationTime = std::forward(value); } + template + GetSessionResult& WithInitiationTime(InitiationTimeT&& value) { SetInitiationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the session will expire.

            + */ + inline const Aws::Utils::DateTime& GetExpirationTime() const { return m_expirationTime; } + template + void SetExpirationTime(ExpirationTimeT&& value) { m_expirationTimeHasBeenSet = true; m_expirationTime = std::forward(value); } + template + GetSessionResult& WithExpirationTime(ExpirationTimeT&& value) { SetExpirationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the session completed.

            + */ + inline const Aws::Utils::DateTime& GetCompletionTime() const { return m_completionTime; } + template + void SetCompletionTime(CompletionTimeT&& value) { m_completionTimeHasBeenSet = true; m_completionTime = std::forward(value); } + template + GetSessionResult& WithCompletionTime(CompletionTimeT&& value) { SetCompletionTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Description for the session.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetSessionResult& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Metadata for the session.

            + */ + inline const Aws::Map& GetMetadata() const { return m_metadata; } + template> + void SetMetadata(MetadataT&& value) { m_metadataHasBeenSet = true; m_metadata = std::forward(value); } + template> + GetSessionResult& WithMetadata(MetadataT&& value) { SetMetadata(std::forward(value)); return *this;} + template + GetSessionResult& AddMetadata(MetadataKeyT&& key, MetadataValueT&& value) { + m_metadataHasBeenSet = true; m_metadata.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

            Status for the session. For example, if the team has approved the requested + * operation.

            + */ + inline SessionStatus GetStatus() const { return m_status; } + inline void SetStatus(SessionStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline GetSessionResult& WithStatus(SessionStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code of the session.

            + */ + inline SessionStatusCode GetStatusCode() const { return m_statusCode; } + inline void SetStatusCode(SessionStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline GetSessionResult& WithStatusCode(SessionStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for session.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + GetSessionResult& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the protected operation. For example, if the operation is + * PENDING.

            + */ + inline SessionExecutionStatus GetExecutionStatus() const { return m_executionStatus; } + inline void SetExecutionStatus(SessionExecutionStatus value) { m_executionStatusHasBeenSet = true; m_executionStatus = value; } + inline GetSessionResult& WithExecutionStatus(SessionExecutionStatus value) { SetExecutionStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Name of the protected operation.

            + */ + inline const Aws::String& GetActionName() const { return m_actionName; } + template + void SetActionName(ActionNameT&& value) { m_actionNameHasBeenSet = true; m_actionName = std::forward(value); } + template + GetSessionResult& WithActionName(ActionNameT&& value) { SetActionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Service + * principal for the service associated with the protected operation.

            + */ + inline const Aws::String& GetRequesterServicePrincipal() const { return m_requesterServicePrincipal; } + template + void SetRequesterServicePrincipal(RequesterServicePrincipalT&& value) { m_requesterServicePrincipalHasBeenSet = true; m_requesterServicePrincipal = std::forward(value); } + template + GetSessionResult& WithRequesterServicePrincipal(RequesterServicePrincipalT&& value) { SetRequesterServicePrincipal(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            IAM + * principal that made the operation request.

            + */ + inline const Aws::String& GetRequesterPrincipalArn() const { return m_requesterPrincipalArn; } + template + void SetRequesterPrincipalArn(RequesterPrincipalArnT&& value) { m_requesterPrincipalArnHasBeenSet = true; m_requesterPrincipalArn = std::forward(value); } + template + GetSessionResult& WithRequesterPrincipalArn(RequesterPrincipalArnT&& value) { SetRequesterPrincipalArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            ID for the account that made the operation request.

            + */ + inline const Aws::String& GetRequesterAccountId() const { return m_requesterAccountId; } + template + void SetRequesterAccountId(RequesterAccountIdT&& value) { m_requesterAccountIdHasBeenSet = true; m_requesterAccountId = std::forward(value); } + template + GetSessionResult& WithRequesterAccountId(RequesterAccountIdT&& value) { SetRequesterAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Web Services Region where the operation request originated.

            + */ + inline const Aws::String& GetRequesterRegion() const { return m_requesterRegion; } + template + void SetRequesterRegion(RequesterRegionT&& value) { m_requesterRegionHasBeenSet = true; m_requesterRegion = std::forward(value); } + template + GetSessionResult& WithRequesterRegion(RequesterRegionT&& value) { SetRequesterRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Message from the account that made the operation request

            + */ + inline const Aws::String& GetRequesterComment() const { return m_requesterComment; } + template + void SetRequesterComment(RequesterCommentT&& value) { m_requesterCommentHasBeenSet = true; m_requesterComment = std::forward(value); } + template + GetSessionResult& WithRequesterComment(RequesterCommentT&& value) { SetRequesterComment(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Strategy for executing the protected operation. + * AUTO_COMPLETION_UPON_APPROVAL means the operation is automatically + * executed using the requester's permissions, if approved.

            + */ + inline ActionCompletionStrategy GetActionCompletionStrategy() const { return m_actionCompletionStrategy; } + inline void SetActionCompletionStrategy(ActionCompletionStrategy value) { m_actionCompletionStrategyHasBeenSet = true; m_actionCompletionStrategy = value; } + inline GetSessionResult& WithActionCompletionStrategy(ActionCompletionStrategy value) { SetActionCompletionStrategy(value); return *this;} + ///@} + + ///@{ + /** + *

            An array of GetSessionResponseApproverResponse objects. Contains + * details for approver responses in the session.

            + */ + inline const Aws::Vector& GetApproverResponses() const { return m_approverResponses; } + template> + void SetApproverResponses(ApproverResponsesT&& value) { m_approverResponsesHasBeenSet = true; m_approverResponses = std::forward(value); } + template> + GetSessionResult& WithApproverResponses(ApproverResponsesT&& value) { SetApproverResponses(std::forward(value)); return *this;} + template + GetSessionResult& AddApproverResponses(ApproverResponsesT&& value) { m_approverResponsesHasBeenSet = true; m_approverResponses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetSessionResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_sessionArn; + bool m_sessionArnHasBeenSet = false; + + Aws::String m_approvalTeamArn; + bool m_approvalTeamArnHasBeenSet = false; + + Aws::String m_approvalTeamName; + bool m_approvalTeamNameHasBeenSet = false; + + Aws::String m_protectedResourceArn; + bool m_protectedResourceArnHasBeenSet = false; + + ApprovalStrategyResponse m_approvalStrategy; + bool m_approvalStrategyHasBeenSet = false; + + int m_numberOfApprovers{0}; + bool m_numberOfApproversHasBeenSet = false; + + Aws::Utils::DateTime m_initiationTime{}; + bool m_initiationTimeHasBeenSet = false; + + Aws::Utils::DateTime m_expirationTime{}; + bool m_expirationTimeHasBeenSet = false; + + Aws::Utils::DateTime m_completionTime{}; + bool m_completionTimeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Map m_metadata; + bool m_metadataHasBeenSet = false; + + SessionStatus m_status{SessionStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + SessionStatusCode m_statusCode{SessionStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + SessionExecutionStatus m_executionStatus{SessionExecutionStatus::NOT_SET}; + bool m_executionStatusHasBeenSet = false; + + Aws::String m_actionName; + bool m_actionNameHasBeenSet = false; + + Aws::String m_requesterServicePrincipal; + bool m_requesterServicePrincipalHasBeenSet = false; + + Aws::String m_requesterPrincipalArn; + bool m_requesterPrincipalArnHasBeenSet = false; + + Aws::String m_requesterAccountId; + bool m_requesterAccountIdHasBeenSet = false; + + Aws::String m_requesterRegion; + bool m_requesterRegionHasBeenSet = false; + + Aws::String m_requesterComment; + bool m_requesterCommentHasBeenSet = false; + + ActionCompletionStrategy m_actionCompletionStrategy{ActionCompletionStrategy::NOT_SET}; + bool m_actionCompletionStrategyHasBeenSet = false; + + Aws::Vector m_approverResponses; + bool m_approverResponsesHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenter.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenter.h new file mode 100644 index 00000000000..1b89e7f5a4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenter.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            IAM Identity Center credentials. For more information see, IAM Identity Center + * .

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the IAM Identity Center instance.

            + */ + inline const Aws::String& GetInstanceArn() const { return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + template + void SetInstanceArn(InstanceArnT&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::forward(value); } + template + IamIdentityCenter& WithInstanceArn(InstanceArnT&& value) { SetInstanceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Web Services Region where the IAM Identity Center instance is + * located.

            + */ + inline const Aws::String& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template + IamIdentityCenter& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenterForGet.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenterForGet.h new file mode 100644 index 00000000000..7f6fa387a4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenterForGet.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            IAM Identity Center credentials. For more information see, IAM Identity Center + * .

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the IAM Identity Center instance.

            + */ + inline const Aws::String& GetInstanceArn() const { return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + template + void SetInstanceArn(InstanceArnT&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::forward(value); } + template + IamIdentityCenterForGet& WithInstanceArn(InstanceArnT&& value) { SetInstanceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            URL for the approval portal associated with the IAM Identity Center + * instance.

            + */ + inline const Aws::String& GetApprovalPortalUrl() const { return m_approvalPortalUrl; } + inline bool ApprovalPortalUrlHasBeenSet() const { return m_approvalPortalUrlHasBeenSet; } + template + void SetApprovalPortalUrl(ApprovalPortalUrlT&& value) { m_approvalPortalUrlHasBeenSet = true; m_approvalPortalUrl = std::forward(value); } + template + IamIdentityCenterForGet& WithApprovalPortalUrl(ApprovalPortalUrlT&& value) { SetApprovalPortalUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Web Services Region where the IAM Identity Center instance is + * located.

            + */ + inline const Aws::String& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template + IamIdentityCenterForGet& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_approvalPortalUrl; + bool m_approvalPortalUrlHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenterForList.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenterForList.h new file mode 100644 index 00000000000..52466ef10f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IamIdentityCenterForList.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            IAM Identity Center credentials. For more information see, IAM Identity Center + * .

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the IAM Identity Center instance.

            + */ + inline const Aws::String& GetInstanceArn() const { return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + template + void SetInstanceArn(InstanceArnT&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::forward(value); } + template + IamIdentityCenterForList& WithInstanceArn(InstanceArnT&& value) { SetInstanceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            URL for the approval portal associated with the IAM Identity Center + * instance.

            + */ + inline const Aws::String& GetApprovalPortalUrl() const { return m_approvalPortalUrl; } + inline bool ApprovalPortalUrlHasBeenSet() const { return m_approvalPortalUrlHasBeenSet; } + template + void SetApprovalPortalUrl(ApprovalPortalUrlT&& value) { m_approvalPortalUrlHasBeenSet = true; m_approvalPortalUrl = std::forward(value); } + template + IamIdentityCenterForList& WithApprovalPortalUrl(ApprovalPortalUrlT&& value) { SetApprovalPortalUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Web Services Region where the IAM Identity Center instance is + * located.

            + */ + inline const Aws::String& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template + IamIdentityCenterForList& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_approvalPortalUrl; + bool m_approvalPortalUrlHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceForList.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceForList.h new file mode 100644 index 00000000000..a39288b7bf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceForList.h @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for an identity source. For more information, see Identity + * source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

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

            The type of resource that provided identities to the identity source. For + * example, an IAM Identity Center instance.

            + */ + inline IdentitySourceType GetIdentitySourceType() const { return m_identitySourceType; } + inline bool IdentitySourceTypeHasBeenSet() const { return m_identitySourceTypeHasBeenSet; } + inline void SetIdentitySourceType(IdentitySourceType value) { m_identitySourceTypeHasBeenSet = true; m_identitySourceType = value; } + inline IdentitySourceForList& WithIdentitySourceType(IdentitySourceType value) { SetIdentitySourceType(value); return *this;} + ///@} + + ///@{ + /** + *

            A IdentitySourceParametersForList object. Contains details for + * the resource that provides identities to the identity source. For example, an + * IAM Identity Center instance.

            + */ + inline const IdentitySourceParametersForList& GetIdentitySourceParameters() const { return m_identitySourceParameters; } + inline bool IdentitySourceParametersHasBeenSet() const { return m_identitySourceParametersHasBeenSet; } + template + void SetIdentitySourceParameters(IdentitySourceParametersT&& value) { m_identitySourceParametersHasBeenSet = true; m_identitySourceParameters = std::forward(value); } + template + IdentitySourceForList& WithIdentitySourceParameters(IdentitySourceParametersT&& value) { SetIdentitySourceParameters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the identity source.

            + */ + inline const Aws::String& GetIdentitySourceArn() const { return m_identitySourceArn; } + inline bool IdentitySourceArnHasBeenSet() const { return m_identitySourceArnHasBeenSet; } + template + void SetIdentitySourceArn(IdentitySourceArnT&& value) { m_identitySourceArnHasBeenSet = true; m_identitySourceArn = std::forward(value); } + template + IdentitySourceForList& WithIdentitySourceArn(IdentitySourceArnT&& value) { SetIdentitySourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the identity source was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + IdentitySourceForList& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the identity source. For example, if the identity source is + * ACTIVE.

            + */ + inline IdentitySourceStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(IdentitySourceStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline IdentitySourceForList& WithStatus(IdentitySourceStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code of the identity source.

            + */ + inline IdentitySourceStatusCode GetStatusCode() const { return m_statusCode; } + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + inline void SetStatusCode(IdentitySourceStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline IdentitySourceForList& WithStatusCode(IdentitySourceStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for the identity source.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + IdentitySourceForList& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + private: + + IdentitySourceType m_identitySourceType{IdentitySourceType::NOT_SET}; + bool m_identitySourceTypeHasBeenSet = false; + + IdentitySourceParametersForList m_identitySourceParameters; + bool m_identitySourceParametersHasBeenSet = false; + + Aws::String m_identitySourceArn; + bool m_identitySourceArnHasBeenSet = false; + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + IdentitySourceStatus m_status{IdentitySourceStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + IdentitySourceStatusCode m_statusCode{IdentitySourceStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParameters.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParameters.h new file mode 100644 index 00000000000..bb9ac402fed --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParameters.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for the resource that provides identities to the identity + * source. For example, an IAM Identity Center instance.

            See Also:

            + * AWS + * API Reference

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

            IAM Identity Center credentials.

            + */ + inline const IamIdentityCenter& GetIamIdentityCenter() const { return m_iamIdentityCenter; } + inline bool IamIdentityCenterHasBeenSet() const { return m_iamIdentityCenterHasBeenSet; } + template + void SetIamIdentityCenter(IamIdentityCenterT&& value) { m_iamIdentityCenterHasBeenSet = true; m_iamIdentityCenter = std::forward(value); } + template + IdentitySourceParameters& WithIamIdentityCenter(IamIdentityCenterT&& value) { SetIamIdentityCenter(std::forward(value)); return *this;} + ///@} + private: + + IamIdentityCenter m_iamIdentityCenter; + bool m_iamIdentityCenterHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParametersForGet.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParametersForGet.h new file mode 100644 index 00000000000..1645c1472e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParametersForGet.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for the resource that provides identities to the identity + * source. For example, an IAM Identity Center instance. For more information, see + * Identity + * source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

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

            IAM Identity Center credentials.

            + */ + inline const IamIdentityCenterForGet& GetIamIdentityCenter() const { return m_iamIdentityCenter; } + inline bool IamIdentityCenterHasBeenSet() const { return m_iamIdentityCenterHasBeenSet; } + template + void SetIamIdentityCenter(IamIdentityCenterT&& value) { m_iamIdentityCenterHasBeenSet = true; m_iamIdentityCenter = std::forward(value); } + template + IdentitySourceParametersForGet& WithIamIdentityCenter(IamIdentityCenterT&& value) { SetIamIdentityCenter(std::forward(value)); return *this;} + ///@} + private: + + IamIdentityCenterForGet m_iamIdentityCenter; + bool m_iamIdentityCenterHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParametersForList.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParametersForList.h new file mode 100644 index 00000000000..0d10e5d22e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceParametersForList.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for the resource that provides identities to the identity + * source. For example, an IAM Identity Center instance. For more information, see + * Identity + * source in the Multi-party approval User Guide.

            See + * Also:

            AWS + * API Reference

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

            IAM Identity Center credentials.

            + */ + inline const IamIdentityCenterForList& GetIamIdentityCenter() const { return m_iamIdentityCenter; } + inline bool IamIdentityCenterHasBeenSet() const { return m_iamIdentityCenterHasBeenSet; } + template + void SetIamIdentityCenter(IamIdentityCenterT&& value) { m_iamIdentityCenterHasBeenSet = true; m_iamIdentityCenter = std::forward(value); } + template + IdentitySourceParametersForList& WithIamIdentityCenter(IamIdentityCenterT&& value) { SetIamIdentityCenter(std::forward(value)); return *this;} + ///@} + private: + + IamIdentityCenterForList m_iamIdentityCenter; + bool m_iamIdentityCenterHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceStatus.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceStatus.h new file mode 100644 index 00000000000..7094bf57a86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class IdentitySourceStatus + { + NOT_SET, + CREATING, + ACTIVE, + DELETING, + ERROR_ + }; + +namespace IdentitySourceStatusMapper +{ +AWS_MPA_API IdentitySourceStatus GetIdentitySourceStatusForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForIdentitySourceStatus(IdentitySourceStatus value); +} // namespace IdentitySourceStatusMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceStatusCode.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceStatusCode.h new file mode 100644 index 00000000000..8ad75e9483d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceStatusCode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class IdentitySourceStatusCode + { + NOT_SET, + ACCESS_DENIED, + DELETION_FAILED, + IDC_INSTANCE_NOT_FOUND, + IDC_INSTANCE_NOT_VALID + }; + +namespace IdentitySourceStatusCodeMapper +{ +AWS_MPA_API IdentitySourceStatusCode GetIdentitySourceStatusCodeForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForIdentitySourceStatusCode(IdentitySourceStatusCode value); +} // namespace IdentitySourceStatusCodeMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceType.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceType.h new file mode 100644 index 00000000000..231c08f9508 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentitySourceType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class IdentitySourceType + { + NOT_SET, + IAM_IDENTITY_CENTER + }; + +namespace IdentitySourceTypeMapper +{ +AWS_MPA_API IdentitySourceType GetIdentitySourceTypeForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForIdentitySourceType(IdentitySourceType value); +} // namespace IdentitySourceTypeMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentityStatus.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentityStatus.h new file mode 100644 index 00000000000..6506ef410ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/IdentityStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class IdentityStatus + { + NOT_SET, + PENDING, + ACCEPTED, + REJECTED, + INVALID + }; + +namespace IdentityStatusMapper +{ +AWS_MPA_API IdentityStatus GetIdentityStatusForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForIdentityStatus(IdentityStatus value); +} // namespace IdentityStatusMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsRequest.h new file mode 100644 index 00000000000..6efaa5bdd4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsRequest.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 Http +{ + class URI; +} //namespace Http +namespace MPA +{ +namespace Model +{ + + /** + */ + class ListApprovalTeamsRequest : public MPARequest + { + public: + AWS_MPA_API ListApprovalTeamsRequest() = default; + + // 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 "ListApprovalTeams"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + AWS_MPA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

            The maximum number of items to return in the response. If more results exist + * than the specified MaxResults value, a token is included in the + * response so that you can retrieve the remaining results.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListApprovalTeamsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsResponseApprovalTeam.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsResponseApprovalTeam.h new file mode 100644 index 00000000000..69ba5c96766 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsResponseApprovalTeam.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for an approval team

            See Also:

            AWS + * API Reference

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

            Timestamp when the team was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + ListApprovalTeamsResponseApprovalTeam& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An ApprovalStrategyResponse object. Contains details for how an + * approval team grants approval.

            + */ + inline const ApprovalStrategyResponse& GetApprovalStrategy() const { return m_approvalStrategy; } + inline bool ApprovalStrategyHasBeenSet() const { return m_approvalStrategyHasBeenSet; } + template + void SetApprovalStrategy(ApprovalStrategyT&& value) { m_approvalStrategyHasBeenSet = true; m_approvalStrategy = std::forward(value); } + template + ListApprovalTeamsResponseApprovalTeam& WithApprovalStrategy(ApprovalStrategyT&& value) { SetApprovalStrategy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Total number of approvers in the team.

            + */ + inline int GetNumberOfApprovers() const { return m_numberOfApprovers; } + inline bool NumberOfApproversHasBeenSet() const { return m_numberOfApproversHasBeenSet; } + inline void SetNumberOfApprovers(int value) { m_numberOfApproversHasBeenSet = true; m_numberOfApprovers = value; } + inline ListApprovalTeamsResponseApprovalTeam& WithNumberOfApprovers(int value) { SetNumberOfApprovers(value); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + ListApprovalTeamsResponseApprovalTeam& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the team.

            + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ListApprovalTeamsResponseApprovalTeam& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Description for the team.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + ListApprovalTeamsResponseApprovalTeam& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the team. For more information, see Team + * health in the Multi-party approval User Guide.

            + */ + inline ApprovalTeamStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(ApprovalTeamStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline ListApprovalTeamsResponseApprovalTeam& WithStatus(ApprovalTeamStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code for the team. For more information, see Team + * health in the Multi-party approval User Guide.

            + */ + inline ApprovalTeamStatusCode GetStatusCode() const { return m_statusCode; } + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + inline void SetStatusCode(ApprovalTeamStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline ListApprovalTeamsResponseApprovalTeam& WithStatusCode(ApprovalTeamStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for the team.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + ListApprovalTeamsResponseApprovalTeam& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + ApprovalStrategyResponse m_approvalStrategy; + bool m_approvalStrategyHasBeenSet = false; + + int m_numberOfApprovers{0}; + bool m_numberOfApproversHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ApprovalTeamStatus m_status{ApprovalTeamStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + ApprovalTeamStatusCode m_statusCode{ApprovalTeamStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsResult.h new file mode 100644 index 00000000000..117037b55a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListApprovalTeamsResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class ListApprovalTeamsResult + { + public: + AWS_MPA_API ListApprovalTeamsResult() = default; + AWS_MPA_API ListApprovalTeamsResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API ListApprovalTeamsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListApprovalTeamsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of ListApprovalTeamsResponseApprovalTeam objects. + * Contains details for approval teams.

            + */ + inline const Aws::Vector& GetApprovalTeams() const { return m_approvalTeams; } + template> + void SetApprovalTeams(ApprovalTeamsT&& value) { m_approvalTeamsHasBeenSet = true; m_approvalTeams = std::forward(value); } + template> + ListApprovalTeamsResult& WithApprovalTeams(ApprovalTeamsT&& value) { SetApprovalTeams(std::forward(value)); return *this;} + template + ListApprovalTeamsResult& AddApprovalTeams(ApprovalTeamsT&& value) { m_approvalTeamsHasBeenSet = true; m_approvalTeams.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListApprovalTeamsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_approvalTeams; + bool m_approvalTeamsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListIdentitySourcesRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListIdentitySourcesRequest.h new file mode 100644 index 00000000000..a1688160974 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListIdentitySourcesRequest.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 Http +{ + class URI; +} //namespace Http +namespace MPA +{ +namespace Model +{ + + /** + */ + class ListIdentitySourcesRequest : public MPARequest + { + public: + AWS_MPA_API ListIdentitySourcesRequest() = default; + + // 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 "ListIdentitySources"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + AWS_MPA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

            The maximum number of items to return in the response. If more results exist + * than the specified MaxResults value, a token is included in the + * response so that you can retrieve the remaining results.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListIdentitySourcesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            A IdentitySources. Contains details for identity sources.

            + */ + inline const Aws::Vector& GetIdentitySources() const { return m_identitySources; } + template> + void SetIdentitySources(IdentitySourcesT&& value) { m_identitySourcesHasBeenSet = true; m_identitySources = std::forward(value); } + template> + ListIdentitySourcesResult& WithIdentitySources(IdentitySourcesT&& value) { SetIdentitySources(std::forward(value)); return *this;} + template + ListIdentitySourcesResult& AddIdentitySources(IdentitySourcesT&& value) { m_identitySourcesHasBeenSet = true; m_identitySources.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListIdentitySourcesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_identitySources; + bool m_identitySourcesHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPoliciesRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPoliciesRequest.h new file mode 100644 index 00000000000..bf31f6754bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPoliciesRequest.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 Http +{ + class URI; +} //namespace Http +namespace MPA +{ +namespace Model +{ + + /** + */ + class ListPoliciesRequest : public MPARequest + { + public: + AWS_MPA_API ListPoliciesRequest() = default; + + // 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 "ListPolicies"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + AWS_MPA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

            The maximum number of items to return in the response. If more results exist + * than the specified MaxResults value, a token is included in the + * response so that you can retrieve the remaining results.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListPoliciesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of Policy objects. Contains a list of policies that + * define the permissions for team resources.

            The protected operation for a + * service integration might require specific permissions. For more information, + * see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            + */ + inline const Aws::Vector& GetPolicies() const { return m_policies; } + template> + void SetPolicies(PoliciesT&& value) { m_policiesHasBeenSet = true; m_policies = std::forward(value); } + template> + ListPoliciesResult& WithPolicies(PoliciesT&& value) { SetPolicies(std::forward(value)); return *this;} + template + ListPoliciesResult& AddPolicies(PoliciesT&& value) { m_policiesHasBeenSet = true; m_policies.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListPoliciesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_policies; + bool m_policiesHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPolicyVersionsRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPolicyVersionsRequest.h new file mode 100644 index 00000000000..93c18e188ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPolicyVersionsRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace MPA +{ +namespace Model +{ + + /** + */ + class ListPolicyVersionsRequest : public MPARequest + { + public: + AWS_MPA_API ListPolicyVersionsRequest() = default; + + // 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 "ListPolicyVersions"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + AWS_MPA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

            The maximum number of items to return in the response. If more results exist + * than the specified MaxResults value, a token is included in the + * response so that you can retrieve the remaining results.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListPolicyVersionsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the policy.

            + */ + inline const Aws::String& GetPolicyArn() const { return m_policyArn; } + inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } + template + void SetPolicyArn(PolicyArnT&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::forward(value); } + template + ListPolicyVersionsRequest& WithPolicyArn(PolicyArnT&& value) { SetPolicyArn(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_policyArn; + bool m_policyArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPolicyVersionsResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPolicyVersionsResult.h new file mode 100644 index 00000000000..226f7e1e1fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListPolicyVersionsResult.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class ListPolicyVersionsResult + { + public: + AWS_MPA_API ListPolicyVersionsResult() = default; + AWS_MPA_API ListPolicyVersionsResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API ListPolicyVersionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListPolicyVersionsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of PolicyVersionSummary objects. Contains details for + * the version of the policies that define the permissions for team resources.

            + *

            The protected operation for a service integration might require specific + * permissions. For more information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            + */ + inline const Aws::Vector& GetPolicyVersions() const { return m_policyVersions; } + template> + void SetPolicyVersions(PolicyVersionsT&& value) { m_policyVersionsHasBeenSet = true; m_policyVersions = std::forward(value); } + template> + ListPolicyVersionsResult& WithPolicyVersions(PolicyVersionsT&& value) { SetPolicyVersions(std::forward(value)); return *this;} + template + ListPolicyVersionsResult& AddPolicyVersions(PolicyVersionsT&& value) { m_policyVersionsHasBeenSet = true; m_policyVersions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListPolicyVersionsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_policyVersions; + bool m_policyVersionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesRequest.h new file mode 100644 index 00000000000..bb19330ce0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace MPA +{ +namespace Model +{ + + /** + */ + class ListResourcePoliciesRequest : public MPARequest + { + public: + AWS_MPA_API ListResourcePoliciesRequest() = default; + + // 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 "ListResourcePolicies"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + AWS_MPA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the resource.

            + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + ListResourcePoliciesRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The maximum number of items to return in the response. If more results exist + * than the specified MaxResults value, a token is included in the + * response so that you can retrieve the remaining results.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListResourcePoliciesRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesResponseResourcePolicy.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesResponseResourcePolicy.h new file mode 100644 index 00000000000..a6033bd9566 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesResponseResourcePolicy.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details about a policy for a resource.

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for policy.

            + */ + inline const Aws::String& GetPolicyArn() const { return m_policyArn; } + inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } + template + void SetPolicyArn(PolicyArnT&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::forward(value); } + template + ListResourcePoliciesResponseResourcePolicy& WithPolicyArn(PolicyArnT&& value) { SetPolicyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The type of policy.

            + */ + inline PolicyType GetPolicyType() const { return m_policyType; } + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + inline ListResourcePoliciesResponseResourcePolicy& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;} + ///@} + + ///@{ + /** + *

            Name of the policy.

            + */ + inline const Aws::String& GetPolicyName() const { return m_policyName; } + inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } + template + void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward(value); } + template + ListResourcePoliciesResponseResourcePolicy& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_policyArn; + bool m_policyArnHasBeenSet = false; + + PolicyType m_policyType{PolicyType::NOT_SET}; + bool m_policyTypeHasBeenSet = false; + + Aws::String m_policyName; + bool m_policyNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesResult.h new file mode 100644 index 00000000000..cd43ee5569f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListResourcePoliciesResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class ListResourcePoliciesResult + { + public: + AWS_MPA_API ListResourcePoliciesResult() = default; + AWS_MPA_API ListResourcePoliciesResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API ListResourcePoliciesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListResourcePoliciesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of ListResourcePoliciesResponseResourcePolicy objects. + * Contains details about the policy for the resource.

            + */ + inline const Aws::Vector& GetResourcePolicies() const { return m_resourcePolicies; } + template> + void SetResourcePolicies(ResourcePoliciesT&& value) { m_resourcePoliciesHasBeenSet = true; m_resourcePolicies = std::forward(value); } + template> + ListResourcePoliciesResult& WithResourcePolicies(ResourcePoliciesT&& value) { SetResourcePolicies(std::forward(value)); return *this;} + template + ListResourcePoliciesResult& AddResourcePolicies(ResourcePoliciesT&& value) { m_resourcePoliciesHasBeenSet = true; m_resourcePolicies.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListResourcePoliciesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_resourcePolicies; + bool m_resourcePoliciesHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsRequest.h new file mode 100644 index 00000000000..243c3248fb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class ListSessionsRequest : public MPARequest + { + public: + AWS_MPA_API ListSessionsRequest() = default; + + // 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 "ListSessions"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the approval team.

            + */ + inline const Aws::String& GetApprovalTeamArn() const { return m_approvalTeamArn; } + inline bool ApprovalTeamArnHasBeenSet() const { return m_approvalTeamArnHasBeenSet; } + template + void SetApprovalTeamArn(ApprovalTeamArnT&& value) { m_approvalTeamArnHasBeenSet = true; m_approvalTeamArn = std::forward(value); } + template + ListSessionsRequest& WithApprovalTeamArn(ApprovalTeamArnT&& value) { SetApprovalTeamArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The maximum number of items to return in the response. If more results exist + * than the specified MaxResults value, a token is included in the + * response so that you can retrieve the remaining results.

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

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListSessionsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of Filter objects. Contains the filter to apply when + * listing sessions.

            + */ + inline const Aws::Vector& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template> + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template> + ListSessionsRequest& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + template + ListSessionsRequest& AddFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_approvalTeamArn; + bool m_approvalTeamArnHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_filters; + bool m_filtersHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsResponseSession.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsResponseSession.h new file mode 100644 index 00000000000..2dc5ba40eb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsResponseSession.h @@ -0,0 +1,306 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for an approval session. For more information, see Session + * in the Multi-party approval User Guide

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the session.

            + */ + inline const Aws::String& GetSessionArn() const { return m_sessionArn; } + inline bool SessionArnHasBeenSet() const { return m_sessionArnHasBeenSet; } + template + void SetSessionArn(SessionArnT&& value) { m_sessionArnHasBeenSet = true; m_sessionArn = std::forward(value); } + template + ListSessionsResponseSession& WithSessionArn(SessionArnT&& value) { SetSessionArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the approval team.

            + */ + inline const Aws::String& GetApprovalTeamName() const { return m_approvalTeamName; } + inline bool ApprovalTeamNameHasBeenSet() const { return m_approvalTeamNameHasBeenSet; } + template + void SetApprovalTeamName(ApprovalTeamNameT&& value) { m_approvalTeamNameHasBeenSet = true; m_approvalTeamName = std::forward(value); } + template + ListSessionsResponseSession& WithApprovalTeamName(ApprovalTeamNameT&& value) { SetApprovalTeamName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the approval team.

            + */ + inline const Aws::String& GetApprovalTeamArn() const { return m_approvalTeamArn; } + inline bool ApprovalTeamArnHasBeenSet() const { return m_approvalTeamArnHasBeenSet; } + template + void SetApprovalTeamArn(ApprovalTeamArnT&& value) { m_approvalTeamArnHasBeenSet = true; m_approvalTeamArn = std::forward(value); } + template + ListSessionsResponseSession& WithApprovalTeamArn(ApprovalTeamArnT&& value) { SetApprovalTeamArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the session was initiated.

            + */ + inline const Aws::Utils::DateTime& GetInitiationTime() const { return m_initiationTime; } + inline bool InitiationTimeHasBeenSet() const { return m_initiationTimeHasBeenSet; } + template + void SetInitiationTime(InitiationTimeT&& value) { m_initiationTimeHasBeenSet = true; m_initiationTime = std::forward(value); } + template + ListSessionsResponseSession& WithInitiationTime(InitiationTimeT&& value) { SetInitiationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the session was expire.

            + */ + inline const Aws::Utils::DateTime& GetExpirationTime() const { return m_expirationTime; } + inline bool ExpirationTimeHasBeenSet() const { return m_expirationTimeHasBeenSet; } + template + void SetExpirationTime(ExpirationTimeT&& value) { m_expirationTimeHasBeenSet = true; m_expirationTime = std::forward(value); } + template + ListSessionsResponseSession& WithExpirationTime(ExpirationTimeT&& value) { SetExpirationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the session was completed.

            + */ + inline const Aws::Utils::DateTime& GetCompletionTime() const { return m_completionTime; } + inline bool CompletionTimeHasBeenSet() const { return m_completionTimeHasBeenSet; } + template + void SetCompletionTime(CompletionTimeT&& value) { m_completionTimeHasBeenSet = true; m_completionTime = std::forward(value); } + template + ListSessionsResponseSession& WithCompletionTime(CompletionTimeT&& value) { SetCompletionTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Description for the team.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + ListSessionsResponseSession& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the protected operation.

            + */ + inline const Aws::String& GetActionName() const { return m_actionName; } + inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } + template + void SetActionName(ActionNameT&& value) { m_actionNameHasBeenSet = true; m_actionName = std::forward(value); } + template + ListSessionsResponseSession& WithActionName(ActionNameT&& value) { SetActionName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the protected operation.

            + */ + inline const Aws::String& GetProtectedResourceArn() const { return m_protectedResourceArn; } + inline bool ProtectedResourceArnHasBeenSet() const { return m_protectedResourceArnHasBeenSet; } + template + void SetProtectedResourceArn(ProtectedResourceArnT&& value) { m_protectedResourceArnHasBeenSet = true; m_protectedResourceArn = std::forward(value); } + template + ListSessionsResponseSession& WithProtectedResourceArn(ProtectedResourceArnT&& value) { SetProtectedResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Service + * principal for the service associated with the protected operation.

            + */ + inline const Aws::String& GetRequesterServicePrincipal() const { return m_requesterServicePrincipal; } + inline bool RequesterServicePrincipalHasBeenSet() const { return m_requesterServicePrincipalHasBeenSet; } + template + void SetRequesterServicePrincipal(RequesterServicePrincipalT&& value) { m_requesterServicePrincipalHasBeenSet = true; m_requesterServicePrincipal = std::forward(value); } + template + ListSessionsResponseSession& WithRequesterServicePrincipal(RequesterServicePrincipalT&& value) { SetRequesterServicePrincipal(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            IAM + * principal that made the operation request.

            + */ + inline const Aws::String& GetRequesterPrincipalArn() const { return m_requesterPrincipalArn; } + inline bool RequesterPrincipalArnHasBeenSet() const { return m_requesterPrincipalArnHasBeenSet; } + template + void SetRequesterPrincipalArn(RequesterPrincipalArnT&& value) { m_requesterPrincipalArnHasBeenSet = true; m_requesterPrincipalArn = std::forward(value); } + template + ListSessionsResponseSession& WithRequesterPrincipalArn(RequesterPrincipalArnT&& value) { SetRequesterPrincipalArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Web Services Region where the operation request originated.

            + */ + inline const Aws::String& GetRequesterRegion() const { return m_requesterRegion; } + inline bool RequesterRegionHasBeenSet() const { return m_requesterRegionHasBeenSet; } + template + void SetRequesterRegion(RequesterRegionT&& value) { m_requesterRegionHasBeenSet = true; m_requesterRegion = std::forward(value); } + template + ListSessionsResponseSession& WithRequesterRegion(RequesterRegionT&& value) { SetRequesterRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            ID for the account that made the operation request.

            + */ + inline const Aws::String& GetRequesterAccountId() const { return m_requesterAccountId; } + inline bool RequesterAccountIdHasBeenSet() const { return m_requesterAccountIdHasBeenSet; } + template + void SetRequesterAccountId(RequesterAccountIdT&& value) { m_requesterAccountIdHasBeenSet = true; m_requesterAccountId = std::forward(value); } + template + ListSessionsResponseSession& WithRequesterAccountId(RequesterAccountIdT&& value) { SetRequesterAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the protected operation. For example, if the operation is + * PENDING.

            + */ + inline SessionStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(SessionStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline ListSessionsResponseSession& WithStatus(SessionStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code of the session.

            + */ + inline SessionStatusCode GetStatusCode() const { return m_statusCode; } + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + inline void SetStatusCode(SessionStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline ListSessionsResponseSession& WithStatusCode(SessionStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for session.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + ListSessionsResponseSession& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Strategy for executing the protected operation. + * AUTO_COMPLETION_UPON_APPROVAL means the operation is executed + * automatically using the requester's permissions, if approved.

            + */ + inline ActionCompletionStrategy GetActionCompletionStrategy() const { return m_actionCompletionStrategy; } + inline bool ActionCompletionStrategyHasBeenSet() const { return m_actionCompletionStrategyHasBeenSet; } + inline void SetActionCompletionStrategy(ActionCompletionStrategy value) { m_actionCompletionStrategyHasBeenSet = true; m_actionCompletionStrategy = value; } + inline ListSessionsResponseSession& WithActionCompletionStrategy(ActionCompletionStrategy value) { SetActionCompletionStrategy(value); return *this;} + ///@} + private: + + Aws::String m_sessionArn; + bool m_sessionArnHasBeenSet = false; + + Aws::String m_approvalTeamName; + bool m_approvalTeamNameHasBeenSet = false; + + Aws::String m_approvalTeamArn; + bool m_approvalTeamArnHasBeenSet = false; + + Aws::Utils::DateTime m_initiationTime{}; + bool m_initiationTimeHasBeenSet = false; + + Aws::Utils::DateTime m_expirationTime{}; + bool m_expirationTimeHasBeenSet = false; + + Aws::Utils::DateTime m_completionTime{}; + bool m_completionTimeHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_actionName; + bool m_actionNameHasBeenSet = false; + + Aws::String m_protectedResourceArn; + bool m_protectedResourceArnHasBeenSet = false; + + Aws::String m_requesterServicePrincipal; + bool m_requesterServicePrincipalHasBeenSet = false; + + Aws::String m_requesterPrincipalArn; + bool m_requesterPrincipalArnHasBeenSet = false; + + Aws::String m_requesterRegion; + bool m_requesterRegionHasBeenSet = false; + + Aws::String m_requesterAccountId; + bool m_requesterAccountIdHasBeenSet = false; + + SessionStatus m_status{SessionStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + SessionStatusCode m_statusCode{SessionStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + ActionCompletionStrategy m_actionCompletionStrategy{ActionCompletionStrategy::NOT_SET}; + bool m_actionCompletionStrategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsResult.h new file mode 100644 index 00000000000..2b891641953 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListSessionsResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class ListSessionsResult + { + public: + AWS_MPA_API ListSessionsResult() = default; + AWS_MPA_API ListSessionsResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API ListSessionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            If present, indicates that more output is available than is included in the + * current response. Use this value in the NextToken request parameter + * in a next call to the operation to get more output. You can repeat this until + * the NextToken response element returns null.

            + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListSessionsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of ListSessionsResponseSession objects. Contains + * details for the sessions.

            + */ + inline const Aws::Vector& GetSessions() const { return m_sessions; } + template> + void SetSessions(SessionsT&& value) { m_sessionsHasBeenSet = true; m_sessions = std::forward(value); } + template> + ListSessionsResult& WithSessions(SessionsT&& value) { SetSessions(std::forward(value)); return *this;} + template + ListSessionsResult& AddSessions(SessionsT&& value) { m_sessionsHasBeenSet = true; m_sessions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListSessionsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_sessions; + bool m_sessionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..424b2f787af --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListTagsForResourceRequest.h @@ -0,0 +1,54 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public MPARequest + { + public: + AWS_MPA_API ListTagsForResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the resource.

            + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + ListTagsForResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..e47eb21fb5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/ListTagsForResourceResult.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_MPA_API ListTagsForResourceResult() = default; + AWS_MPA_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Tags attached to the resource.

            + */ + inline const Aws::Map& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + ListTagsForResourceResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + ListTagsForResourceResult& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListTagsForResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/MofNApprovalStrategy.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/MofNApprovalStrategy.h new file mode 100644 index 00000000000..948e0d34387 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/MofNApprovalStrategy.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Strategy for how an approval team grants approval.

            See Also:

            + * AWS + * API Reference

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

            Minimum number of approvals (M) required for a total number of approvers + * (N).

            + */ + inline int GetMinApprovalsRequired() const { return m_minApprovalsRequired; } + inline bool MinApprovalsRequiredHasBeenSet() const { return m_minApprovalsRequiredHasBeenSet; } + inline void SetMinApprovalsRequired(int value) { m_minApprovalsRequiredHasBeenSet = true; m_minApprovalsRequired = value; } + inline MofNApprovalStrategy& WithMinApprovalsRequired(int value) { SetMinApprovalsRequired(value); return *this;} + ///@} + private: + + int m_minApprovalsRequired{0}; + bool m_minApprovalsRequiredHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Operator.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Operator.h new file mode 100644 index 00000000000..d915ed2dd9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Operator.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class Operator + { + NOT_SET, + EQ, + NE, + GT, + LT, + GTE, + LTE, + CONTAINS, + NOT_CONTAINS, + BETWEEN + }; + +namespace OperatorMapper +{ +AWS_MPA_API Operator GetOperatorForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForOperator(Operator value); +} // namespace OperatorMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PendingUpdate.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PendingUpdate.h new file mode 100644 index 00000000000..92e0fbf4d2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PendingUpdate.h @@ -0,0 +1,188 @@ +/** + * 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 MPA +{ +namespace Model +{ + + /** + *

            Contains details for the pending updates for an approval team, if + * applicable.

            See Also:

            AWS + * API Reference

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

            Version ID for the team.

            + */ + inline const Aws::String& GetVersionId() const { return m_versionId; } + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + template + void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet = true; m_versionId = std::forward(value); } + template + PendingUpdate& WithVersionId(VersionIdT&& value) { SetVersionId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Description for the team.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + PendingUpdate& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An ApprovalStrategyResponse object. Contains details for how the + * team grants approval.

            + */ + inline const ApprovalStrategyResponse& GetApprovalStrategy() const { return m_approvalStrategy; } + inline bool ApprovalStrategyHasBeenSet() const { return m_approvalStrategyHasBeenSet; } + template + void SetApprovalStrategy(ApprovalStrategyT&& value) { m_approvalStrategyHasBeenSet = true; m_approvalStrategy = std::forward(value); } + template + PendingUpdate& WithApprovalStrategy(ApprovalStrategyT&& value) { SetApprovalStrategy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Total number of approvers in the team.

            + */ + inline int GetNumberOfApprovers() const { return m_numberOfApprovers; } + inline bool NumberOfApproversHasBeenSet() const { return m_numberOfApproversHasBeenSet; } + inline void SetNumberOfApprovers(int value) { m_numberOfApproversHasBeenSet = true; m_numberOfApprovers = value; } + inline PendingUpdate& WithNumberOfApprovers(int value) { SetNumberOfApprovers(value); return *this;} + ///@} + + ///@{ + /** + *

            Status for the team. For more information, see Team + * health in the Multi-party approval User Guide.

            + */ + inline ApprovalTeamStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(ApprovalTeamStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline PendingUpdate& WithStatus(ApprovalTeamStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Status code for the update. For more information, see Team + * health in the Multi-party approval User Guide.

            + */ + inline ApprovalTeamStatusCode GetStatusCode() const { return m_statusCode; } + inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; } + inline void SetStatusCode(ApprovalTeamStatusCode value) { m_statusCodeHasBeenSet = true; m_statusCode = value; } + inline PendingUpdate& WithStatusCode(ApprovalTeamStatusCode value) { SetStatusCode(value); return *this;} + ///@} + + ///@{ + /** + *

            Message describing the status for the team.

            + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + PendingUpdate& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of GetApprovalTeamResponseApprover objects. Contains + * details for the approvers in the team.

            + */ + inline const Aws::Vector& GetApprovers() const { return m_approvers; } + inline bool ApproversHasBeenSet() const { return m_approversHasBeenSet; } + template> + void SetApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers = std::forward(value); } + template> + PendingUpdate& WithApprovers(ApproversT&& value) { SetApprovers(std::forward(value)); return *this;} + template + PendingUpdate& AddApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Timestamp when the update request was initiated.

            + */ + inline const Aws::Utils::DateTime& GetUpdateInitiationTime() const { return m_updateInitiationTime; } + inline bool UpdateInitiationTimeHasBeenSet() const { return m_updateInitiationTimeHasBeenSet; } + template + void SetUpdateInitiationTime(UpdateInitiationTimeT&& value) { m_updateInitiationTimeHasBeenSet = true; m_updateInitiationTime = std::forward(value); } + template + PendingUpdate& WithUpdateInitiationTime(UpdateInitiationTimeT&& value) { SetUpdateInitiationTime(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ApprovalStrategyResponse m_approvalStrategy; + bool m_approvalStrategyHasBeenSet = false; + + int m_numberOfApprovers{0}; + bool m_numberOfApproversHasBeenSet = false; + + ApprovalTeamStatus m_status{ApprovalTeamStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + ApprovalTeamStatusCode m_statusCode{ApprovalTeamStatusCode::NOT_SET}; + bool m_statusCodeHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + + Aws::Vector m_approvers; + bool m_approversHasBeenSet = false; + + Aws::Utils::DateTime m_updateInitiationTime{}; + bool m_updateInitiationTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Policy.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Policy.h new file mode 100644 index 00000000000..ffab05d01ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/Policy.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 MPA +{ +namespace Model +{ + + /** + *

            Contains details for a policy. Policies define what operations a team that + * define the permissions for team resources.

            The protected operation for a + * service integration might require specific permissions. For more information, + * see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS API + * Reference

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

            Amazon Resource Name (ARN) for the policy.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + Policy& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Determines if the specified policy is the default for the team.

            + */ + inline int GetDefaultVersion() const { return m_defaultVersion; } + inline bool DefaultVersionHasBeenSet() const { return m_defaultVersionHasBeenSet; } + inline void SetDefaultVersion(int value) { m_defaultVersionHasBeenSet = true; m_defaultVersion = value; } + inline Policy& WithDefaultVersion(int value) { SetDefaultVersion(value); return *this;} + ///@} + + ///@{ + /** + *

            The type of policy.

            + */ + inline PolicyType GetPolicyType() const { return m_policyType; } + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + inline Policy& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;} + ///@} + + ///@{ + /** + *

            Name of the policy.

            + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + Policy& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + int m_defaultVersion{0}; + bool m_defaultVersionHasBeenSet = false; + + PolicyType m_policyType{PolicyType::NOT_SET}; + bool m_policyTypeHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyReference.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyReference.h new file mode 100644 index 00000000000..6a42519f0e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyReference.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains the Amazon Resource Name (ARN) for a policy. Policies define what + * operations a team that define the permissions for team resources.

            The + * protected operation for a service integration might require specific + * permissions. For more information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the policy.

            + */ + inline const Aws::String& GetPolicyArn() const { return m_policyArn; } + inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } + template + void SetPolicyArn(PolicyArnT&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::forward(value); } + template + PolicyReference& WithPolicyArn(PolicyArnT&& value) { SetPolicyArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_policyArn; + bool m_policyArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyStatus.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyStatus.h new file mode 100644 index 00000000000..e48b5a8fff6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyStatus.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 MPA +{ +namespace Model +{ + enum class PolicyStatus + { + NOT_SET, + ATTACHABLE, + DEPRECATED + }; + +namespace PolicyStatusMapper +{ +AWS_MPA_API PolicyStatus GetPolicyStatusForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForPolicyStatus(PolicyStatus value); +} // namespace PolicyStatusMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyType.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyType.h new file mode 100644 index 00000000000..94e8a5973f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyType.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 MPA +{ +namespace Model +{ + enum class PolicyType + { + NOT_SET, + AWS_MANAGED, + AWS_RAM + }; + +namespace PolicyTypeMapper +{ +AWS_MPA_API PolicyType GetPolicyTypeForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForPolicyType(PolicyType value); +} // namespace PolicyTypeMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyVersion.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyVersion.h new file mode 100644 index 00000000000..89815221011 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyVersion.h @@ -0,0 +1,198 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for the version of a policy. Policies define what operations + * a team that define the permissions for team resources.

            The protected + * operation for a service integration might require specific permissions. For more + * information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + PolicyVersion& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the policy.

            + */ + inline const Aws::String& GetPolicyArn() const { return m_policyArn; } + inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } + template + void SetPolicyArn(PolicyArnT&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::forward(value); } + template + PolicyVersion& WithPolicyArn(PolicyArnT&& value) { SetPolicyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Verison ID

            + */ + inline int GetVersionId() const { return m_versionId; } + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + inline void SetVersionId(int value) { m_versionIdHasBeenSet = true; m_versionId = value; } + inline PolicyVersion& WithVersionId(int value) { SetVersionId(value); return *this;} + ///@} + + ///@{ + /** + *

            The type of policy.

            + */ + inline PolicyType GetPolicyType() const { return m_policyType; } + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + inline PolicyVersion& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;} + ///@} + + ///@{ + /** + *

            Determines if the specified policy is the default for the team.

            + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline PolicyVersion& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

            Name of the policy.

            + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + PolicyVersion& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the policy. For example, if the policy is attachable + * or deprecated.

            + */ + inline PolicyStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(PolicyStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline PolicyVersion& WithStatus(PolicyStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the policy was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + PolicyVersion& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the policy was last updated.

            + */ + inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; } + inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } + template + void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::forward(value); } + template + PolicyVersion& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Document that contains the policy contents.

            + */ + inline const Aws::String& GetDocument() const { return m_document; } + inline bool DocumentHasBeenSet() const { return m_documentHasBeenSet; } + template + void SetDocument(DocumentT&& value) { m_documentHasBeenSet = true; m_document = std::forward(value); } + template + PolicyVersion& WithDocument(DocumentT&& value) { SetDocument(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_policyArn; + bool m_policyArnHasBeenSet = false; + + int m_versionId{0}; + bool m_versionIdHasBeenSet = false; + + PolicyType m_policyType{PolicyType::NOT_SET}; + bool m_policyTypeHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + PolicyStatus m_status{PolicyStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedTime{}; + bool m_lastUpdatedTimeHasBeenSet = false; + + Aws::String m_document; + bool m_documentHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyVersionSummary.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyVersionSummary.h new file mode 100644 index 00000000000..032155832ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/PolicyVersionSummary.h @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            Contains details for the version of a policy. Policies define what operations + * a team that define the permissions for team resources.

            The protected + * operation for a service integration might require specific permissions. For more + * information, see How + * other services work with Multi-party approval in the Multi-party approval + * User Guide.

            See Also:

            AWS + * API Reference

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

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + PolicyVersionSummary& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the policy.

            + */ + inline const Aws::String& GetPolicyArn() const { return m_policyArn; } + inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; } + template + void SetPolicyArn(PolicyArnT&& value) { m_policyArnHasBeenSet = true; m_policyArn = std::forward(value); } + template + PolicyVersionSummary& WithPolicyArn(PolicyArnT&& value) { SetPolicyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Version ID for the policy.

            + */ + inline int GetVersionId() const { return m_versionId; } + inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } + inline void SetVersionId(int value) { m_versionIdHasBeenSet = true; m_versionId = value; } + inline PolicyVersionSummary& WithVersionId(int value) { SetVersionId(value); return *this;} + ///@} + + ///@{ + /** + *

            The type of policy.

            + */ + inline PolicyType GetPolicyType() const { return m_policyType; } + inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } + inline void SetPolicyType(PolicyType value) { m_policyTypeHasBeenSet = true; m_policyType = value; } + inline PolicyVersionSummary& WithPolicyType(PolicyType value) { SetPolicyType(value); return *this;} + ///@} + + ///@{ + /** + *

            Determines if the specified policy is the default for the team.

            + */ + inline bool GetIsDefault() const { return m_isDefault; } + inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } + inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } + inline PolicyVersionSummary& WithIsDefault(bool value) { SetIsDefault(value); return *this;} + ///@} + + ///@{ + /** + *

            Name of the policy

            + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + PolicyVersionSummary& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Status for the policy. For example, if the policy is attachable + * or deprecated.

            + */ + inline PolicyStatus GetStatus() const { return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(PolicyStatus value) { m_statusHasBeenSet = true; m_status = value; } + inline PolicyVersionSummary& WithStatus(PolicyStatus value) { SetStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the policy was created.

            + */ + inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; } + inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } + template + void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward(value); } + template + PolicyVersionSummary& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the policy was last updated.

            + */ + inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; } + inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } + template + void SetLastUpdatedTime(LastUpdatedTimeT&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::forward(value); } + template + PolicyVersionSummary& WithLastUpdatedTime(LastUpdatedTimeT&& value) { SetLastUpdatedTime(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_policyArn; + bool m_policyArnHasBeenSet = false; + + int m_versionId{0}; + bool m_versionIdHasBeenSet = false; + + PolicyType m_policyType{PolicyType::NOT_SET}; + bool m_policyTypeHasBeenSet = false; + + bool m_isDefault{false}; + bool m_isDefaultHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + PolicyStatus m_status{PolicyStatus::NOT_SET}; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_creationTime{}; + bool m_creationTimeHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedTime{}; + bool m_lastUpdatedTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionExecutionStatus.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionExecutionStatus.h new file mode 100644 index 00000000000..d9af9ec9ed7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionExecutionStatus.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class SessionExecutionStatus + { + NOT_SET, + EXECUTED, + FAILED, + PENDING + }; + +namespace SessionExecutionStatusMapper +{ +AWS_MPA_API SessionExecutionStatus GetSessionExecutionStatusForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForSessionExecutionStatus(SessionExecutionStatus value); +} // namespace SessionExecutionStatusMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionResponse.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionResponse.h new file mode 100644 index 00000000000..b77826c89a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionResponse.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class SessionResponse + { + NOT_SET, + APPROVED, + REJECTED, + NO_RESPONSE + }; + +namespace SessionResponseMapper +{ +AWS_MPA_API SessionResponse GetSessionResponseForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForSessionResponse(SessionResponse value); +} // namespace SessionResponseMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionStatus.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionStatus.h new file mode 100644 index 00000000000..7058cb5a106 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionStatus.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 MPA +{ +namespace Model +{ + enum class SessionStatus + { + NOT_SET, + PENDING, + CANCELLED, + APPROVED, + FAILED, + CREATING + }; + +namespace SessionStatusMapper +{ +AWS_MPA_API SessionStatus GetSessionStatusForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForSessionStatus(SessionStatus value); +} // namespace SessionStatusMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionStatusCode.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionStatusCode.h new file mode 100644 index 00000000000..ff4e6173c65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/SessionStatusCode.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + enum class SessionStatusCode + { + NOT_SET, + REJECTED, + EXPIRED, + CONFIGURATION_CHANGED + }; + +namespace SessionStatusCodeMapper +{ +AWS_MPA_API SessionStatusCode GetSessionStatusCodeForName(const Aws::String& name); + +AWS_MPA_API Aws::String GetNameForSessionStatusCode(SessionStatusCode value); +} // namespace SessionStatusCodeMapper +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/StartActiveApprovalTeamDeletionRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/StartActiveApprovalTeamDeletionRequest.h new file mode 100644 index 00000000000..1dd97ca3b66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/StartActiveApprovalTeamDeletionRequest.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class StartActiveApprovalTeamDeletionRequest : public MPARequest + { + public: + AWS_MPA_API StartActiveApprovalTeamDeletionRequest() = default; + + // 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 "StartActiveApprovalTeamDeletion"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Number of days between when the team approves the delete request and when the + * team is deleted.

            + */ + inline int GetPendingWindowDays() const { return m_pendingWindowDays; } + inline bool PendingWindowDaysHasBeenSet() const { return m_pendingWindowDaysHasBeenSet; } + inline void SetPendingWindowDays(int value) { m_pendingWindowDaysHasBeenSet = true; m_pendingWindowDays = value; } + inline StartActiveApprovalTeamDeletionRequest& WithPendingWindowDays(int value) { SetPendingWindowDays(value); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + StartActiveApprovalTeamDeletionRequest& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + private: + + int m_pendingWindowDays{0}; + bool m_pendingWindowDaysHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/StartActiveApprovalTeamDeletionResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/StartActiveApprovalTeamDeletionResult.h new file mode 100644 index 00000000000..921c2858d54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/StartActiveApprovalTeamDeletionResult.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class StartActiveApprovalTeamDeletionResult + { + public: + AWS_MPA_API StartActiveApprovalTeamDeletionResult() = default; + AWS_MPA_API StartActiveApprovalTeamDeletionResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API StartActiveApprovalTeamDeletionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Timestamp when the deletion process is scheduled to complete.

            + */ + inline const Aws::Utils::DateTime& GetDeletionCompletionTime() const { return m_deletionCompletionTime; } + template + void SetDeletionCompletionTime(DeletionCompletionTimeT&& value) { m_deletionCompletionTimeHasBeenSet = true; m_deletionCompletionTime = std::forward(value); } + template + StartActiveApprovalTeamDeletionResult& WithDeletionCompletionTime(DeletionCompletionTimeT&& value) { SetDeletionCompletionTime(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Timestamp when the deletion process was initiated.

            + */ + inline const Aws::Utils::DateTime& GetDeletionStartTime() const { return m_deletionStartTime; } + template + void SetDeletionStartTime(DeletionStartTimeT&& value) { m_deletionStartTimeHasBeenSet = true; m_deletionStartTime = std::forward(value); } + template + StartActiveApprovalTeamDeletionResult& WithDeletionStartTime(DeletionStartTimeT&& value) { SetDeletionStartTime(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + StartActiveApprovalTeamDeletionResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_deletionCompletionTime{}; + bool m_deletionCompletionTimeHasBeenSet = false; + + Aws::Utils::DateTime m_deletionStartTime{}; + bool m_deletionStartTimeHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TagResourceRequest.h new file mode 100644 index 00000000000..6774103e964 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TagResourceRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public MPARequest + { + public: + AWS_MPA_API TagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the resource you want to tag.

            + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + TagResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Tags that you have added to the specified resource.

            + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagResourceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagResourceRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TagResourceResult.h new file mode 100644 index 00000000000..32eb59275ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TagResourceResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_MPA_API TagResourceResult() = default; + AWS_MPA_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + TagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TooManyTagsException.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TooManyTagsException.h new file mode 100644 index 00000000000..2a574e193cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/TooManyTagsException.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + + /** + *

            The request exceeds the maximum number of tags allowed for this resource. + * Remove some tags, and try again.

            See Also:

            AWS + * API Reference

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

            Message for the TooManyTagsException error.

            + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + TooManyTagsException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Name of the resource for the TooManyTagsException error.

            + */ + inline const Aws::String& GetResourceName() const { return m_resourceName; } + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + template + void SetResourceName(ResourceNameT&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::forward(value); } + template + TooManyTagsException& WithResourceName(ResourceNameT&& value) { SetResourceName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UntagResourceRequest.h new file mode 100644 index 00000000000..af65eb520f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UntagResourceRequest.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public MPARequest + { + public: + AWS_MPA_API UntagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the resource you want to untag.

            + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + UntagResourceRequest& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Array of tag key-value pairs that you want to untag.

            + */ + inline const Aws::Vector& GetTagKeys() const { return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + template> + void SetTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::forward(value); } + template> + UntagResourceRequest& WithTagKeys(TagKeysT&& value) { SetTagKeys(std::forward(value)); return *this;} + template + UntagResourceRequest& AddTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UntagResourceResult.h new file mode 100644 index 00000000000..8562231b8e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UntagResourceResult.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_MPA_API UntagResourceResult() = default; + AWS_MPA_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UntagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UpdateApprovalTeamRequest.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UpdateApprovalTeamRequest.h new file mode 100644 index 00000000000..4605fece714 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UpdateApprovalTeamRequest.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + + /** + */ + class UpdateApprovalTeamRequest : public MPARequest + { + public: + AWS_MPA_API UpdateApprovalTeamRequest() = default; + + // 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 "UpdateApprovalTeam"; } + + AWS_MPA_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

            An ApprovalStrategy object. Contains details for how the team + * grants approval.

            + */ + inline const ApprovalStrategy& GetApprovalStrategy() const { return m_approvalStrategy; } + inline bool ApprovalStrategyHasBeenSet() const { return m_approvalStrategyHasBeenSet; } + template + void SetApprovalStrategy(ApprovalStrategyT&& value) { m_approvalStrategyHasBeenSet = true; m_approvalStrategy = std::forward(value); } + template + UpdateApprovalTeamRequest& WithApprovalStrategy(ApprovalStrategyT&& value) { SetApprovalStrategy(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            An array of ApprovalTeamRequestApprover objects. Contains + * details for the approvers in the team.

            + */ + inline const Aws::Vector& GetApprovers() const { return m_approvers; } + inline bool ApproversHasBeenSet() const { return m_approversHasBeenSet; } + template> + void SetApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers = std::forward(value); } + template> + UpdateApprovalTeamRequest& WithApprovers(ApproversT&& value) { SetApprovers(std::forward(value)); return *this;} + template + UpdateApprovalTeamRequest& AddApprovers(ApproversT&& value) { m_approversHasBeenSet = true; m_approvers.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Description for the team.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateApprovalTeamRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Amazon Resource Name (ARN) for the team.

            + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + UpdateApprovalTeamRequest& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + private: + + ApprovalStrategy m_approvalStrategy; + bool m_approvalStrategyHasBeenSet = false; + + Aws::Vector m_approvers; + bool m_approversHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UpdateApprovalTeamResult.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UpdateApprovalTeamResult.h new file mode 100644 index 00000000000..a2233757cb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/model/UpdateApprovalTeamResult.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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace MPA +{ +namespace Model +{ + class UpdateApprovalTeamResult + { + public: + AWS_MPA_API UpdateApprovalTeamResult() = default; + AWS_MPA_API UpdateApprovalTeamResult(const Aws::AmazonWebServiceResult& result); + AWS_MPA_API UpdateApprovalTeamResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            Version ID for the team that was created. When an approval team is updated, + * the version ID changes.

            + */ + inline const Aws::String& GetVersionId() const { return m_versionId; } + template + void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet = true; m_versionId = std::forward(value); } + template + UpdateApprovalTeamResult& WithVersionId(VersionIdT&& value) { SetVersionId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateApprovalTeamResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_versionId; + bool m_versionIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp new file mode 100644 index 00000000000..994b66be06b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp @@ -0,0 +1,874 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::MPA; +using namespace Aws::MPA::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace MPA + { + const char SERVICE_NAME[] = "mpa"; + const char ALLOCATION_TAG[] = "MPAClient"; + } +} +const char* MPAClient::GetServiceName() {return SERVICE_NAME;} +const char* MPAClient::GetAllocationTag() {return ALLOCATION_TAG;} + +MPAClient::MPAClient(const MPA::MPAClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +MPAClient::MPAClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const MPA::MPAClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +MPAClient::MPAClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const MPA::MPAClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + MPAClient::MPAClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +MPAClient::MPAClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +MPAClient::MPAClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +MPAClient::~MPAClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& MPAClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void MPAClient::init(const MPA::MPAClientConfiguration& config) +{ + AWSClient::SetServiceClientName("MPA"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void MPAClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CancelSessionOutcome MPAClient::CancelSession(const CancelSessionRequest& request) const +{ + AWS_OPERATION_GUARD(CancelSession); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CancelSession, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SessionArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CancelSession", "Required field: SessionArn, is not set"); + return CancelSessionOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SessionArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CancelSession, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CancelSession, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CancelSession", + {{ 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( + [&]()-> CancelSessionOutcome { + 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, CancelSession, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sessions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSessionArn()); + return CancelSessionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateApprovalTeamOutcome MPAClient::CreateApprovalTeam(const CreateApprovalTeamRequest& request) const +{ + AWS_OPERATION_GUARD(CreateApprovalTeam); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateApprovalTeam", + {{ 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( + [&]()-> CreateApprovalTeamOutcome { + 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, CreateApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams"); + return CreateApprovalTeamOutcome(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()}}); +} + +CreateIdentitySourceOutcome MPAClient::CreateIdentitySource(const CreateIdentitySourceRequest& request) const +{ + AWS_OPERATION_GUARD(CreateIdentitySource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateIdentitySource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateIdentitySource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateIdentitySource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateIdentitySource", + {{ 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( + [&]()-> CreateIdentitySourceOutcome { + 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, CreateIdentitySource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-sources"); + return CreateIdentitySourceOutcome(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()}}); +} + +DeleteIdentitySourceOutcome MPAClient::DeleteIdentitySource(const DeleteIdentitySourceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteIdentitySource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteIdentitySource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentitySourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteIdentitySource", "Required field: IdentitySourceArn, is not set"); + return DeleteIdentitySourceOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentitySourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteIdentitySource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteIdentitySource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteIdentitySource", + {{ 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( + [&]()-> DeleteIdentitySourceOutcome { + 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, DeleteIdentitySource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-sources/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentitySourceArn()); + return DeleteIdentitySourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteInactiveApprovalTeamVersionOutcome MPAClient::DeleteInactiveApprovalTeamVersion(const DeleteInactiveApprovalTeamVersionRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteInactiveApprovalTeamVersion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteInactiveApprovalTeamVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteInactiveApprovalTeamVersion", "Required field: Arn, is not set"); + return DeleteInactiveApprovalTeamVersionOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false)); + } + if (!request.VersionIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteInactiveApprovalTeamVersion", "Required field: VersionId, is not set"); + return DeleteInactiveApprovalTeamVersionOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VersionId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteInactiveApprovalTeamVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteInactiveApprovalTeamVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteInactiveApprovalTeamVersion", + {{ 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( + [&]()-> DeleteInactiveApprovalTeamVersionOutcome { + 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, DeleteInactiveApprovalTeamVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetArn()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetVersionId()); + return DeleteInactiveApprovalTeamVersionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetApprovalTeamOutcome MPAClient::GetApprovalTeam(const GetApprovalTeamRequest& request) const +{ + AWS_OPERATION_GUARD(GetApprovalTeam); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetApprovalTeam", "Required field: Arn, is not set"); + return GetApprovalTeamOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetApprovalTeam", + {{ 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( + [&]()-> GetApprovalTeamOutcome { + 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, GetApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetArn()); + return GetApprovalTeamOutcome(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()}}); +} + +GetIdentitySourceOutcome MPAClient::GetIdentitySource(const GetIdentitySourceRequest& request) const +{ + AWS_OPERATION_GUARD(GetIdentitySource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetIdentitySource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentitySourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetIdentitySource", "Required field: IdentitySourceArn, is not set"); + return GetIdentitySourceOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentitySourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetIdentitySource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetIdentitySource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetIdentitySource", + {{ 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( + [&]()-> GetIdentitySourceOutcome { + 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, GetIdentitySource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-sources/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentitySourceArn()); + return GetIdentitySourceOutcome(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()}}); +} + +GetPolicyVersionOutcome MPAClient::GetPolicyVersion(const GetPolicyVersionRequest& request) const +{ + AWS_OPERATION_GUARD(GetPolicyVersion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetPolicyVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.PolicyVersionArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetPolicyVersion", "Required field: PolicyVersionArn, is not set"); + return GetPolicyVersionOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PolicyVersionArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetPolicyVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetPolicyVersion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetPolicyVersion", + {{ 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( + [&]()-> GetPolicyVersionOutcome { + 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, GetPolicyVersion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/policy-versions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetPolicyVersionArn()); + return GetPolicyVersionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetResourcePolicyOutcome MPAClient::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()) + ".GetResourcePolicy", + {{ 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()); + endpointResolutionOutcome.GetResult().AddPathSegments("/GetResourcePolicy"); + return GetResourcePolicyOutcome(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()}}); +} + +GetSessionOutcome MPAClient::GetSession(const GetSessionRequest& request) const +{ + AWS_OPERATION_GUARD(GetSession); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSession, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.SessionArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSession", "Required field: SessionArn, is not set"); + return GetSessionOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SessionArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSession, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSession, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSession", + {{ 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( + [&]()-> GetSessionOutcome { + 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, GetSession, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sessions/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetSessionArn()); + return GetSessionOutcome(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()}}); +} + +ListApprovalTeamsOutcome MPAClient::ListApprovalTeams(const ListApprovalTeamsRequest& request) const +{ + AWS_OPERATION_GUARD(ListApprovalTeams); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListApprovalTeams, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListApprovalTeams, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListApprovalTeams, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListApprovalTeams", + {{ 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( + [&]()-> ListApprovalTeamsOutcome { + 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, ListApprovalTeams, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams/"); + ss.str("?List"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListApprovalTeamsOutcome(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()}}); +} + +ListIdentitySourcesOutcome MPAClient::ListIdentitySources(const ListIdentitySourcesRequest& request) const +{ + AWS_OPERATION_GUARD(ListIdentitySources); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListIdentitySources, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListIdentitySources, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListIdentitySources, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListIdentitySources", + {{ 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( + [&]()-> ListIdentitySourcesOutcome { + 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, ListIdentitySources, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/identity-sources/"); + ss.str("?List"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListIdentitySourcesOutcome(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()}}); +} + +ListPoliciesOutcome MPAClient::ListPolicies(const ListPoliciesRequest& request) const +{ + AWS_OPERATION_GUARD(ListPolicies); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListPolicies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListPolicies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListPolicies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListPolicies", + {{ 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( + [&]()-> ListPoliciesOutcome { + 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, ListPolicies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/policies/"); + ss.str("?List"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListPoliciesOutcome(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()}}); +} + +ListPolicyVersionsOutcome MPAClient::ListPolicyVersions(const ListPolicyVersionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListPolicyVersions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListPolicyVersions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.PolicyArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListPolicyVersions", "Required field: PolicyArn, is not set"); + return ListPolicyVersionsOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PolicyArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListPolicyVersions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListPolicyVersions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListPolicyVersions", + {{ 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( + [&]()-> ListPolicyVersionsOutcome { + 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, ListPolicyVersions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/policies/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetPolicyArn()); + endpointResolutionOutcome.GetResult().AddPathSegments("/"); + ss.str("?List"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListPolicyVersionsOutcome(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()}}); +} + +ListResourcePoliciesOutcome MPAClient::ListResourcePolicies(const ListResourcePoliciesRequest& request) const +{ + AWS_OPERATION_GUARD(ListResourcePolicies); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListResourcePolicies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListResourcePolicies", "Required field: ResourceArn, is not set"); + return ListResourcePoliciesOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListResourcePolicies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListResourcePolicies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListResourcePolicies", + {{ 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( + [&]()-> ListResourcePoliciesOutcome { + 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, ListResourcePolicies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/resource-policies/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + endpointResolutionOutcome.GetResult().AddPathSegments("/"); + ss.str("?List"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListResourcePoliciesOutcome(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()}}); +} + +ListSessionsOutcome MPAClient::ListSessions(const ListSessionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListSessions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListSessions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApprovalTeamArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListSessions", "Required field: ApprovalTeamArn, is not set"); + return ListSessionsOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApprovalTeamArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListSessions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListSessions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListSessions", + {{ 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( + [&]()-> ListSessionsOutcome { + 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, ListSessions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApprovalTeamArn()); + endpointResolutionOutcome.GetResult().AddPathSegments("/sessions/"); + ss.str("?List"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return ListSessionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome MPAClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StartActiveApprovalTeamDeletionOutcome MPAClient::StartActiveApprovalTeamDeletion(const StartActiveApprovalTeamDeletionRequest& request) const +{ + AWS_OPERATION_GUARD(StartActiveApprovalTeamDeletion); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartActiveApprovalTeamDeletion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("StartActiveApprovalTeamDeletion", "Required field: Arn, is not set"); + return StartActiveApprovalTeamDeletionOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartActiveApprovalTeamDeletion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartActiveApprovalTeamDeletion, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartActiveApprovalTeamDeletion", + {{ 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( + [&]()-> StartActiveApprovalTeamDeletionOutcome { + 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, StartActiveApprovalTeamDeletion, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetArn()); + ss.str("?Delete"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + return StartActiveApprovalTeamDeletionOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome MPAClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); + return TagResourceOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome MPAClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); + return UntagResourceOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetResourceArn()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateApprovalTeamOutcome MPAClient::UpdateApprovalTeam(const UpdateApprovalTeamRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateApprovalTeam); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateApprovalTeam", "Required field: Arn, is not set"); + return UpdateApprovalTeamOutcome(Aws::Client::AWSError(MPAErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateApprovalTeam, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateApprovalTeam", + {{ 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( + [&]()-> UpdateApprovalTeamOutcome { + 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, UpdateApprovalTeam, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/approval-teams/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetArn()); + return UpdateApprovalTeamOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp new file mode 100644 index 00000000000..a908e1b9a15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace MPA +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointRules.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointRules.cpp new file mode 100644 index 00000000000..7c41cac3135 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointRules.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace MPA +{ +const size_t MPAEndpointRules::RulesBlobStrLen = 1618; +const size_t MPAEndpointRules::RulesBlobSize = 1619; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','p','a','-','f','i','p','s','.','{','R', +'e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d', +'u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','m','p','a','.','{','R','e','g','i','o','n','}', +'.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a', +'c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s','s','i','n', +'g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* MPAEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAErrorMarshaller.cpp new file mode 100644 index 00000000000..883a8b74bf1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::MPA; + +AWSError MPAErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = MPAErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAErrors.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAErrors.cpp new file mode 100644 index 00000000000..2a59588140c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAErrors.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::MPA; +using namespace Aws::MPA::Model; + +namespace Aws +{ +namespace MPA +{ +template<> AWS_MPA_API TooManyTagsException MPAError::GetModeledError() +{ + assert(this->GetErrorType() == MPAErrors::TOO_MANY_TAGS); + return TooManyTagsException(this->GetJsonPayload().View()); +} + +namespace MPAErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); +static const int INVALID_PARAMETER_HASH = HashingUtils::HashString("InvalidParameterException"); +static const int TOO_MANY_TAGS_HASH = HashingUtils::HashString("TooManyTagsException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(MPAErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(MPAErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(MPAErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + else if (hashCode == INVALID_PARAMETER_HASH) + { + return AWSError(static_cast(MPAErrors::INVALID_PARAMETER), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == TOO_MANY_TAGS_HASH) + { + return AWSError(static_cast(MPAErrors::TOO_MANY_TAGS), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace MPAErrorMapper +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPARequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPARequest.cpp new file mode 100644 index 00000000000..81840f9edf3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPARequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace MPA +{ +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ActionCompletionStrategy.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ActionCompletionStrategy.cpp new file mode 100644 index 00000000000..4eaec90f687 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ActionCompletionStrategy.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace ActionCompletionStrategyMapper + { + + static const int AUTO_COMPLETION_UPON_APPROVAL_HASH = HashingUtils::HashString("AUTO_COMPLETION_UPON_APPROVAL"); + + + ActionCompletionStrategy GetActionCompletionStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AUTO_COMPLETION_UPON_APPROVAL_HASH) + { + return ActionCompletionStrategy::AUTO_COMPLETION_UPON_APPROVAL; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ActionCompletionStrategy::NOT_SET; + } + + Aws::String GetNameForActionCompletionStrategy(ActionCompletionStrategy enumValue) + { + switch(enumValue) + { + case ActionCompletionStrategy::NOT_SET: + return {}; + case ActionCompletionStrategy::AUTO_COMPLETION_UPON_APPROVAL: + return "AUTO_COMPLETION_UPON_APPROVAL"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ActionCompletionStrategyMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalStrategy.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalStrategy.cpp new file mode 100644 index 00000000000..b101c42a228 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalStrategy.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +ApprovalStrategy::ApprovalStrategy(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApprovalStrategy& ApprovalStrategy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MofN")) + { + m_mofN = jsonValue.GetObject("MofN"); + m_mofNHasBeenSet = true; + } + return *this; +} + +JsonValue ApprovalStrategy::Jsonize() const +{ + JsonValue payload; + + if(m_mofNHasBeenSet) + { + payload.WithObject("MofN", m_mofN.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalStrategyResponse.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalStrategyResponse.cpp new file mode 100644 index 00000000000..9b59d5658ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalStrategyResponse.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +ApprovalStrategyResponse::ApprovalStrategyResponse(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApprovalStrategyResponse& ApprovalStrategyResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MofN")) + { + m_mofN = jsonValue.GetObject("MofN"); + m_mofNHasBeenSet = true; + } + return *this; +} + +JsonValue ApprovalStrategyResponse::Jsonize() const +{ + JsonValue payload; + + if(m_mofNHasBeenSet) + { + payload.WithObject("MofN", m_mofN.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamRequestApprover.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamRequestApprover.cpp new file mode 100644 index 00000000000..fb8eb52e15a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamRequestApprover.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +ApprovalTeamRequestApprover::ApprovalTeamRequestApprover(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApprovalTeamRequestApprover& ApprovalTeamRequestApprover::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PrimaryIdentityId")) + { + m_primaryIdentityId = jsonValue.GetString("PrimaryIdentityId"); + m_primaryIdentityIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PrimaryIdentitySourceArn")) + { + m_primaryIdentitySourceArn = jsonValue.GetString("PrimaryIdentitySourceArn"); + m_primaryIdentitySourceArnHasBeenSet = true; + } + return *this; +} + +JsonValue ApprovalTeamRequestApprover::Jsonize() const +{ + JsonValue payload; + + if(m_primaryIdentityIdHasBeenSet) + { + payload.WithString("PrimaryIdentityId", m_primaryIdentityId); + + } + + if(m_primaryIdentitySourceArnHasBeenSet) + { + payload.WithString("PrimaryIdentitySourceArn", m_primaryIdentitySourceArn); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamStatus.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamStatus.cpp new file mode 100644 index 00000000000..1dd2b39952c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace ApprovalTeamStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int INACTIVE_HASH = HashingUtils::HashString("INACTIVE"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + + + ApprovalTeamStatus GetApprovalTeamStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return ApprovalTeamStatus::ACTIVE; + } + else if (hashCode == INACTIVE_HASH) + { + return ApprovalTeamStatus::INACTIVE; + } + else if (hashCode == DELETING_HASH) + { + return ApprovalTeamStatus::DELETING; + } + else if (hashCode == PENDING_HASH) + { + return ApprovalTeamStatus::PENDING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ApprovalTeamStatus::NOT_SET; + } + + Aws::String GetNameForApprovalTeamStatus(ApprovalTeamStatus enumValue) + { + switch(enumValue) + { + case ApprovalTeamStatus::NOT_SET: + return {}; + case ApprovalTeamStatus::ACTIVE: + return "ACTIVE"; + case ApprovalTeamStatus::INACTIVE: + return "INACTIVE"; + case ApprovalTeamStatus::DELETING: + return "DELETING"; + case ApprovalTeamStatus::PENDING: + return "PENDING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ApprovalTeamStatusMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamStatusCode.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamStatusCode.cpp new file mode 100644 index 00000000000..f738f098a91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ApprovalTeamStatusCode.cpp @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace ApprovalTeamStatusCodeMapper + { + + static const int VALIDATING_HASH = HashingUtils::HashString("VALIDATING"); + static const int PENDING_ACTIVATION_HASH = HashingUtils::HashString("PENDING_ACTIVATION"); + static const int FAILED_VALIDATION_HASH = HashingUtils::HashString("FAILED_VALIDATION"); + static const int FAILED_ACTIVATION_HASH = HashingUtils::HashString("FAILED_ACTIVATION"); + static const int UPDATE_PENDING_APPROVAL_HASH = HashingUtils::HashString("UPDATE_PENDING_APPROVAL"); + static const int UPDATE_PENDING_ACTIVATION_HASH = HashingUtils::HashString("UPDATE_PENDING_ACTIVATION"); + static const int UPDATE_FAILED_APPROVAL_HASH = HashingUtils::HashString("UPDATE_FAILED_APPROVAL"); + static const int UPDATE_FAILED_ACTIVATION_HASH = HashingUtils::HashString("UPDATE_FAILED_ACTIVATION"); + static const int UPDATE_FAILED_VALIDATION_HASH = HashingUtils::HashString("UPDATE_FAILED_VALIDATION"); + static const int DELETE_PENDING_APPROVAL_HASH = HashingUtils::HashString("DELETE_PENDING_APPROVAL"); + static const int DELETE_FAILED_APPROVAL_HASH = HashingUtils::HashString("DELETE_FAILED_APPROVAL"); + static const int DELETE_FAILED_VALIDATION_HASH = HashingUtils::HashString("DELETE_FAILED_VALIDATION"); + + + ApprovalTeamStatusCode GetApprovalTeamStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == VALIDATING_HASH) + { + return ApprovalTeamStatusCode::VALIDATING; + } + else if (hashCode == PENDING_ACTIVATION_HASH) + { + return ApprovalTeamStatusCode::PENDING_ACTIVATION; + } + else if (hashCode == FAILED_VALIDATION_HASH) + { + return ApprovalTeamStatusCode::FAILED_VALIDATION; + } + else if (hashCode == FAILED_ACTIVATION_HASH) + { + return ApprovalTeamStatusCode::FAILED_ACTIVATION; + } + else if (hashCode == UPDATE_PENDING_APPROVAL_HASH) + { + return ApprovalTeamStatusCode::UPDATE_PENDING_APPROVAL; + } + else if (hashCode == UPDATE_PENDING_ACTIVATION_HASH) + { + return ApprovalTeamStatusCode::UPDATE_PENDING_ACTIVATION; + } + else if (hashCode == UPDATE_FAILED_APPROVAL_HASH) + { + return ApprovalTeamStatusCode::UPDATE_FAILED_APPROVAL; + } + else if (hashCode == UPDATE_FAILED_ACTIVATION_HASH) + { + return ApprovalTeamStatusCode::UPDATE_FAILED_ACTIVATION; + } + else if (hashCode == UPDATE_FAILED_VALIDATION_HASH) + { + return ApprovalTeamStatusCode::UPDATE_FAILED_VALIDATION; + } + else if (hashCode == DELETE_PENDING_APPROVAL_HASH) + { + return ApprovalTeamStatusCode::DELETE_PENDING_APPROVAL; + } + else if (hashCode == DELETE_FAILED_APPROVAL_HASH) + { + return ApprovalTeamStatusCode::DELETE_FAILED_APPROVAL; + } + else if (hashCode == DELETE_FAILED_VALIDATION_HASH) + { + return ApprovalTeamStatusCode::DELETE_FAILED_VALIDATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ApprovalTeamStatusCode::NOT_SET; + } + + Aws::String GetNameForApprovalTeamStatusCode(ApprovalTeamStatusCode enumValue) + { + switch(enumValue) + { + case ApprovalTeamStatusCode::NOT_SET: + return {}; + case ApprovalTeamStatusCode::VALIDATING: + return "VALIDATING"; + case ApprovalTeamStatusCode::PENDING_ACTIVATION: + return "PENDING_ACTIVATION"; + case ApprovalTeamStatusCode::FAILED_VALIDATION: + return "FAILED_VALIDATION"; + case ApprovalTeamStatusCode::FAILED_ACTIVATION: + return "FAILED_ACTIVATION"; + case ApprovalTeamStatusCode::UPDATE_PENDING_APPROVAL: + return "UPDATE_PENDING_APPROVAL"; + case ApprovalTeamStatusCode::UPDATE_PENDING_ACTIVATION: + return "UPDATE_PENDING_ACTIVATION"; + case ApprovalTeamStatusCode::UPDATE_FAILED_APPROVAL: + return "UPDATE_FAILED_APPROVAL"; + case ApprovalTeamStatusCode::UPDATE_FAILED_ACTIVATION: + return "UPDATE_FAILED_ACTIVATION"; + case ApprovalTeamStatusCode::UPDATE_FAILED_VALIDATION: + return "UPDATE_FAILED_VALIDATION"; + case ApprovalTeamStatusCode::DELETE_PENDING_APPROVAL: + return "DELETE_PENDING_APPROVAL"; + case ApprovalTeamStatusCode::DELETE_FAILED_APPROVAL: + return "DELETE_FAILED_APPROVAL"; + case ApprovalTeamStatusCode::DELETE_FAILED_VALIDATION: + return "DELETE_FAILED_VALIDATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ApprovalTeamStatusCodeMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/CancelSessionRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/CancelSessionRequest.cpp new file mode 100644 index 00000000000..34916cfacf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/CancelSessionRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CancelSessionRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/CancelSessionResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/CancelSessionResult.cpp new file mode 100644 index 00000000000..176ba5e2d0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/CancelSessionResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CancelSessionResult::CancelSessionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CancelSessionResult& CancelSessionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/CreateApprovalTeamRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/CreateApprovalTeamRequest.cpp new file mode 100644 index 00000000000..78aabc1df31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/CreateApprovalTeamRequest.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateApprovalTeamRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_approvalStrategyHasBeenSet) + { + payload.WithObject("ApprovalStrategy", m_approvalStrategy.Jsonize()); + + } + + if(m_approversHasBeenSet) + { + Aws::Utils::Array approversJsonList(m_approvers.size()); + for(unsigned approversIndex = 0; approversIndex < approversJsonList.GetLength(); ++approversIndex) + { + approversJsonList[approversIndex].AsObject(m_approvers[approversIndex].Jsonize()); + } + payload.WithArray("Approvers", std::move(approversJsonList)); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_policiesHasBeenSet) + { + Aws::Utils::Array policiesJsonList(m_policies.size()); + for(unsigned policiesIndex = 0; policiesIndex < policiesJsonList.GetLength(); ++policiesIndex) + { + policiesJsonList[policiesIndex].AsObject(m_policies[policiesIndex].Jsonize()); + } + payload.WithArray("Policies", std::move(policiesJsonList)); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/CreateApprovalTeamResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/CreateApprovalTeamResult.cpp new file mode 100644 index 00000000000..a4081abb4ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/CreateApprovalTeamResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateApprovalTeamResult::CreateApprovalTeamResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateApprovalTeamResult& CreateApprovalTeamResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetString("VersionId"); + m_versionIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/CreateIdentitySourceRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/CreateIdentitySourceRequest.cpp new file mode 100644 index 00000000000..71ee7f1fd0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/CreateIdentitySourceRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateIdentitySourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_identitySourceParametersHasBeenSet) + { + payload.WithObject("IdentitySourceParameters", m_identitySourceParameters.Jsonize()); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/CreateIdentitySourceResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/CreateIdentitySourceResult.cpp new file mode 100644 index 00000000000..3893a11ec4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/CreateIdentitySourceResult.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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateIdentitySourceResult::CreateIdentitySourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateIdentitySourceResult& CreateIdentitySourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("IdentitySourceType")) + { + m_identitySourceType = IdentitySourceTypeMapper::GetIdentitySourceTypeForName(jsonValue.GetString("IdentitySourceType")); + m_identitySourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySourceArn")) + { + m_identitySourceArn = jsonValue.GetString("IdentitySourceArn"); + m_identitySourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/DeleteIdentitySourceRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/DeleteIdentitySourceRequest.cpp new file mode 100644 index 00000000000..de7e9bbdc5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/DeleteIdentitySourceRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteIdentitySourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/DeleteInactiveApprovalTeamVersionRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/DeleteInactiveApprovalTeamVersionRequest.cpp new file mode 100644 index 00000000000..6fce6f72a6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/DeleteInactiveApprovalTeamVersionRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteInactiveApprovalTeamVersionRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/DeleteInactiveApprovalTeamVersionResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/DeleteInactiveApprovalTeamVersionResult.cpp new file mode 100644 index 00000000000..695d4968daf --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/DeleteInactiveApprovalTeamVersionResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteInactiveApprovalTeamVersionResult::DeleteInactiveApprovalTeamVersionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteInactiveApprovalTeamVersionResult& DeleteInactiveApprovalTeamVersionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/Filter.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/Filter.cpp new file mode 100644 index 00000000000..432cc3ce8e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/Filter.cpp @@ -0,0 +1,71 @@ +/** + * 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 MPA +{ +namespace Model +{ + +Filter::Filter(JsonView jsonValue) +{ + *this = jsonValue; +} + +Filter& Filter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = FilterFieldMapper::GetFilterFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Operator")) + { + m_operator = OperatorMapper::GetOperatorForName(jsonValue.GetString("Operator")); + m_operatorHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue Filter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", FilterFieldMapper::GetNameForFilterField(m_fieldName)); + } + + if(m_operatorHasBeenSet) + { + payload.WithString("Operator", OperatorMapper::GetNameForOperator(m_operator)); + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/FilterField.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/FilterField.cpp new file mode 100644 index 00000000000..99805970067 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/FilterField.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace FilterFieldMapper + { + + static const int ActionName_HASH = HashingUtils::HashString("ActionName"); + static const int ApprovalTeamName_HASH = HashingUtils::HashString("ApprovalTeamName"); + static const int VotingTime_HASH = HashingUtils::HashString("VotingTime"); + static const int Vote_HASH = HashingUtils::HashString("Vote"); + static const int SessionStatus_HASH = HashingUtils::HashString("SessionStatus"); + static const int InitiationTime_HASH = HashingUtils::HashString("InitiationTime"); + + + FilterField GetFilterFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ActionName_HASH) + { + return FilterField::ActionName; + } + else if (hashCode == ApprovalTeamName_HASH) + { + return FilterField::ApprovalTeamName; + } + else if (hashCode == VotingTime_HASH) + { + return FilterField::VotingTime; + } + else if (hashCode == Vote_HASH) + { + return FilterField::Vote; + } + else if (hashCode == SessionStatus_HASH) + { + return FilterField::SessionStatus; + } + else if (hashCode == InitiationTime_HASH) + { + return FilterField::InitiationTime; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return FilterField::NOT_SET; + } + + Aws::String GetNameForFilterField(FilterField enumValue) + { + switch(enumValue) + { + case FilterField::NOT_SET: + return {}; + case FilterField::ActionName: + return "ActionName"; + case FilterField::ApprovalTeamName: + return "ApprovalTeamName"; + case FilterField::VotingTime: + return "VotingTime"; + case FilterField::Vote: + return "Vote"; + case FilterField::SessionStatus: + return "SessionStatus"; + case FilterField::InitiationTime: + return "InitiationTime"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace FilterFieldMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamRequest.cpp new file mode 100644 index 00000000000..2edb16c5a6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetApprovalTeamRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamResponseApprover.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamResponseApprover.cpp new file mode 100644 index 00000000000..0ebf3a3dcff --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamResponseApprover.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +GetApprovalTeamResponseApprover::GetApprovalTeamResponseApprover(JsonView jsonValue) +{ + *this = jsonValue; +} + +GetApprovalTeamResponseApprover& GetApprovalTeamResponseApprover::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ApproverId")) + { + m_approverId = jsonValue.GetString("ApproverId"); + m_approverIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResponseTime")) + { + m_responseTime = jsonValue.GetString("ResponseTime"); + m_responseTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("PrimaryIdentityId")) + { + m_primaryIdentityId = jsonValue.GetString("PrimaryIdentityId"); + m_primaryIdentityIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PrimaryIdentitySourceArn")) + { + m_primaryIdentitySourceArn = jsonValue.GetString("PrimaryIdentitySourceArn"); + m_primaryIdentitySourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("PrimaryIdentityStatus")) + { + m_primaryIdentityStatus = IdentityStatusMapper::GetIdentityStatusForName(jsonValue.GetString("PrimaryIdentityStatus")); + m_primaryIdentityStatusHasBeenSet = true; + } + return *this; +} + +JsonValue GetApprovalTeamResponseApprover::Jsonize() const +{ + JsonValue payload; + + if(m_approverIdHasBeenSet) + { + payload.WithString("ApproverId", m_approverId); + + } + + if(m_responseTimeHasBeenSet) + { + payload.WithString("ResponseTime", m_responseTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_primaryIdentityIdHasBeenSet) + { + payload.WithString("PrimaryIdentityId", m_primaryIdentityId); + + } + + if(m_primaryIdentitySourceArnHasBeenSet) + { + payload.WithString("PrimaryIdentitySourceArn", m_primaryIdentitySourceArn); + + } + + if(m_primaryIdentityStatusHasBeenSet) + { + payload.WithString("PrimaryIdentityStatus", IdentityStatusMapper::GetNameForIdentityStatus(m_primaryIdentityStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamResult.cpp new file mode 100644 index 00000000000..1f609b19670 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetApprovalTeamResult.cpp @@ -0,0 +1,122 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetApprovalTeamResult::GetApprovalTeamResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetApprovalTeamResult& GetApprovalTeamResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalStrategy")) + { + m_approvalStrategy = jsonValue.GetObject("ApprovalStrategy"); + m_approvalStrategyHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberOfApprovers")) + { + m_numberOfApprovers = jsonValue.GetInteger("NumberOfApprovers"); + m_numberOfApproversHasBeenSet = true; + } + if(jsonValue.ValueExists("Approvers")) + { + Aws::Utils::Array approversJsonList = jsonValue.GetArray("Approvers"); + for(unsigned approversIndex = 0; approversIndex < approversJsonList.GetLength(); ++approversIndex) + { + m_approvers.push_back(approversJsonList[approversIndex].AsObject()); + } + m_approversHasBeenSet = true; + } + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ApprovalTeamStatusMapper::GetApprovalTeamStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = ApprovalTeamStatusCodeMapper::GetApprovalTeamStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdateSessionArn")) + { + m_updateSessionArn = jsonValue.GetString("UpdateSessionArn"); + m_updateSessionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetString("VersionId"); + m_versionIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Policies")) + { + Aws::Utils::Array policiesJsonList = jsonValue.GetArray("Policies"); + for(unsigned policiesIndex = 0; policiesIndex < policiesJsonList.GetLength(); ++policiesIndex) + { + m_policies.push_back(policiesJsonList[policiesIndex].AsObject()); + } + m_policiesHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdateTime")) + { + m_lastUpdateTime = jsonValue.GetString("LastUpdateTime"); + m_lastUpdateTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("PendingUpdate")) + { + m_pendingUpdate = jsonValue.GetObject("PendingUpdate"); + m_pendingUpdateHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetIdentitySourceRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetIdentitySourceRequest.cpp new file mode 100644 index 00000000000..5c9f7304860 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetIdentitySourceRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetIdentitySourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetIdentitySourceResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetIdentitySourceResult.cpp new file mode 100644 index 00000000000..5de5b909e79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetIdentitySourceResult.cpp @@ -0,0 +1,74 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetIdentitySourceResult::GetIdentitySourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetIdentitySourceResult& GetIdentitySourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("IdentitySourceType")) + { + m_identitySourceType = IdentitySourceTypeMapper::GetIdentitySourceTypeForName(jsonValue.GetString("IdentitySourceType")); + m_identitySourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySourceParameters")) + { + m_identitySourceParameters = jsonValue.GetObject("IdentitySourceParameters"); + m_identitySourceParametersHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySourceArn")) + { + m_identitySourceArn = jsonValue.GetString("IdentitySourceArn"); + m_identitySourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = IdentitySourceStatusMapper::GetIdentitySourceStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = IdentitySourceStatusCodeMapper::GetIdentitySourceStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetPolicyVersionRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetPolicyVersionRequest.cpp new file mode 100644 index 00000000000..b3b5161e144 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetPolicyVersionRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetPolicyVersionRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetPolicyVersionResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetPolicyVersionResult.cpp new file mode 100644 index 00000000000..7e1d3700609 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetPolicyVersionResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetPolicyVersionResult::GetPolicyVersionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetPolicyVersionResult& GetPolicyVersionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("PolicyVersion")) + { + m_policyVersion = jsonValue.GetObject("PolicyVersion"); + m_policyVersionHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetResourcePolicyRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetResourcePolicyRequest.cpp new file mode 100644 index 00000000000..fc0bb970a55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetResourcePolicyRequest.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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetResourcePolicyRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_policyNameHasBeenSet) + { + payload.WithString("PolicyName", m_policyName); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("PolicyType", PolicyTypeMapper::GetNameForPolicyType(m_policyType)); + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetResourcePolicyResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetResourcePolicyResult.cpp new file mode 100644 index 00000000000..4c4126943be --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetResourcePolicyResult.cpp @@ -0,0 +1,64 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourcePolicyResult::GetResourcePolicyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourcePolicyResult& GetResourcePolicyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResourceArn")) + { + m_resourceArn = jsonValue.GetString("ResourceArn"); + m_resourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyType")) + { + m_policyType = PolicyTypeMapper::GetPolicyTypeForName(jsonValue.GetString("PolicyType")); + m_policyTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyVersionArn")) + { + m_policyVersionArn = jsonValue.GetString("PolicyVersionArn"); + m_policyVersionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyName")) + { + m_policyName = jsonValue.GetString("PolicyName"); + m_policyNameHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyDocument")) + { + m_policyDocument = jsonValue.GetString("PolicyDocument"); + m_policyDocumentHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionRequest.cpp new file mode 100644 index 00000000000..2f3a7f513c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetSessionRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionResponseApproverResponse.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionResponseApproverResponse.cpp new file mode 100644 index 00000000000..b4d76384b02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionResponseApproverResponse.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +GetSessionResponseApproverResponse::GetSessionResponseApproverResponse(JsonView jsonValue) +{ + *this = jsonValue; +} + +GetSessionResponseApproverResponse& GetSessionResponseApproverResponse::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ApproverId")) + { + m_approverId = jsonValue.GetString("ApproverId"); + m_approverIdHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySourceArn")) + { + m_identitySourceArn = jsonValue.GetString("IdentitySourceArn"); + m_identitySourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentityId")) + { + m_identityId = jsonValue.GetString("IdentityId"); + m_identityIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Response")) + { + m_response = SessionResponseMapper::GetSessionResponseForName(jsonValue.GetString("Response")); + m_responseHasBeenSet = true; + } + if(jsonValue.ValueExists("ResponseTime")) + { + m_responseTime = jsonValue.GetString("ResponseTime"); + m_responseTimeHasBeenSet = true; + } + return *this; +} + +JsonValue GetSessionResponseApproverResponse::Jsonize() const +{ + JsonValue payload; + + if(m_approverIdHasBeenSet) + { + payload.WithString("ApproverId", m_approverId); + + } + + if(m_identitySourceArnHasBeenSet) + { + payload.WithString("IdentitySourceArn", m_identitySourceArn); + + } + + if(m_identityIdHasBeenSet) + { + payload.WithString("IdentityId", m_identityId); + + } + + if(m_responseHasBeenSet) + { + payload.WithString("Response", SessionResponseMapper::GetNameForSessionResponse(m_response)); + } + + if(m_responseTimeHasBeenSet) + { + payload.WithString("ResponseTime", m_responseTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionResult.cpp new file mode 100644 index 00000000000..78c0512452b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/GetSessionResult.cpp @@ -0,0 +1,162 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetSessionResult::GetSessionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetSessionResult& GetSessionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SessionArn")) + { + m_sessionArn = jsonValue.GetString("SessionArn"); + m_sessionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalTeamArn")) + { + m_approvalTeamArn = jsonValue.GetString("ApprovalTeamArn"); + m_approvalTeamArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalTeamName")) + { + m_approvalTeamName = jsonValue.GetString("ApprovalTeamName"); + m_approvalTeamNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ProtectedResourceArn")) + { + m_protectedResourceArn = jsonValue.GetString("ProtectedResourceArn"); + m_protectedResourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalStrategy")) + { + m_approvalStrategy = jsonValue.GetObject("ApprovalStrategy"); + m_approvalStrategyHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberOfApprovers")) + { + m_numberOfApprovers = jsonValue.GetInteger("NumberOfApprovers"); + m_numberOfApproversHasBeenSet = true; + } + if(jsonValue.ValueExists("InitiationTime")) + { + m_initiationTime = jsonValue.GetString("InitiationTime"); + m_initiationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("ExpirationTime")) + { + m_expirationTime = jsonValue.GetString("ExpirationTime"); + m_expirationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("CompletionTime")) + { + m_completionTime = jsonValue.GetString("CompletionTime"); + m_completionTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Metadata")) + { + Aws::Map metadataJsonMap = jsonValue.GetObject("Metadata").GetAllObjects(); + for(auto& metadataItem : metadataJsonMap) + { + m_metadata[metadataItem.first] = metadataItem.second.AsString(); + } + m_metadataHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = SessionStatusMapper::GetSessionStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = SessionStatusCodeMapper::GetSessionStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + if(jsonValue.ValueExists("ExecutionStatus")) + { + m_executionStatus = SessionExecutionStatusMapper::GetSessionExecutionStatusForName(jsonValue.GetString("ExecutionStatus")); + m_executionStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("ActionName")) + { + m_actionName = jsonValue.GetString("ActionName"); + m_actionNameHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterServicePrincipal")) + { + m_requesterServicePrincipal = jsonValue.GetString("RequesterServicePrincipal"); + m_requesterServicePrincipalHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterPrincipalArn")) + { + m_requesterPrincipalArn = jsonValue.GetString("RequesterPrincipalArn"); + m_requesterPrincipalArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterAccountId")) + { + m_requesterAccountId = jsonValue.GetString("RequesterAccountId"); + m_requesterAccountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterRegion")) + { + m_requesterRegion = jsonValue.GetString("RequesterRegion"); + m_requesterRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterComment")) + { + m_requesterComment = jsonValue.GetString("RequesterComment"); + m_requesterCommentHasBeenSet = true; + } + if(jsonValue.ValueExists("ActionCompletionStrategy")) + { + m_actionCompletionStrategy = ActionCompletionStrategyMapper::GetActionCompletionStrategyForName(jsonValue.GetString("ActionCompletionStrategy")); + m_actionCompletionStrategyHasBeenSet = true; + } + if(jsonValue.ValueExists("ApproverResponses")) + { + Aws::Utils::Array approverResponsesJsonList = jsonValue.GetArray("ApproverResponses"); + for(unsigned approverResponsesIndex = 0; approverResponsesIndex < approverResponsesJsonList.GetLength(); ++approverResponsesIndex) + { + m_approverResponses.push_back(approverResponsesJsonList[approverResponsesIndex].AsObject()); + } + m_approverResponsesHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenter.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenter.cpp new file mode 100644 index 00000000000..fb574827c65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +IamIdentityCenter::IamIdentityCenter(JsonView jsonValue) +{ + *this = jsonValue; +} + +IamIdentityCenter& IamIdentityCenter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + m_instanceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + m_regionHasBeenSet = true; + } + return *this; +} + +JsonValue IamIdentityCenter::Jsonize() const +{ + JsonValue payload; + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenterForGet.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenterForGet.cpp new file mode 100644 index 00000000000..8778c12484c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenterForGet.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 MPA +{ +namespace Model +{ + +IamIdentityCenterForGet::IamIdentityCenterForGet(JsonView jsonValue) +{ + *this = jsonValue; +} + +IamIdentityCenterForGet& IamIdentityCenterForGet::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + m_instanceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalPortalUrl")) + { + m_approvalPortalUrl = jsonValue.GetString("ApprovalPortalUrl"); + m_approvalPortalUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + m_regionHasBeenSet = true; + } + return *this; +} + +JsonValue IamIdentityCenterForGet::Jsonize() const +{ + JsonValue payload; + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_approvalPortalUrlHasBeenSet) + { + payload.WithString("ApprovalPortalUrl", m_approvalPortalUrl); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenterForList.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenterForList.cpp new file mode 100644 index 00000000000..ae697652e70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IamIdentityCenterForList.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 MPA +{ +namespace Model +{ + +IamIdentityCenterForList::IamIdentityCenterForList(JsonView jsonValue) +{ + *this = jsonValue; +} + +IamIdentityCenterForList& IamIdentityCenterForList::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + m_instanceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalPortalUrl")) + { + m_approvalPortalUrl = jsonValue.GetString("ApprovalPortalUrl"); + m_approvalPortalUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + m_regionHasBeenSet = true; + } + return *this; +} + +JsonValue IamIdentityCenterForList::Jsonize() const +{ + JsonValue payload; + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_approvalPortalUrlHasBeenSet) + { + payload.WithString("ApprovalPortalUrl", m_approvalPortalUrl); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceForList.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceForList.cpp new file mode 100644 index 00000000000..d8a0f826877 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceForList.cpp @@ -0,0 +1,113 @@ +/** + * 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 MPA +{ +namespace Model +{ + +IdentitySourceForList::IdentitySourceForList(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentitySourceForList& IdentitySourceForList::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IdentitySourceType")) + { + m_identitySourceType = IdentitySourceTypeMapper::GetIdentitySourceTypeForName(jsonValue.GetString("IdentitySourceType")); + m_identitySourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySourceParameters")) + { + m_identitySourceParameters = jsonValue.GetObject("IdentitySourceParameters"); + m_identitySourceParametersHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySourceArn")) + { + m_identitySourceArn = jsonValue.GetString("IdentitySourceArn"); + m_identitySourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = IdentitySourceStatusMapper::GetIdentitySourceStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = IdentitySourceStatusCodeMapper::GetIdentitySourceStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + return *this; +} + +JsonValue IdentitySourceForList::Jsonize() const +{ + JsonValue payload; + + if(m_identitySourceTypeHasBeenSet) + { + payload.WithString("IdentitySourceType", IdentitySourceTypeMapper::GetNameForIdentitySourceType(m_identitySourceType)); + } + + if(m_identitySourceParametersHasBeenSet) + { + payload.WithObject("IdentitySourceParameters", m_identitySourceParameters.Jsonize()); + + } + + if(m_identitySourceArnHasBeenSet) + { + payload.WithString("IdentitySourceArn", m_identitySourceArn); + + } + + if(m_creationTimeHasBeenSet) + { + payload.WithString("CreationTime", m_creationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", IdentitySourceStatusMapper::GetNameForIdentitySourceStatus(m_status)); + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("StatusCode", IdentitySourceStatusCodeMapper::GetNameForIdentitySourceStatusCode(m_statusCode)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParameters.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParameters.cpp new file mode 100644 index 00000000000..48cb691eadb --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParameters.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +IdentitySourceParameters::IdentitySourceParameters(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentitySourceParameters& IdentitySourceParameters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IamIdentityCenter")) + { + m_iamIdentityCenter = jsonValue.GetObject("IamIdentityCenter"); + m_iamIdentityCenterHasBeenSet = true; + } + return *this; +} + +JsonValue IdentitySourceParameters::Jsonize() const +{ + JsonValue payload; + + if(m_iamIdentityCenterHasBeenSet) + { + payload.WithObject("IamIdentityCenter", m_iamIdentityCenter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParametersForGet.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParametersForGet.cpp new file mode 100644 index 00000000000..7279540ba8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParametersForGet.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +IdentitySourceParametersForGet::IdentitySourceParametersForGet(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentitySourceParametersForGet& IdentitySourceParametersForGet::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IamIdentityCenter")) + { + m_iamIdentityCenter = jsonValue.GetObject("IamIdentityCenter"); + m_iamIdentityCenterHasBeenSet = true; + } + return *this; +} + +JsonValue IdentitySourceParametersForGet::Jsonize() const +{ + JsonValue payload; + + if(m_iamIdentityCenterHasBeenSet) + { + payload.WithObject("IamIdentityCenter", m_iamIdentityCenter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParametersForList.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParametersForList.cpp new file mode 100644 index 00000000000..cb88201fcc3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceParametersForList.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +IdentitySourceParametersForList::IdentitySourceParametersForList(JsonView jsonValue) +{ + *this = jsonValue; +} + +IdentitySourceParametersForList& IdentitySourceParametersForList::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IamIdentityCenter")) + { + m_iamIdentityCenter = jsonValue.GetObject("IamIdentityCenter"); + m_iamIdentityCenterHasBeenSet = true; + } + return *this; +} + +JsonValue IdentitySourceParametersForList::Jsonize() const +{ + JsonValue payload; + + if(m_iamIdentityCenterHasBeenSet) + { + payload.WithObject("IamIdentityCenter", m_iamIdentityCenter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceStatus.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceStatus.cpp new file mode 100644 index 00000000000..a4f8444a83c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace IdentitySourceStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int ERROR__HASH = HashingUtils::HashString("ERROR"); + + + IdentitySourceStatus GetIdentitySourceStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return IdentitySourceStatus::CREATING; + } + else if (hashCode == ACTIVE_HASH) + { + return IdentitySourceStatus::ACTIVE; + } + else if (hashCode == DELETING_HASH) + { + return IdentitySourceStatus::DELETING; + } + else if (hashCode == ERROR__HASH) + { + return IdentitySourceStatus::ERROR_; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IdentitySourceStatus::NOT_SET; + } + + Aws::String GetNameForIdentitySourceStatus(IdentitySourceStatus enumValue) + { + switch(enumValue) + { + case IdentitySourceStatus::NOT_SET: + return {}; + case IdentitySourceStatus::CREATING: + return "CREATING"; + case IdentitySourceStatus::ACTIVE: + return "ACTIVE"; + case IdentitySourceStatus::DELETING: + return "DELETING"; + case IdentitySourceStatus::ERROR_: + return "ERROR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IdentitySourceStatusMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceStatusCode.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceStatusCode.cpp new file mode 100644 index 00000000000..80c488b9cd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceStatusCode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace IdentitySourceStatusCodeMapper + { + + static const int ACCESS_DENIED_HASH = HashingUtils::HashString("ACCESS_DENIED"); + static const int DELETION_FAILED_HASH = HashingUtils::HashString("DELETION_FAILED"); + static const int IDC_INSTANCE_NOT_FOUND_HASH = HashingUtils::HashString("IDC_INSTANCE_NOT_FOUND"); + static const int IDC_INSTANCE_NOT_VALID_HASH = HashingUtils::HashString("IDC_INSTANCE_NOT_VALID"); + + + IdentitySourceStatusCode GetIdentitySourceStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACCESS_DENIED_HASH) + { + return IdentitySourceStatusCode::ACCESS_DENIED; + } + else if (hashCode == DELETION_FAILED_HASH) + { + return IdentitySourceStatusCode::DELETION_FAILED; + } + else if (hashCode == IDC_INSTANCE_NOT_FOUND_HASH) + { + return IdentitySourceStatusCode::IDC_INSTANCE_NOT_FOUND; + } + else if (hashCode == IDC_INSTANCE_NOT_VALID_HASH) + { + return IdentitySourceStatusCode::IDC_INSTANCE_NOT_VALID; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IdentitySourceStatusCode::NOT_SET; + } + + Aws::String GetNameForIdentitySourceStatusCode(IdentitySourceStatusCode enumValue) + { + switch(enumValue) + { + case IdentitySourceStatusCode::NOT_SET: + return {}; + case IdentitySourceStatusCode::ACCESS_DENIED: + return "ACCESS_DENIED"; + case IdentitySourceStatusCode::DELETION_FAILED: + return "DELETION_FAILED"; + case IdentitySourceStatusCode::IDC_INSTANCE_NOT_FOUND: + return "IDC_INSTANCE_NOT_FOUND"; + case IdentitySourceStatusCode::IDC_INSTANCE_NOT_VALID: + return "IDC_INSTANCE_NOT_VALID"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IdentitySourceStatusCodeMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceType.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceType.cpp new file mode 100644 index 00000000000..f04b8639441 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentitySourceType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace IdentitySourceTypeMapper + { + + static const int IAM_IDENTITY_CENTER_HASH = HashingUtils::HashString("IAM_IDENTITY_CENTER"); + + + IdentitySourceType GetIdentitySourceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IAM_IDENTITY_CENTER_HASH) + { + return IdentitySourceType::IAM_IDENTITY_CENTER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IdentitySourceType::NOT_SET; + } + + Aws::String GetNameForIdentitySourceType(IdentitySourceType enumValue) + { + switch(enumValue) + { + case IdentitySourceType::NOT_SET: + return {}; + case IdentitySourceType::IAM_IDENTITY_CENTER: + return "IAM_IDENTITY_CENTER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IdentitySourceTypeMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/IdentityStatus.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/IdentityStatus.cpp new file mode 100644 index 00000000000..472b9d37d3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/IdentityStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace IdentityStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int ACCEPTED_HASH = HashingUtils::HashString("ACCEPTED"); + static const int REJECTED_HASH = HashingUtils::HashString("REJECTED"); + static const int INVALID_HASH = HashingUtils::HashString("INVALID"); + + + IdentityStatus GetIdentityStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return IdentityStatus::PENDING; + } + else if (hashCode == ACCEPTED_HASH) + { + return IdentityStatus::ACCEPTED; + } + else if (hashCode == REJECTED_HASH) + { + return IdentityStatus::REJECTED; + } + else if (hashCode == INVALID_HASH) + { + return IdentityStatus::INVALID; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IdentityStatus::NOT_SET; + } + + Aws::String GetNameForIdentityStatus(IdentityStatus enumValue) + { + switch(enumValue) + { + case IdentityStatus::NOT_SET: + return {}; + case IdentityStatus::PENDING: + return "PENDING"; + case IdentityStatus::ACCEPTED: + return "ACCEPTED"; + case IdentityStatus::REJECTED: + return "REJECTED"; + case IdentityStatus::INVALID: + return "INVALID"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IdentityStatusMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsRequest.cpp new file mode 100644 index 00000000000..4d1b18d0ffb --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListApprovalTeamsRequest::SerializePayload() const +{ + return {}; +} + +void ListApprovalTeamsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsResponseApprovalTeam.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsResponseApprovalTeam.cpp new file mode 100644 index 00000000000..c81e16e8541 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsResponseApprovalTeam.cpp @@ -0,0 +1,136 @@ +/** + * 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 MPA +{ +namespace Model +{ + +ListApprovalTeamsResponseApprovalTeam::ListApprovalTeamsResponseApprovalTeam(JsonView jsonValue) +{ + *this = jsonValue; +} + +ListApprovalTeamsResponseApprovalTeam& ListApprovalTeamsResponseApprovalTeam::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalStrategy")) + { + m_approvalStrategy = jsonValue.GetObject("ApprovalStrategy"); + m_approvalStrategyHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberOfApprovers")) + { + m_numberOfApprovers = jsonValue.GetInteger("NumberOfApprovers"); + m_numberOfApproversHasBeenSet = true; + } + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ApprovalTeamStatusMapper::GetApprovalTeamStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = ApprovalTeamStatusCodeMapper::GetApprovalTeamStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + return *this; +} + +JsonValue ListApprovalTeamsResponseApprovalTeam::Jsonize() const +{ + JsonValue payload; + + if(m_creationTimeHasBeenSet) + { + payload.WithString("CreationTime", m_creationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_approvalStrategyHasBeenSet) + { + payload.WithObject("ApprovalStrategy", m_approvalStrategy.Jsonize()); + + } + + if(m_numberOfApproversHasBeenSet) + { + payload.WithInteger("NumberOfApprovers", m_numberOfApprovers); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", ApprovalTeamStatusMapper::GetNameForApprovalTeamStatus(m_status)); + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("StatusCode", ApprovalTeamStatusCodeMapper::GetNameForApprovalTeamStatusCode(m_statusCode)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsResult.cpp new file mode 100644 index 00000000000..cc9fb91086a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListApprovalTeamsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListApprovalTeamsResult::ListApprovalTeamsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListApprovalTeamsResult& ListApprovalTeamsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalTeams")) + { + Aws::Utils::Array approvalTeamsJsonList = jsonValue.GetArray("ApprovalTeams"); + for(unsigned approvalTeamsIndex = 0; approvalTeamsIndex < approvalTeamsJsonList.GetLength(); ++approvalTeamsIndex) + { + m_approvalTeams.push_back(approvalTeamsJsonList[approvalTeamsIndex].AsObject()); + } + m_approvalTeamsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListIdentitySourcesRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListIdentitySourcesRequest.cpp new file mode 100644 index 00000000000..dcd78932d52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListIdentitySourcesRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListIdentitySourcesRequest::SerializePayload() const +{ + return {}; +} + +void ListIdentitySourcesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListIdentitySourcesResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListIdentitySourcesResult.cpp new file mode 100644 index 00000000000..e7cda29f848 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListIdentitySourcesResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListIdentitySourcesResult::ListIdentitySourcesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListIdentitySourcesResult& ListIdentitySourcesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("IdentitySources")) + { + Aws::Utils::Array identitySourcesJsonList = jsonValue.GetArray("IdentitySources"); + for(unsigned identitySourcesIndex = 0; identitySourcesIndex < identitySourcesJsonList.GetLength(); ++identitySourcesIndex) + { + m_identitySources.push_back(identitySourcesJsonList[identitySourcesIndex].AsObject()); + } + m_identitySourcesHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListPoliciesRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListPoliciesRequest.cpp new file mode 100644 index 00000000000..d3cc7ac9e9f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListPoliciesRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListPoliciesRequest::SerializePayload() const +{ + return {}; +} + +void ListPoliciesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListPoliciesResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListPoliciesResult.cpp new file mode 100644 index 00000000000..1d5f0d81b46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListPoliciesResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListPoliciesResult::ListPoliciesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListPoliciesResult& ListPoliciesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("Policies")) + { + Aws::Utils::Array policiesJsonList = jsonValue.GetArray("Policies"); + for(unsigned policiesIndex = 0; policiesIndex < policiesJsonList.GetLength(); ++policiesIndex) + { + m_policies.push_back(policiesJsonList[policiesIndex].AsObject()); + } + m_policiesHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListPolicyVersionsRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListPolicyVersionsRequest.cpp new file mode 100644 index 00000000000..8de87ea316a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListPolicyVersionsRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListPolicyVersionsRequest::SerializePayload() const +{ + return {}; +} + +void ListPolicyVersionsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListPolicyVersionsResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListPolicyVersionsResult.cpp new file mode 100644 index 00000000000..8060a84c040 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListPolicyVersionsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListPolicyVersionsResult::ListPolicyVersionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListPolicyVersionsResult& ListPolicyVersionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyVersions")) + { + Aws::Utils::Array policyVersionsJsonList = jsonValue.GetArray("PolicyVersions"); + for(unsigned policyVersionsIndex = 0; policyVersionsIndex < policyVersionsJsonList.GetLength(); ++policyVersionsIndex) + { + m_policyVersions.push_back(policyVersionsJsonList[policyVersionsIndex].AsObject()); + } + m_policyVersionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesRequest.cpp new file mode 100644 index 00000000000..d7ab51a9444 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListResourcePoliciesRequest::SerializePayload() const +{ + return {}; +} + +void ListResourcePoliciesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesResponseResourcePolicy.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesResponseResourcePolicy.cpp new file mode 100644 index 00000000000..b2076e031ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesResponseResourcePolicy.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +ListResourcePoliciesResponseResourcePolicy::ListResourcePoliciesResponseResourcePolicy(JsonView jsonValue) +{ + *this = jsonValue; +} + +ListResourcePoliciesResponseResourcePolicy& ListResourcePoliciesResponseResourcePolicy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PolicyArn")) + { + m_policyArn = jsonValue.GetString("PolicyArn"); + m_policyArnHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyType")) + { + m_policyType = PolicyTypeMapper::GetPolicyTypeForName(jsonValue.GetString("PolicyType")); + m_policyTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyName")) + { + m_policyName = jsonValue.GetString("PolicyName"); + m_policyNameHasBeenSet = true; + } + return *this; +} + +JsonValue ListResourcePoliciesResponseResourcePolicy::Jsonize() const +{ + JsonValue payload; + + if(m_policyArnHasBeenSet) + { + payload.WithString("PolicyArn", m_policyArn); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("PolicyType", PolicyTypeMapper::GetNameForPolicyType(m_policyType)); + } + + if(m_policyNameHasBeenSet) + { + payload.WithString("PolicyName", m_policyName); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesResult.cpp new file mode 100644 index 00000000000..e880d4b3ad3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListResourcePoliciesResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListResourcePoliciesResult::ListResourcePoliciesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListResourcePoliciesResult& ListResourcePoliciesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourcePolicies")) + { + Aws::Utils::Array resourcePoliciesJsonList = jsonValue.GetArray("ResourcePolicies"); + for(unsigned resourcePoliciesIndex = 0; resourcePoliciesIndex < resourcePoliciesJsonList.GetLength(); ++resourcePoliciesIndex) + { + m_resourcePolicies.push_back(resourcePoliciesJsonList[resourcePoliciesIndex].AsObject()); + } + m_resourcePoliciesHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsRequest.cpp new file mode 100644 index 00000000000..98a9d4f018a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListSessionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_filtersHasBeenSet) + { + Aws::Utils::Array filtersJsonList(m_filters.size()); + for(unsigned filtersIndex = 0; filtersIndex < filtersJsonList.GetLength(); ++filtersIndex) + { + filtersJsonList[filtersIndex].AsObject(m_filters[filtersIndex].Jsonize()); + } + payload.WithArray("Filters", std::move(filtersJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsResponseSession.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsResponseSession.cpp new file mode 100644 index 00000000000..6aca5a37c56 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsResponseSession.cpp @@ -0,0 +1,221 @@ +/** + * 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 MPA +{ +namespace Model +{ + +ListSessionsResponseSession::ListSessionsResponseSession(JsonView jsonValue) +{ + *this = jsonValue; +} + +ListSessionsResponseSession& ListSessionsResponseSession::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SessionArn")) + { + m_sessionArn = jsonValue.GetString("SessionArn"); + m_sessionArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalTeamName")) + { + m_approvalTeamName = jsonValue.GetString("ApprovalTeamName"); + m_approvalTeamNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalTeamArn")) + { + m_approvalTeamArn = jsonValue.GetString("ApprovalTeamArn"); + m_approvalTeamArnHasBeenSet = true; + } + if(jsonValue.ValueExists("InitiationTime")) + { + m_initiationTime = jsonValue.GetString("InitiationTime"); + m_initiationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("ExpirationTime")) + { + m_expirationTime = jsonValue.GetString("ExpirationTime"); + m_expirationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("CompletionTime")) + { + m_completionTime = jsonValue.GetString("CompletionTime"); + m_completionTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("ActionName")) + { + m_actionName = jsonValue.GetString("ActionName"); + m_actionNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ProtectedResourceArn")) + { + m_protectedResourceArn = jsonValue.GetString("ProtectedResourceArn"); + m_protectedResourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterServicePrincipal")) + { + m_requesterServicePrincipal = jsonValue.GetString("RequesterServicePrincipal"); + m_requesterServicePrincipalHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterPrincipalArn")) + { + m_requesterPrincipalArn = jsonValue.GetString("RequesterPrincipalArn"); + m_requesterPrincipalArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterRegion")) + { + m_requesterRegion = jsonValue.GetString("RequesterRegion"); + m_requesterRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RequesterAccountId")) + { + m_requesterAccountId = jsonValue.GetString("RequesterAccountId"); + m_requesterAccountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = SessionStatusMapper::GetSessionStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = SessionStatusCodeMapper::GetSessionStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + if(jsonValue.ValueExists("ActionCompletionStrategy")) + { + m_actionCompletionStrategy = ActionCompletionStrategyMapper::GetActionCompletionStrategyForName(jsonValue.GetString("ActionCompletionStrategy")); + m_actionCompletionStrategyHasBeenSet = true; + } + return *this; +} + +JsonValue ListSessionsResponseSession::Jsonize() const +{ + JsonValue payload; + + if(m_sessionArnHasBeenSet) + { + payload.WithString("SessionArn", m_sessionArn); + + } + + if(m_approvalTeamNameHasBeenSet) + { + payload.WithString("ApprovalTeamName", m_approvalTeamName); + + } + + if(m_approvalTeamArnHasBeenSet) + { + payload.WithString("ApprovalTeamArn", m_approvalTeamArn); + + } + + if(m_initiationTimeHasBeenSet) + { + payload.WithString("InitiationTime", m_initiationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_expirationTimeHasBeenSet) + { + payload.WithString("ExpirationTime", m_expirationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_completionTimeHasBeenSet) + { + payload.WithString("CompletionTime", m_completionTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_actionNameHasBeenSet) + { + payload.WithString("ActionName", m_actionName); + + } + + if(m_protectedResourceArnHasBeenSet) + { + payload.WithString("ProtectedResourceArn", m_protectedResourceArn); + + } + + if(m_requesterServicePrincipalHasBeenSet) + { + payload.WithString("RequesterServicePrincipal", m_requesterServicePrincipal); + + } + + if(m_requesterPrincipalArnHasBeenSet) + { + payload.WithString("RequesterPrincipalArn", m_requesterPrincipalArn); + + } + + if(m_requesterRegionHasBeenSet) + { + payload.WithString("RequesterRegion", m_requesterRegion); + + } + + if(m_requesterAccountIdHasBeenSet) + { + payload.WithString("RequesterAccountId", m_requesterAccountId); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", SessionStatusMapper::GetNameForSessionStatus(m_status)); + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("StatusCode", SessionStatusCodeMapper::GetNameForSessionStatusCode(m_statusCode)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + if(m_actionCompletionStrategyHasBeenSet) + { + payload.WithString("ActionCompletionStrategy", ActionCompletionStrategyMapper::GetNameForActionCompletionStrategy(m_actionCompletionStrategy)); + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsResult.cpp new file mode 100644 index 00000000000..6a08310ff67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListSessionsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListSessionsResult::ListSessionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListSessionsResult& ListSessionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("Sessions")) + { + Aws::Utils::Array sessionsJsonList = jsonValue.GetArray("Sessions"); + for(unsigned sessionsIndex = 0; sessionsIndex < sessionsJsonList.GetLength(); ++sessionsIndex) + { + m_sessions.push_back(sessionsJsonList[sessionsIndex].AsObject()); + } + m_sessionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..5c72298c2c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..b48ad37a9d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("Tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/MofNApprovalStrategy.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/MofNApprovalStrategy.cpp new file mode 100644 index 00000000000..c913649947c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/MofNApprovalStrategy.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +MofNApprovalStrategy::MofNApprovalStrategy(JsonView jsonValue) +{ + *this = jsonValue; +} + +MofNApprovalStrategy& MofNApprovalStrategy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MinApprovalsRequired")) + { + m_minApprovalsRequired = jsonValue.GetInteger("MinApprovalsRequired"); + m_minApprovalsRequiredHasBeenSet = true; + } + return *this; +} + +JsonValue MofNApprovalStrategy::Jsonize() const +{ + JsonValue payload; + + if(m_minApprovalsRequiredHasBeenSet) + { + payload.WithInteger("MinApprovalsRequired", m_minApprovalsRequired); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/Operator.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/Operator.cpp new file mode 100644 index 00000000000..af90841f4b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/Operator.cpp @@ -0,0 +1,121 @@ +/** + * 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 MPA + { + namespace Model + { + namespace OperatorMapper + { + + static const int EQ_HASH = HashingUtils::HashString("EQ"); + static const int NE_HASH = HashingUtils::HashString("NE"); + static const int GT_HASH = HashingUtils::HashString("GT"); + static const int LT_HASH = HashingUtils::HashString("LT"); + static const int GTE_HASH = HashingUtils::HashString("GTE"); + static const int LTE_HASH = HashingUtils::HashString("LTE"); + static const int CONTAINS_HASH = HashingUtils::HashString("CONTAINS"); + static const int NOT_CONTAINS_HASH = HashingUtils::HashString("NOT_CONTAINS"); + static const int BETWEEN_HASH = HashingUtils::HashString("BETWEEN"); + + + Operator GetOperatorForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == EQ_HASH) + { + return Operator::EQ; + } + else if (hashCode == NE_HASH) + { + return Operator::NE; + } + else if (hashCode == GT_HASH) + { + return Operator::GT; + } + else if (hashCode == LT_HASH) + { + return Operator::LT; + } + else if (hashCode == GTE_HASH) + { + return Operator::GTE; + } + else if (hashCode == LTE_HASH) + { + return Operator::LTE; + } + else if (hashCode == CONTAINS_HASH) + { + return Operator::CONTAINS; + } + else if (hashCode == NOT_CONTAINS_HASH) + { + return Operator::NOT_CONTAINS; + } + else if (hashCode == BETWEEN_HASH) + { + return Operator::BETWEEN; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Operator::NOT_SET; + } + + Aws::String GetNameForOperator(Operator enumValue) + { + switch(enumValue) + { + case Operator::NOT_SET: + return {}; + case Operator::EQ: + return "EQ"; + case Operator::NE: + return "NE"; + case Operator::GT: + return "GT"; + case Operator::LT: + return "LT"; + case Operator::GTE: + return "GTE"; + case Operator::LTE: + return "LTE"; + case Operator::CONTAINS: + return "CONTAINS"; + case Operator::NOT_CONTAINS: + return "NOT_CONTAINS"; + case Operator::BETWEEN: + return "BETWEEN"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OperatorMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/PendingUpdate.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/PendingUpdate.cpp new file mode 100644 index 00000000000..68dc446f0db --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/PendingUpdate.cpp @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +PendingUpdate::PendingUpdate(JsonView jsonValue) +{ + *this = jsonValue; +} + +PendingUpdate& PendingUpdate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetString("VersionId"); + m_versionIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("ApprovalStrategy")) + { + m_approvalStrategy = jsonValue.GetObject("ApprovalStrategy"); + m_approvalStrategyHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberOfApprovers")) + { + m_numberOfApprovers = jsonValue.GetInteger("NumberOfApprovers"); + m_numberOfApproversHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = ApprovalTeamStatusMapper::GetApprovalTeamStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusCode")) + { + m_statusCode = ApprovalTeamStatusCodeMapper::GetApprovalTeamStatusCodeForName(jsonValue.GetString("StatusCode")); + m_statusCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + if(jsonValue.ValueExists("Approvers")) + { + Aws::Utils::Array approversJsonList = jsonValue.GetArray("Approvers"); + for(unsigned approversIndex = 0; approversIndex < approversJsonList.GetLength(); ++approversIndex) + { + m_approvers.push_back(approversJsonList[approversIndex].AsObject()); + } + m_approversHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdateInitiationTime")) + { + m_updateInitiationTime = jsonValue.GetString("UpdateInitiationTime"); + m_updateInitiationTimeHasBeenSet = true; + } + return *this; +} + +JsonValue PendingUpdate::Jsonize() const +{ + JsonValue payload; + + if(m_versionIdHasBeenSet) + { + payload.WithString("VersionId", m_versionId); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_approvalStrategyHasBeenSet) + { + payload.WithObject("ApprovalStrategy", m_approvalStrategy.Jsonize()); + + } + + if(m_numberOfApproversHasBeenSet) + { + payload.WithInteger("NumberOfApprovers", m_numberOfApprovers); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", ApprovalTeamStatusMapper::GetNameForApprovalTeamStatus(m_status)); + } + + if(m_statusCodeHasBeenSet) + { + payload.WithString("StatusCode", ApprovalTeamStatusCodeMapper::GetNameForApprovalTeamStatusCode(m_statusCode)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + if(m_approversHasBeenSet) + { + Aws::Utils::Array approversJsonList(m_approvers.size()); + for(unsigned approversIndex = 0; approversIndex < approversJsonList.GetLength(); ++approversIndex) + { + approversJsonList[approversIndex].AsObject(m_approvers[approversIndex].Jsonize()); + } + payload.WithArray("Approvers", std::move(approversJsonList)); + + } + + if(m_updateInitiationTimeHasBeenSet) + { + payload.WithString("UpdateInitiationTime", m_updateInitiationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/Policy.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/Policy.cpp new file mode 100644 index 00000000000..bd55d6a7444 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/Policy.cpp @@ -0,0 +1,83 @@ +/** + * 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 MPA +{ +namespace Model +{ + +Policy::Policy(JsonView jsonValue) +{ + *this = jsonValue; +} + +Policy& Policy::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("DefaultVersion")) + { + m_defaultVersion = jsonValue.GetInteger("DefaultVersion"); + m_defaultVersionHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyType")) + { + m_policyType = PolicyTypeMapper::GetPolicyTypeForName(jsonValue.GetString("PolicyType")); + m_policyTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + return *this; +} + +JsonValue Policy::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_defaultVersionHasBeenSet) + { + payload.WithInteger("DefaultVersion", m_defaultVersion); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("PolicyType", PolicyTypeMapper::GetNameForPolicyType(m_policyType)); + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/PolicyReference.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyReference.cpp new file mode 100644 index 00000000000..8aca732e86b --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyReference.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +PolicyReference::PolicyReference(JsonView jsonValue) +{ + *this = jsonValue; +} + +PolicyReference& PolicyReference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PolicyArn")) + { + m_policyArn = jsonValue.GetString("PolicyArn"); + m_policyArnHasBeenSet = true; + } + return *this; +} + +JsonValue PolicyReference::Jsonize() const +{ + JsonValue payload; + + if(m_policyArnHasBeenSet) + { + payload.WithString("PolicyArn", m_policyArn); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/PolicyStatus.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyStatus.cpp new file mode 100644 index 00000000000..d33cbedd454 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyStatus.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 MPA + { + namespace Model + { + namespace PolicyStatusMapper + { + + static const int ATTACHABLE_HASH = HashingUtils::HashString("ATTACHABLE"); + static const int DEPRECATED_HASH = HashingUtils::HashString("DEPRECATED"); + + + PolicyStatus GetPolicyStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ATTACHABLE_HASH) + { + return PolicyStatus::ATTACHABLE; + } + else if (hashCode == DEPRECATED_HASH) + { + return PolicyStatus::DEPRECATED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PolicyStatus::NOT_SET; + } + + Aws::String GetNameForPolicyStatus(PolicyStatus enumValue) + { + switch(enumValue) + { + case PolicyStatus::NOT_SET: + return {}; + case PolicyStatus::ATTACHABLE: + return "ATTACHABLE"; + case PolicyStatus::DEPRECATED: + return "DEPRECATED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PolicyStatusMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/PolicyType.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyType.cpp new file mode 100644 index 00000000000..2f5a2a3a7cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyType.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 MPA + { + namespace Model + { + namespace PolicyTypeMapper + { + + static const int AWS_MANAGED_HASH = HashingUtils::HashString("AWS_MANAGED"); + static const int AWS_RAM_HASH = HashingUtils::HashString("AWS_RAM"); + + + PolicyType GetPolicyTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AWS_MANAGED_HASH) + { + return PolicyType::AWS_MANAGED; + } + else if (hashCode == AWS_RAM_HASH) + { + return PolicyType::AWS_RAM; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PolicyType::NOT_SET; + } + + Aws::String GetNameForPolicyType(PolicyType enumValue) + { + switch(enumValue) + { + case PolicyType::NOT_SET: + return {}; + case PolicyType::AWS_MANAGED: + return "AWS_MANAGED"; + case PolicyType::AWS_RAM: + return "AWS_RAM"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PolicyTypeMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/PolicyVersion.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyVersion.cpp new file mode 100644 index 00000000000..57a27ae3ae2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyVersion.cpp @@ -0,0 +1,146 @@ +/** + * 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 MPA +{ +namespace Model +{ + +PolicyVersion::PolicyVersion(JsonView jsonValue) +{ + *this = jsonValue; +} + +PolicyVersion& PolicyVersion::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyArn")) + { + m_policyArn = jsonValue.GetString("PolicyArn"); + m_policyArnHasBeenSet = true; + } + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetInteger("VersionId"); + m_versionIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyType")) + { + m_policyType = PolicyTypeMapper::GetPolicyTypeForName(jsonValue.GetString("PolicyType")); + m_policyTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("IsDefault")) + { + m_isDefault = jsonValue.GetBool("IsDefault"); + m_isDefaultHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = PolicyStatusMapper::GetPolicyStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedTime")) + { + m_lastUpdatedTime = jsonValue.GetString("LastUpdatedTime"); + m_lastUpdatedTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("Document")) + { + m_document = jsonValue.GetString("Document"); + m_documentHasBeenSet = true; + } + return *this; +} + +JsonValue PolicyVersion::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_policyArnHasBeenSet) + { + payload.WithString("PolicyArn", m_policyArn); + + } + + if(m_versionIdHasBeenSet) + { + payload.WithInteger("VersionId", m_versionId); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("PolicyType", PolicyTypeMapper::GetNameForPolicyType(m_policyType)); + } + + if(m_isDefaultHasBeenSet) + { + payload.WithBool("IsDefault", m_isDefault); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", PolicyStatusMapper::GetNameForPolicyStatus(m_status)); + } + + if(m_creationTimeHasBeenSet) + { + payload.WithString("CreationTime", m_creationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_lastUpdatedTimeHasBeenSet) + { + payload.WithString("LastUpdatedTime", m_lastUpdatedTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_documentHasBeenSet) + { + payload.WithString("Document", m_document); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/PolicyVersionSummary.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyVersionSummary.cpp new file mode 100644 index 00000000000..f360eb2ab44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/PolicyVersionSummary.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +PolicyVersionSummary::PolicyVersionSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +PolicyVersionSummary& PolicyVersionSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyArn")) + { + m_policyArn = jsonValue.GetString("PolicyArn"); + m_policyArnHasBeenSet = true; + } + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetInteger("VersionId"); + m_versionIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PolicyType")) + { + m_policyType = PolicyTypeMapper::GetPolicyTypeForName(jsonValue.GetString("PolicyType")); + m_policyTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("IsDefault")) + { + m_isDefault = jsonValue.GetBool("IsDefault"); + m_isDefaultHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Status")) + { + m_status = PolicyStatusMapper::GetPolicyStatusForName(jsonValue.GetString("Status")); + m_statusHasBeenSet = true; + } + if(jsonValue.ValueExists("CreationTime")) + { + m_creationTime = jsonValue.GetString("CreationTime"); + m_creationTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedTime")) + { + m_lastUpdatedTime = jsonValue.GetString("LastUpdatedTime"); + m_lastUpdatedTimeHasBeenSet = true; + } + return *this; +} + +JsonValue PolicyVersionSummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_policyArnHasBeenSet) + { + payload.WithString("PolicyArn", m_policyArn); + + } + + if(m_versionIdHasBeenSet) + { + payload.WithInteger("VersionId", m_versionId); + + } + + if(m_policyTypeHasBeenSet) + { + payload.WithString("PolicyType", PolicyTypeMapper::GetNameForPolicyType(m_policyType)); + } + + if(m_isDefaultHasBeenSet) + { + payload.WithBool("IsDefault", m_isDefault); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("Status", PolicyStatusMapper::GetNameForPolicyStatus(m_status)); + } + + if(m_creationTimeHasBeenSet) + { + payload.WithString("CreationTime", m_creationTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_lastUpdatedTimeHasBeenSet) + { + payload.WithString("LastUpdatedTime", m_lastUpdatedTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/SessionExecutionStatus.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/SessionExecutionStatus.cpp new file mode 100644 index 00000000000..952fa948133 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/SessionExecutionStatus.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace SessionExecutionStatusMapper + { + + static const int EXECUTED_HASH = HashingUtils::HashString("EXECUTED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + + + SessionExecutionStatus GetSessionExecutionStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == EXECUTED_HASH) + { + return SessionExecutionStatus::EXECUTED; + } + else if (hashCode == FAILED_HASH) + { + return SessionExecutionStatus::FAILED; + } + else if (hashCode == PENDING_HASH) + { + return SessionExecutionStatus::PENDING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SessionExecutionStatus::NOT_SET; + } + + Aws::String GetNameForSessionExecutionStatus(SessionExecutionStatus enumValue) + { + switch(enumValue) + { + case SessionExecutionStatus::NOT_SET: + return {}; + case SessionExecutionStatus::EXECUTED: + return "EXECUTED"; + case SessionExecutionStatus::FAILED: + return "FAILED"; + case SessionExecutionStatus::PENDING: + return "PENDING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SessionExecutionStatusMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/SessionResponse.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/SessionResponse.cpp new file mode 100644 index 00000000000..75272dad302 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/SessionResponse.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace SessionResponseMapper + { + + static const int APPROVED_HASH = HashingUtils::HashString("APPROVED"); + static const int REJECTED_HASH = HashingUtils::HashString("REJECTED"); + static const int NO_RESPONSE_HASH = HashingUtils::HashString("NO_RESPONSE"); + + + SessionResponse GetSessionResponseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == APPROVED_HASH) + { + return SessionResponse::APPROVED; + } + else if (hashCode == REJECTED_HASH) + { + return SessionResponse::REJECTED; + } + else if (hashCode == NO_RESPONSE_HASH) + { + return SessionResponse::NO_RESPONSE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SessionResponse::NOT_SET; + } + + Aws::String GetNameForSessionResponse(SessionResponse enumValue) + { + switch(enumValue) + { + case SessionResponse::NOT_SET: + return {}; + case SessionResponse::APPROVED: + return "APPROVED"; + case SessionResponse::REJECTED: + return "REJECTED"; + case SessionResponse::NO_RESPONSE: + return "NO_RESPONSE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SessionResponseMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/SessionStatus.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/SessionStatus.cpp new file mode 100644 index 00000000000..002f0b904a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/SessionStatus.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 MPA + { + namespace Model + { + namespace SessionStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int CANCELLED_HASH = HashingUtils::HashString("CANCELLED"); + static const int APPROVED_HASH = HashingUtils::HashString("APPROVED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + + + SessionStatus GetSessionStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return SessionStatus::PENDING; + } + else if (hashCode == CANCELLED_HASH) + { + return SessionStatus::CANCELLED; + } + else if (hashCode == APPROVED_HASH) + { + return SessionStatus::APPROVED; + } + else if (hashCode == FAILED_HASH) + { + return SessionStatus::FAILED; + } + else if (hashCode == CREATING_HASH) + { + return SessionStatus::CREATING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SessionStatus::NOT_SET; + } + + Aws::String GetNameForSessionStatus(SessionStatus enumValue) + { + switch(enumValue) + { + case SessionStatus::NOT_SET: + return {}; + case SessionStatus::PENDING: + return "PENDING"; + case SessionStatus::CANCELLED: + return "CANCELLED"; + case SessionStatus::APPROVED: + return "APPROVED"; + case SessionStatus::FAILED: + return "FAILED"; + case SessionStatus::CREATING: + return "CREATING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SessionStatusMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/SessionStatusCode.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/SessionStatusCode.cpp new file mode 100644 index 00000000000..41794610562 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/SessionStatusCode.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace MPA + { + namespace Model + { + namespace SessionStatusCodeMapper + { + + static const int REJECTED_HASH = HashingUtils::HashString("REJECTED"); + static const int EXPIRED_HASH = HashingUtils::HashString("EXPIRED"); + static const int CONFIGURATION_CHANGED_HASH = HashingUtils::HashString("CONFIGURATION_CHANGED"); + + + SessionStatusCode GetSessionStatusCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == REJECTED_HASH) + { + return SessionStatusCode::REJECTED; + } + else if (hashCode == EXPIRED_HASH) + { + return SessionStatusCode::EXPIRED; + } + else if (hashCode == CONFIGURATION_CHANGED_HASH) + { + return SessionStatusCode::CONFIGURATION_CHANGED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SessionStatusCode::NOT_SET; + } + + Aws::String GetNameForSessionStatusCode(SessionStatusCode enumValue) + { + switch(enumValue) + { + case SessionStatusCode::NOT_SET: + return {}; + case SessionStatusCode::REJECTED: + return "REJECTED"; + case SessionStatusCode::EXPIRED: + return "EXPIRED"; + case SessionStatusCode::CONFIGURATION_CHANGED: + return "CONFIGURATION_CHANGED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SessionStatusCodeMapper + } // namespace Model + } // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/StartActiveApprovalTeamDeletionRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/StartActiveApprovalTeamDeletionRequest.cpp new file mode 100644 index 00000000000..c19cf10d064 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/StartActiveApprovalTeamDeletionRequest.cpp @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String StartActiveApprovalTeamDeletionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_pendingWindowDaysHasBeenSet) + { + payload.WithInteger("PendingWindowDays", m_pendingWindowDays); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/StartActiveApprovalTeamDeletionResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/StartActiveApprovalTeamDeletionResult.cpp new file mode 100644 index 00000000000..4e88e80f2dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/StartActiveApprovalTeamDeletionResult.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 + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartActiveApprovalTeamDeletionResult::StartActiveApprovalTeamDeletionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartActiveApprovalTeamDeletionResult& StartActiveApprovalTeamDeletionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("DeletionCompletionTime")) + { + m_deletionCompletionTime = jsonValue.GetString("DeletionCompletionTime"); + m_deletionCompletionTimeHasBeenSet = true; + } + if(jsonValue.ValueExists("DeletionStartTime")) + { + m_deletionStartTime = jsonValue.GetString("DeletionStartTime"); + m_deletionStartTimeHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..9209442d9a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/TagResourceRequest.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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..4467b3308f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/TagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/TooManyTagsException.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/TooManyTagsException.cpp new file mode 100644 index 00000000000..b7ff343a95c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/TooManyTagsException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace MPA +{ +namespace Model +{ + +TooManyTagsException::TooManyTagsException(JsonView jsonValue) +{ + *this = jsonValue; +} + +TooManyTagsException& TooManyTagsException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceName")) + { + m_resourceName = jsonValue.GetString("ResourceName"); + m_resourceNameHasBeenSet = true; + } + return *this; +} + +JsonValue TooManyTagsException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + return payload; +} + +} // namespace Model +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..ad55205d4d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/UntagResourceRequest.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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_tagKeysHasBeenSet) + { + Aws::Utils::Array tagKeysJsonList(m_tagKeys.size()); + for(unsigned tagKeysIndex = 0; tagKeysIndex < tagKeysJsonList.GetLength(); ++tagKeysIndex) + { + tagKeysJsonList[tagKeysIndex].AsString(m_tagKeys[tagKeysIndex]); + } + payload.WithArray("TagKeys", std::move(tagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..8e6ee473705 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/UntagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/UpdateApprovalTeamRequest.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/UpdateApprovalTeamRequest.cpp new file mode 100644 index 00000000000..f7ad6ccc376 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/UpdateApprovalTeamRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateApprovalTeamRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_approvalStrategyHasBeenSet) + { + payload.WithObject("ApprovalStrategy", m_approvalStrategy.Jsonize()); + + } + + if(m_approversHasBeenSet) + { + Aws::Utils::Array approversJsonList(m_approvers.size()); + for(unsigned approversIndex = 0; approversIndex < approversJsonList.GetLength(); ++approversIndex) + { + approversJsonList[approversIndex].AsObject(m_approvers[approversIndex].Jsonize()); + } + payload.WithArray("Approvers", std::move(approversJsonList)); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-mpa/source/model/UpdateApprovalTeamResult.cpp b/generated/src/aws-cpp-sdk-mpa/source/model/UpdateApprovalTeamResult.cpp new file mode 100644 index 00000000000..484bb17f008 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/model/UpdateApprovalTeamResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::MPA::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateApprovalTeamResult::UpdateApprovalTeamResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateApprovalTeamResult& UpdateApprovalTeamResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("VersionId")) + { + m_versionId = jsonValue.GetString("VersionId"); + m_versionIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} 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 1afbc2775a3..76aa19bbc29 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 @@ -138,6 +138,71 @@ namespace NetworkFirewall /* End of legacy constructors due deprecation */ virtual ~NetworkFirewallClient(); + /** + *

            Accepts a transit gateway attachment request for Network Firewall. When you + * accept the attachment request, Network Firewall creates the necessary routing + * components to enable traffic flow between the transit gateway and firewall + * endpoints.

            You must accept a transit gateway attachment to complete the + * creation of a transit gateway-attached firewall, unless auto-accept is enabled + * on the transit gateway. After acceptance, use DescribeFirewall to verify + * the firewall status.

            To reject an attachment instead of accepting it, use + * RejectNetworkFirewallTransitGatewayAttachment.

            It can take + * several minutes for the attachment acceptance to complete and the firewall to + * become available.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::AcceptNetworkFirewallTransitGatewayAttachmentOutcome AcceptNetworkFirewallTransitGatewayAttachment(const Model::AcceptNetworkFirewallTransitGatewayAttachmentRequest& request) const; + + /** + * A Callable wrapper for AcceptNetworkFirewallTransitGatewayAttachment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AcceptNetworkFirewallTransitGatewayAttachmentOutcomeCallable AcceptNetworkFirewallTransitGatewayAttachmentCallable(const AcceptNetworkFirewallTransitGatewayAttachmentRequestT& request) const + { + return SubmitCallable(&NetworkFirewallClient::AcceptNetworkFirewallTransitGatewayAttachment, request); + } + + /** + * An Async wrapper for AcceptNetworkFirewallTransitGatewayAttachment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AcceptNetworkFirewallTransitGatewayAttachmentAsync(const AcceptNetworkFirewallTransitGatewayAttachmentRequestT& request, const AcceptNetworkFirewallTransitGatewayAttachmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFirewallClient::AcceptNetworkFirewallTransitGatewayAttachment, request, handler, context); + } + + /** + *

            Associates the specified Availability Zones with a transit gateway-attached + * firewall. For each Availability Zone, Network Firewall creates a firewall + * endpoint to process traffic. You can specify one or more Availability Zones + * where you want to deploy the firewall.

            After adding Availability Zones, + * you must update your transit gateway route tables to direct traffic through the + * new firewall endpoints. Use DescribeFirewall to monitor the status of the + * new endpoints.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::AssociateAvailabilityZonesOutcome AssociateAvailabilityZones(const Model::AssociateAvailabilityZonesRequest& request) const; + + /** + * A Callable wrapper for AssociateAvailabilityZones that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssociateAvailabilityZonesOutcomeCallable AssociateAvailabilityZonesCallable(const AssociateAvailabilityZonesRequestT& request) const + { + return SubmitCallable(&NetworkFirewallClient::AssociateAvailabilityZones, request); + } + + /** + * An Async wrapper for AssociateAvailabilityZones that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssociateAvailabilityZonesAsync(const AssociateAvailabilityZonesRequestT& request, const AssociateAvailabilityZonesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFirewallClient::AssociateAvailabilityZones, request, handler, context); + } + /** *

            Associates a FirewallPolicy to a Firewall.

            A firewall * policy defines how to monitor and manage your VPC network traffic, using a @@ -430,6 +495,36 @@ namespace NetworkFirewall return SubmitAsync(&NetworkFirewallClient::DeleteFirewallPolicy, request, handler, context); } + /** + *

            Deletes a transit gateway attachment from a Network Firewall. Either the + * firewall owner or the transit gateway owner can delete the attachment.

            + *

            After you delete a transit gateway attachment, raffic will no + * longer flow through the firewall endpoints.

            After you + * initiate the delete operation, use DescribeFirewall to monitor the + * deletion status.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteNetworkFirewallTransitGatewayAttachmentOutcome DeleteNetworkFirewallTransitGatewayAttachment(const Model::DeleteNetworkFirewallTransitGatewayAttachmentRequest& request) const; + + /** + * A Callable wrapper for DeleteNetworkFirewallTransitGatewayAttachment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteNetworkFirewallTransitGatewayAttachmentOutcomeCallable DeleteNetworkFirewallTransitGatewayAttachmentCallable(const DeleteNetworkFirewallTransitGatewayAttachmentRequestT& request) const + { + return SubmitCallable(&NetworkFirewallClient::DeleteNetworkFirewallTransitGatewayAttachment, request); + } + + /** + * An Async wrapper for DeleteNetworkFirewallTransitGatewayAttachment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteNetworkFirewallTransitGatewayAttachmentAsync(const DeleteNetworkFirewallTransitGatewayAttachmentRequestT& request, const DeleteNetworkFirewallTransitGatewayAttachmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFirewallClient::DeleteNetworkFirewallTransitGatewayAttachment, request, handler, context); + } + /** *

            Deletes a resource policy that you created in a PutResourcePolicy * request.

            See Also:

            Returns detailed information for a stateful rule group.

            For active + * threat defense Amazon Web Services managed rule groups, this operation provides + * insight into the protections enabled by the rule group, based on Suricata rule + * metadata fields. Summaries are available for rule groups you manage and for + * active threat defense Amazon Web Services managed rule groups.

            To modify + * how threat information appears in summaries, use the + * SummaryConfiguration parameter in + * UpdateRuleGroup.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DescribeRuleGroupSummaryOutcome DescribeRuleGroupSummary(const Model::DescribeRuleGroupSummaryRequest& request = {}) const; + + /** + * A Callable wrapper for DescribeRuleGroupSummary that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeRuleGroupSummaryOutcomeCallable DescribeRuleGroupSummaryCallable(const DescribeRuleGroupSummaryRequestT& request = {}) const + { + return SubmitCallable(&NetworkFirewallClient::DescribeRuleGroupSummary, request); + } + + /** + * An Async wrapper for DescribeRuleGroupSummary that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeRuleGroupSummaryAsync(const DescribeRuleGroupSummaryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeRuleGroupSummaryRequestT& request = {}) const + { + return SubmitAsync(&NetworkFirewallClient::DescribeRuleGroupSummary, request, handler, context); + } + /** *

            Returns the data objects for the specified TLS inspection * configuration.

            See Also:

            Removes the specified Availability Zone associations from a transit + * gateway-attached firewall. This removes the firewall endpoints from these + * Availability Zones and stops traffic filtering in those zones. Before removing + * an Availability Zone, ensure you've updated your transit gateway route tables to + * redirect traffic appropriately.

            If + * AvailabilityZoneChangeProtection is enabled, you must first disable + * it using UpdateAvailabilityZoneChangeProtection.

            To verify + * the status of your Availability Zone changes, use + * DescribeFirewall.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DisassociateAvailabilityZonesOutcome DisassociateAvailabilityZones(const Model::DisassociateAvailabilityZonesRequest& request) const; + + /** + * A Callable wrapper for DisassociateAvailabilityZones that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisassociateAvailabilityZonesOutcomeCallable DisassociateAvailabilityZonesCallable(const DisassociateAvailabilityZonesRequestT& request) const + { + return SubmitCallable(&NetworkFirewallClient::DisassociateAvailabilityZones, request); + } + + /** + * An Async wrapper for DisassociateAvailabilityZones that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisassociateAvailabilityZonesAsync(const DisassociateAvailabilityZonesRequestT& request, const DisassociateAvailabilityZonesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFirewallClient::DisassociateAvailabilityZones, request, handler, context); + } + /** *

            Removes the specified subnet associations from the firewall. This removes the * firewall endpoints from the subnets and removes any network filtering @@ -1161,6 +1321,41 @@ namespace NetworkFirewall return SubmitAsync(&NetworkFirewallClient::PutResourcePolicy, request, handler, context); } + /** + *

            Rejects a transit gateway attachment request for Network Firewall. When you + * reject the attachment request, Network Firewall cancels the creation of routing + * components between the transit gateway and firewall endpoints.

            Only the + * firewall owner can reject the attachment. After rejection, no traffic will flow + * through the firewall endpoints for this attachment.

            Use + * DescribeFirewall to monitor the rejection status. To accept the + * attachment instead of rejecting it, use + * AcceptNetworkFirewallTransitGatewayAttachment.

            Once + * rejected, you cannot reverse this action. To establish connectivity, you must + * create a new transit gateway-attached firewall.

            See Also:

            + * AWS + * API Reference

            + */ + virtual Model::RejectNetworkFirewallTransitGatewayAttachmentOutcome RejectNetworkFirewallTransitGatewayAttachment(const Model::RejectNetworkFirewallTransitGatewayAttachmentRequest& request) const; + + /** + * A Callable wrapper for RejectNetworkFirewallTransitGatewayAttachment that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RejectNetworkFirewallTransitGatewayAttachmentOutcomeCallable RejectNetworkFirewallTransitGatewayAttachmentCallable(const RejectNetworkFirewallTransitGatewayAttachmentRequestT& request) const + { + return SubmitCallable(&NetworkFirewallClient::RejectNetworkFirewallTransitGatewayAttachment, request); + } + + /** + * An Async wrapper for RejectNetworkFirewallTransitGatewayAttachment that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RejectNetworkFirewallTransitGatewayAttachmentAsync(const RejectNetworkFirewallTransitGatewayAttachmentRequestT& request, const RejectNetworkFirewallTransitGatewayAttachmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFirewallClient::RejectNetworkFirewallTransitGatewayAttachment, request, handler, context); + } + /** *

            Generates a traffic analysis report for the timeframe and traffic type you * specify.

            For information on the contents of a traffic analysis report, @@ -1318,6 +1513,38 @@ namespace NetworkFirewall return SubmitAsync(&NetworkFirewallClient::UntagResource, request, handler, context); } + /** + *

            Modifies the AvailabilityZoneChangeProtection setting for a + * transit gateway-attached firewall. When enabled, this setting prevents + * accidental changes to the firewall's Availability Zone configuration. This helps + * protect against disrupting traffic flow in production environments.

            When + * enabled, you must disable this protection before using + * AssociateAvailabilityZones or DisassociateAvailabilityZones to + * modify the firewall's Availability Zone configuration.

            See Also:

            + * AWS + * API Reference

            + */ + virtual Model::UpdateAvailabilityZoneChangeProtectionOutcome UpdateAvailabilityZoneChangeProtection(const Model::UpdateAvailabilityZoneChangeProtectionRequest& request) const; + + /** + * A Callable wrapper for UpdateAvailabilityZoneChangeProtection that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAvailabilityZoneChangeProtectionOutcomeCallable UpdateAvailabilityZoneChangeProtectionCallable(const UpdateAvailabilityZoneChangeProtectionRequestT& request) const + { + return SubmitCallable(&NetworkFirewallClient::UpdateAvailabilityZoneChangeProtection, request); + } + + /** + * An Async wrapper for UpdateAvailabilityZoneChangeProtection that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAvailabilityZoneChangeProtectionAsync(const UpdateAvailabilityZoneChangeProtectionRequestT& request, const UpdateAvailabilityZoneChangeProtectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&NetworkFirewallClient::UpdateAvailabilityZoneChangeProtection, request, handler, context); + } + /** *

            Enables specific types of firewall analysis on a specific firewall you * define.

            See Also:

            +#include #include #include #include @@ -27,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -39,8 +42,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -53,11 +58,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -78,6 +85,7 @@ #include #include #include +#include #include #include #include @@ -129,6 +137,8 @@ namespace Aws namespace Model { /* Service model forward declarations required in NetworkFirewallClient header */ + class AcceptNetworkFirewallTransitGatewayAttachmentRequest; + class AssociateAvailabilityZonesRequest; class AssociateFirewallPolicyRequest; class AssociateSubnetsRequest; class CreateFirewallRequest; @@ -138,6 +148,7 @@ namespace Aws class CreateVpcEndpointAssociationRequest; class DeleteFirewallRequest; class DeleteFirewallPolicyRequest; + class DeleteNetworkFirewallTransitGatewayAttachmentRequest; class DeleteResourcePolicyRequest; class DeleteRuleGroupRequest; class DeleteTLSInspectionConfigurationRequest; @@ -150,8 +161,10 @@ namespace Aws class DescribeResourcePolicyRequest; class DescribeRuleGroupRequest; class DescribeRuleGroupMetadataRequest; + class DescribeRuleGroupSummaryRequest; class DescribeTLSInspectionConfigurationRequest; class DescribeVpcEndpointAssociationRequest; + class DisassociateAvailabilityZonesRequest; class DisassociateSubnetsRequest; class GetAnalysisReportResultsRequest; class ListAnalysisReportsRequest; @@ -164,11 +177,13 @@ namespace Aws class ListTagsForResourceRequest; class ListVpcEndpointAssociationsRequest; class PutResourcePolicyRequest; + class RejectNetworkFirewallTransitGatewayAttachmentRequest; class StartAnalysisReportRequest; class StartFlowCaptureRequest; class StartFlowFlushRequest; class TagResourceRequest; class UntagResourceRequest; + class UpdateAvailabilityZoneChangeProtectionRequest; class UpdateFirewallAnalysisSettingsRequest; class UpdateFirewallDeleteProtectionRequest; class UpdateFirewallDescriptionRequest; @@ -182,6 +197,8 @@ namespace Aws /* End of service model forward declarations required in NetworkFirewallClient header */ /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AcceptNetworkFirewallTransitGatewayAttachmentOutcome; + typedef Aws::Utils::Outcome AssociateAvailabilityZonesOutcome; typedef Aws::Utils::Outcome AssociateFirewallPolicyOutcome; typedef Aws::Utils::Outcome AssociateSubnetsOutcome; typedef Aws::Utils::Outcome CreateFirewallOutcome; @@ -191,6 +208,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateVpcEndpointAssociationOutcome; typedef Aws::Utils::Outcome DeleteFirewallOutcome; typedef Aws::Utils::Outcome DeleteFirewallPolicyOutcome; + typedef Aws::Utils::Outcome DeleteNetworkFirewallTransitGatewayAttachmentOutcome; typedef Aws::Utils::Outcome DeleteResourcePolicyOutcome; typedef Aws::Utils::Outcome DeleteRuleGroupOutcome; typedef Aws::Utils::Outcome DeleteTLSInspectionConfigurationOutcome; @@ -203,8 +221,10 @@ namespace Aws typedef Aws::Utils::Outcome DescribeResourcePolicyOutcome; typedef Aws::Utils::Outcome DescribeRuleGroupOutcome; typedef Aws::Utils::Outcome DescribeRuleGroupMetadataOutcome; + typedef Aws::Utils::Outcome DescribeRuleGroupSummaryOutcome; typedef Aws::Utils::Outcome DescribeTLSInspectionConfigurationOutcome; typedef Aws::Utils::Outcome DescribeVpcEndpointAssociationOutcome; + typedef Aws::Utils::Outcome DisassociateAvailabilityZonesOutcome; typedef Aws::Utils::Outcome DisassociateSubnetsOutcome; typedef Aws::Utils::Outcome GetAnalysisReportResultsOutcome; typedef Aws::Utils::Outcome ListAnalysisReportsOutcome; @@ -217,11 +237,13 @@ namespace Aws typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListVpcEndpointAssociationsOutcome; typedef Aws::Utils::Outcome PutResourcePolicyOutcome; + typedef Aws::Utils::Outcome RejectNetworkFirewallTransitGatewayAttachmentOutcome; typedef Aws::Utils::Outcome StartAnalysisReportOutcome; typedef Aws::Utils::Outcome StartFlowCaptureOutcome; typedef Aws::Utils::Outcome StartFlowFlushOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateAvailabilityZoneChangeProtectionOutcome; typedef Aws::Utils::Outcome UpdateFirewallAnalysisSettingsOutcome; typedef Aws::Utils::Outcome UpdateFirewallDeleteProtectionOutcome; typedef Aws::Utils::Outcome UpdateFirewallDescriptionOutcome; @@ -235,6 +257,8 @@ namespace Aws /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ + typedef std::future AcceptNetworkFirewallTransitGatewayAttachmentOutcomeCallable; + typedef std::future AssociateAvailabilityZonesOutcomeCallable; typedef std::future AssociateFirewallPolicyOutcomeCallable; typedef std::future AssociateSubnetsOutcomeCallable; typedef std::future CreateFirewallOutcomeCallable; @@ -244,6 +268,7 @@ namespace Aws typedef std::future CreateVpcEndpointAssociationOutcomeCallable; typedef std::future DeleteFirewallOutcomeCallable; typedef std::future DeleteFirewallPolicyOutcomeCallable; + typedef std::future DeleteNetworkFirewallTransitGatewayAttachmentOutcomeCallable; typedef std::future DeleteResourcePolicyOutcomeCallable; typedef std::future DeleteRuleGroupOutcomeCallable; typedef std::future DeleteTLSInspectionConfigurationOutcomeCallable; @@ -256,8 +281,10 @@ namespace Aws typedef std::future DescribeResourcePolicyOutcomeCallable; typedef std::future DescribeRuleGroupOutcomeCallable; typedef std::future DescribeRuleGroupMetadataOutcomeCallable; + typedef std::future DescribeRuleGroupSummaryOutcomeCallable; typedef std::future DescribeTLSInspectionConfigurationOutcomeCallable; typedef std::future DescribeVpcEndpointAssociationOutcomeCallable; + typedef std::future DisassociateAvailabilityZonesOutcomeCallable; typedef std::future DisassociateSubnetsOutcomeCallable; typedef std::future GetAnalysisReportResultsOutcomeCallable; typedef std::future ListAnalysisReportsOutcomeCallable; @@ -270,11 +297,13 @@ namespace Aws typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListVpcEndpointAssociationsOutcomeCallable; typedef std::future PutResourcePolicyOutcomeCallable; + typedef std::future RejectNetworkFirewallTransitGatewayAttachmentOutcomeCallable; typedef std::future StartAnalysisReportOutcomeCallable; typedef std::future StartFlowCaptureOutcomeCallable; typedef std::future StartFlowFlushOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateAvailabilityZoneChangeProtectionOutcomeCallable; typedef std::future UpdateFirewallAnalysisSettingsOutcomeCallable; typedef std::future UpdateFirewallDeleteProtectionOutcomeCallable; typedef std::future UpdateFirewallDescriptionOutcomeCallable; @@ -291,6 +320,8 @@ namespace Aws class NetworkFirewallClient; /* Service model async handlers definitions */ + typedef std::function&) > AcceptNetworkFirewallTransitGatewayAttachmentResponseReceivedHandler; + typedef std::function&) > AssociateAvailabilityZonesResponseReceivedHandler; typedef std::function&) > AssociateFirewallPolicyResponseReceivedHandler; typedef std::function&) > AssociateSubnetsResponseReceivedHandler; typedef std::function&) > CreateFirewallResponseReceivedHandler; @@ -300,6 +331,7 @@ namespace Aws typedef std::function&) > CreateVpcEndpointAssociationResponseReceivedHandler; typedef std::function&) > DeleteFirewallResponseReceivedHandler; typedef std::function&) > DeleteFirewallPolicyResponseReceivedHandler; + typedef std::function&) > DeleteNetworkFirewallTransitGatewayAttachmentResponseReceivedHandler; typedef std::function&) > DeleteResourcePolicyResponseReceivedHandler; typedef std::function&) > DeleteRuleGroupResponseReceivedHandler; typedef std::function&) > DeleteTLSInspectionConfigurationResponseReceivedHandler; @@ -312,8 +344,10 @@ namespace Aws typedef std::function&) > DescribeResourcePolicyResponseReceivedHandler; typedef std::function&) > DescribeRuleGroupResponseReceivedHandler; typedef std::function&) > DescribeRuleGroupMetadataResponseReceivedHandler; + typedef std::function&) > DescribeRuleGroupSummaryResponseReceivedHandler; typedef std::function&) > DescribeTLSInspectionConfigurationResponseReceivedHandler; typedef std::function&) > DescribeVpcEndpointAssociationResponseReceivedHandler; + typedef std::function&) > DisassociateAvailabilityZonesResponseReceivedHandler; typedef std::function&) > DisassociateSubnetsResponseReceivedHandler; typedef std::function&) > GetAnalysisReportResultsResponseReceivedHandler; typedef std::function&) > ListAnalysisReportsResponseReceivedHandler; @@ -326,11 +360,13 @@ namespace Aws typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListVpcEndpointAssociationsResponseReceivedHandler; typedef std::function&) > PutResourcePolicyResponseReceivedHandler; + typedef std::function&) > RejectNetworkFirewallTransitGatewayAttachmentResponseReceivedHandler; typedef std::function&) > StartAnalysisReportResponseReceivedHandler; typedef std::function&) > StartFlowCaptureResponseReceivedHandler; typedef std::function&) > StartFlowFlushResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateAvailabilityZoneChangeProtectionResponseReceivedHandler; typedef std::function&) > UpdateFirewallAnalysisSettingsResponseReceivedHandler; typedef std::function&) > UpdateFirewallDeleteProtectionResponseReceivedHandler; typedef std::function&) > UpdateFirewallDescriptionResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AcceptNetworkFirewallTransitGatewayAttachmentRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AcceptNetworkFirewallTransitGatewayAttachmentRequest.h new file mode 100644 index 00000000000..9d23875eeb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AcceptNetworkFirewallTransitGatewayAttachmentRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class AcceptNetworkFirewallTransitGatewayAttachmentRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API AcceptNetworkFirewallTransitGatewayAttachmentRequest() = default; + + // 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 "AcceptNetworkFirewallTransitGatewayAttachment"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            Required. The unique identifier of the transit gateway attachment to accept. + * This ID is returned in the response when creating a transit gateway-attached + * firewall.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + AcceptNetworkFirewallTransitGatewayAttachmentRequest& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AcceptNetworkFirewallTransitGatewayAttachmentResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AcceptNetworkFirewallTransitGatewayAttachmentResult.h new file mode 100644 index 00000000000..95a217d2cce --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AcceptNetworkFirewallTransitGatewayAttachmentResult.h @@ -0,0 +1,90 @@ +/** + * 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 NetworkFirewall +{ +namespace Model +{ + class AcceptNetworkFirewallTransitGatewayAttachmentResult + { + public: + AWS_NETWORKFIREWALL_API AcceptNetworkFirewallTransitGatewayAttachmentResult() = default; + AWS_NETWORKFIREWALL_API AcceptNetworkFirewallTransitGatewayAttachmentResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API AcceptNetworkFirewallTransitGatewayAttachmentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The unique identifier of the transit gateway attachment that was + * accepted.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + AcceptNetworkFirewallTransitGatewayAttachmentResult& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The current status of the transit gateway attachment. Valid values are:

            + *
            • CREATING - The attachment is being created

            • + *
            • DELETING - The attachment is being deleted

            • + *

              DELETED - The attachment has been deleted

            • + * FAILED - The attachment creation has failed and cannot be + * recovered

            • ERROR - The attachment is in an error + * state that might be recoverable

            • READY - The + * attachment is active and processing traffic

            • + * PENDING_ACCEPTANCE - The attachment is waiting to be accepted

              + *
            • REJECTING - The attachment is in the process of + * being rejected

            • REJECTED - The attachment has + * been rejected

            + */ + inline TransitGatewayAttachmentStatus GetTransitGatewayAttachmentStatus() const { return m_transitGatewayAttachmentStatus; } + inline void SetTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { m_transitGatewayAttachmentStatusHasBeenSet = true; m_transitGatewayAttachmentStatus = value; } + inline AcceptNetworkFirewallTransitGatewayAttachmentResult& WithTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { SetTransitGatewayAttachmentStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + AcceptNetworkFirewallTransitGatewayAttachmentResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + + TransitGatewayAttachmentStatus m_transitGatewayAttachmentStatus{TransitGatewayAttachmentStatus::NOT_SET}; + bool m_transitGatewayAttachmentStatusHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AssociateAvailabilityZonesRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AssociateAvailabilityZonesRequest.h new file mode 100644 index 00000000000..f28adee8c2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AssociateAvailabilityZonesRequest.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class AssociateAvailabilityZonesRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API AssociateAvailabilityZonesRequest() = default; + + // 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 "AssociateAvailabilityZones"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            An optional token that you can use for optimistic locking. Network Firewall + * returns a token to your requests that access the firewall. The token marks the + * state of the firewall resource at the time of the request.

            To make an + * unconditional change to the firewall, omit the token in your update request. + * Without the token, Network Firewall performs your updates regardless of whether + * the firewall has changed since you last retrieved it.

            To make a + * conditional change to the firewall, provide the token in your update request. + * Network Firewall uses the token to ensure that the firewall hasn't changed since + * you last retrieved it. If it has changed, the operation fails with an + * InvalidTokenException. If this happens, retrieve the firewall again + * to get a current copy of it with a new token. Reapply your changes as needed, + * then try the operation again using the new token.

            + */ + inline const Aws::String& GetUpdateToken() const { return m_updateToken; } + inline bool UpdateTokenHasBeenSet() const { return m_updateTokenHasBeenSet; } + template + void SetUpdateToken(UpdateTokenT&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::forward(value); } + template + AssociateAvailabilityZonesRequest& WithUpdateToken(UpdateTokenT&& value) { SetUpdateToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the firewall.

            You must specify the + * ARN or the name, and you can specify both.

            + */ + inline const Aws::String& GetFirewallArn() const { return m_firewallArn; } + inline bool FirewallArnHasBeenSet() const { return m_firewallArnHasBeenSet; } + template + void SetFirewallArn(FirewallArnT&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::forward(value); } + template + AssociateAvailabilityZonesRequest& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The descriptive name of the firewall. You can't change the name of a firewall + * after you create it.

            You must specify the ARN or the name, and you can + * specify both.

            + */ + inline const Aws::String& GetFirewallName() const { return m_firewallName; } + inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; } + template + void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward(value); } + template + AssociateAvailabilityZonesRequest& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Required. The Availability Zones where you want to create firewall endpoints. + * You must specify at least one Availability Zone.

            + */ + inline const Aws::Vector& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; } + inline bool AvailabilityZoneMappingsHasBeenSet() const { return m_availabilityZoneMappingsHasBeenSet; } + template> + void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward(value); } + template> + AssociateAvailabilityZonesRequest& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward(value)); return *this;} + template + AssociateAvailabilityZonesRequest& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_updateToken; + bool m_updateTokenHasBeenSet = false; + + Aws::String m_firewallArn; + bool m_firewallArnHasBeenSet = false; + + Aws::String m_firewallName; + bool m_firewallNameHasBeenSet = false; + + Aws::Vector m_availabilityZoneMappings; + bool m_availabilityZoneMappingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AssociateAvailabilityZonesResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AssociateAvailabilityZonesResult.h new file mode 100644 index 00000000000..1958f310ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AssociateAvailabilityZonesResult.h @@ -0,0 +1,125 @@ +/** + * 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 NetworkFirewall +{ +namespace Model +{ + class AssociateAvailabilityZonesResult + { + public: + AWS_NETWORKFIREWALL_API AssociateAvailabilityZonesResult() = default; + AWS_NETWORKFIREWALL_API AssociateAvailabilityZonesResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API AssociateAvailabilityZonesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the firewall.

            + */ + inline const Aws::String& GetFirewallArn() const { return m_firewallArn; } + template + void SetFirewallArn(FirewallArnT&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::forward(value); } + template + AssociateAvailabilityZonesResult& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The descriptive name of the firewall. You can't change the name of a firewall + * after you create it.

            + */ + inline const Aws::String& GetFirewallName() const { return m_firewallName; } + template + void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward(value); } + template + AssociateAvailabilityZonesResult& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The Availability Zones where Network Firewall created firewall endpoints. + * Each mapping specifies an Availability Zone where the firewall processes + * traffic.

            + */ + inline const Aws::Vector& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; } + template> + void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward(value); } + template> + AssociateAvailabilityZonesResult& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward(value)); return *this;} + template + AssociateAvailabilityZonesResult& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            An optional token that you can use for optimistic locking. Network Firewall + * returns a token to your requests that access the firewall. The token marks the + * state of the firewall resource at the time of the request.

            To make an + * unconditional change to the firewall, omit the token in your update request. + * Without the token, Network Firewall performs your updates regardless of whether + * the firewall has changed since you last retrieved it.

            To make a + * conditional change to the firewall, provide the token in your update request. + * Network Firewall uses the token to ensure that the firewall hasn't changed since + * you last retrieved it. If it has changed, the operation fails with an + * InvalidTokenException. If this happens, retrieve the firewall again + * to get a current copy of it with a new token. Reapply your changes as needed, + * then try the operation again using the new token.

            + */ + inline const Aws::String& GetUpdateToken() const { return m_updateToken; } + template + void SetUpdateToken(UpdateTokenT&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::forward(value); } + template + AssociateAvailabilityZonesResult& WithUpdateToken(UpdateTokenT&& value) { SetUpdateToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + AssociateAvailabilityZonesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_firewallArn; + bool m_firewallArnHasBeenSet = false; + + Aws::String m_firewallName; + bool m_firewallNameHasBeenSet = false; + + Aws::Vector m_availabilityZoneMappings; + bool m_availabilityZoneMappingsHasBeenSet = false; + + Aws::String m_updateToken; + bool m_updateTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AvailabilityZoneMapping.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AvailabilityZoneMapping.h new file mode 100644 index 00000000000..36bf17527db --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/AvailabilityZoneMapping.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + + /** + *

            Defines the mapping between an Availability Zone and a firewall endpoint for + * a transit gateway-attached firewall. Each mapping represents where the firewall + * can process traffic. You use these mappings when calling CreateFirewall, + * AssociateAvailabilityZones, and DisassociateAvailabilityZones.

            + *

            To retrieve the current Availability Zone mappings for a firewall, use + * DescribeFirewall.

            See Also:

            AWS + * API Reference

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

            The ID of the Availability Zone where the firewall endpoint is located. For + * example, us-east-2a. The Availability Zone must be in the same + * Region as the transit gateway.

            + */ + inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; } + inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } + template + void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward(value); } + template + AvailabilityZoneMapping& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_availabilityZone; + bool m_availabilityZoneHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateFirewallRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateFirewallRequest.h index 7d1c38a9556..375a267d52c 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateFirewallRequest.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateFirewallRequest.h @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace Aws @@ -188,6 +189,63 @@ namespace Model CreateFirewallRequest& WithEnabledAnalysisTypes(EnabledAnalysisTypesT&& value) { SetEnabledAnalysisTypes(std::forward(value)); return *this;} inline CreateFirewallRequest& AddEnabledAnalysisTypes(EnabledAnalysisType value) { m_enabledAnalysisTypesHasBeenSet = true; m_enabledAnalysisTypes.push_back(value); return *this; } ///@} + + ///@{ + /** + *

            Required when creating a transit gateway-attached firewall. The unique + * identifier of the transit gateway to attach to this firewall. You can provide + * either a transit gateway from your account or one that has been shared with you + * through Resource Access Manager.

            After creating the firewall, + * you cannot change the transit gateway association. To use a different transit + * gateway, you must create a new firewall.

            For information + * about creating firewalls, see CreateFirewall. For specific guidance about + * transit gateway-attached firewalls, see Considerations + * for transit gateway-attached firewalls in the Network Firewall Developer + * Guide.

            + */ + inline const Aws::String& GetTransitGatewayId() const { return m_transitGatewayId; } + inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; } + template + void SetTransitGatewayId(TransitGatewayIdT&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::forward(value); } + template + CreateFirewallRequest& WithTransitGatewayId(TransitGatewayIdT&& value) { SetTransitGatewayId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Required. The Availability Zones where you want to create firewall endpoints + * for a transit gateway-attached firewall. You must specify at least one + * Availability Zone. Consider enabling the firewall in every Availability Zone + * where you have workloads to maintain Availability Zone independence.

            You + * can modify Availability Zones later using AssociateAvailabilityZones or + * DisassociateAvailabilityZones, but this may briefly disrupt traffic. The + * AvailabilityZoneChangeProtection setting controls whether you can + * make these modifications.

            + */ + inline const Aws::Vector& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; } + inline bool AvailabilityZoneMappingsHasBeenSet() const { return m_availabilityZoneMappingsHasBeenSet; } + template> + void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward(value); } + template> + CreateFirewallRequest& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward(value)); return *this;} + template + CreateFirewallRequest& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            Optional. A setting indicating whether the firewall is protected against + * changes to its Availability Zone configuration. When set to TRUE, + * you cannot add or remove Availability Zones without first disabling this + * protection using UpdateAvailabilityZoneChangeProtection.

            Default + * value: FALSE

            + */ + inline bool GetAvailabilityZoneChangeProtection() const { return m_availabilityZoneChangeProtection; } + inline bool AvailabilityZoneChangeProtectionHasBeenSet() const { return m_availabilityZoneChangeProtectionHasBeenSet; } + inline void SetAvailabilityZoneChangeProtection(bool value) { m_availabilityZoneChangeProtectionHasBeenSet = true; m_availabilityZoneChangeProtection = value; } + inline CreateFirewallRequest& WithAvailabilityZoneChangeProtection(bool value) { SetAvailabilityZoneChangeProtection(value); return *this;} + ///@} private: Aws::String m_firewallName; @@ -222,6 +280,15 @@ namespace Model Aws::Vector m_enabledAnalysisTypes; bool m_enabledAnalysisTypesHasBeenSet = false; + + Aws::String m_transitGatewayId; + bool m_transitGatewayIdHasBeenSet = false; + + Aws::Vector m_availabilityZoneMappings; + bool m_availabilityZoneMappingsHasBeenSet = false; + + bool m_availabilityZoneChangeProtection{false}; + bool m_availabilityZoneChangeProtectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateRuleGroupRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateRuleGroupRequest.h index 621a91285c0..a63b2554847 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateRuleGroupRequest.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/CreateRuleGroupRequest.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -217,6 +218,22 @@ namespace Model inline void SetAnalyzeRuleGroup(bool value) { m_analyzeRuleGroupHasBeenSet = true; m_analyzeRuleGroup = value; } inline CreateRuleGroupRequest& WithAnalyzeRuleGroup(bool value) { SetAnalyzeRuleGroup(value); return *this;} ///@} + + ///@{ + /** + *

            An object that contains a RuleOptions array of strings. You use + * RuleOptions to determine which of the following RuleSummary + * values are returned in response to DescribeRuleGroupSummary.

            + *
            • Metadata - returns

            • + * Msg

            • SID

            + */ + inline const SummaryConfiguration& GetSummaryConfiguration() const { return m_summaryConfiguration; } + inline bool SummaryConfigurationHasBeenSet() const { return m_summaryConfigurationHasBeenSet; } + template + void SetSummaryConfiguration(SummaryConfigurationT&& value) { m_summaryConfigurationHasBeenSet = true; m_summaryConfiguration = std::forward(value); } + template + CreateRuleGroupRequest& WithSummaryConfiguration(SummaryConfigurationT&& value) { SetSummaryConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_ruleGroupName; @@ -251,6 +268,9 @@ namespace Model bool m_analyzeRuleGroup{false}; bool m_analyzeRuleGroupHasBeenSet = false; + + SummaryConfiguration m_summaryConfiguration; + bool m_summaryConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DeleteNetworkFirewallTransitGatewayAttachmentRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DeleteNetworkFirewallTransitGatewayAttachmentRequest.h new file mode 100644 index 00000000000..e95b2ad9a2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DeleteNetworkFirewallTransitGatewayAttachmentRequest.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class DeleteNetworkFirewallTransitGatewayAttachmentRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API DeleteNetworkFirewallTransitGatewayAttachmentRequest() = default; + + // 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 "DeleteNetworkFirewallTransitGatewayAttachment"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            Required. The unique identifier of the transit gateway attachment to + * delete.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + DeleteNetworkFirewallTransitGatewayAttachmentRequest& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DeleteNetworkFirewallTransitGatewayAttachmentResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DeleteNetworkFirewallTransitGatewayAttachmentResult.h new file mode 100644 index 00000000000..b403cb84eb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DeleteNetworkFirewallTransitGatewayAttachmentResult.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + class DeleteNetworkFirewallTransitGatewayAttachmentResult + { + public: + AWS_NETWORKFIREWALL_API DeleteNetworkFirewallTransitGatewayAttachmentResult() = default; + AWS_NETWORKFIREWALL_API DeleteNetworkFirewallTransitGatewayAttachmentResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API DeleteNetworkFirewallTransitGatewayAttachmentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The ID of the transit gateway attachment that was deleted.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + DeleteNetworkFirewallTransitGatewayAttachmentResult& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The current status of the transit gateway attachment deletion process.

            + *

            Valid values are:

            • CREATING - The attachment is + * being created

            • DELETING - The attachment is being + * deleted

            • DELETED - The attachment has been + * deleted

            • FAILED - The attachment creation has + * failed and cannot be recovered

            • ERROR - The + * attachment is in an error state that might be recoverable

            • + * READY - The attachment is active and processing traffic

            • + *
            • PENDING_ACCEPTANCE - The attachment is waiting to be + * accepted

            • REJECTING - The attachment is in the + * process of being rejected

            • REJECTED - The + * attachment has been rejected

            + */ + inline TransitGatewayAttachmentStatus GetTransitGatewayAttachmentStatus() const { return m_transitGatewayAttachmentStatus; } + inline void SetTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { m_transitGatewayAttachmentStatusHasBeenSet = true; m_transitGatewayAttachmentStatus = value; } + inline DeleteNetworkFirewallTransitGatewayAttachmentResult& WithTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { SetTransitGatewayAttachmentStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteNetworkFirewallTransitGatewayAttachmentResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + + TransitGatewayAttachmentStatus m_transitGatewayAttachmentStatus{TransitGatewayAttachmentStatus::NOT_SET}; + bool m_transitGatewayAttachmentStatusHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeFirewallMetadataResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeFirewallMetadataResult.h index 97a22273aa2..232ccc101ae 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeFirewallMetadataResult.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeFirewallMetadataResult.h @@ -98,6 +98,18 @@ namespace Model } ///@} + ///@{ + /** + *

            The unique identifier of the transit gateway attachment associated with this + * firewall. This field is only present for transit gateway-attached firewalls.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + DescribeFirewallMetadataResult& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -123,6 +135,9 @@ namespace Model Aws::Map m_supportedAvailabilityZones; bool m_supportedAvailabilityZonesHasBeenSet = false; + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupMetadataResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupMetadataResult.h index ea1df963c4c..0bea5c540ed 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupMetadataResult.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupMetadataResult.h @@ -110,7 +110,7 @@ namespace Model ///@{ /** - *

            The last time that the rule group was changed.

            + *

            A timestamp indicating when the rule group was last modified.

            */ inline const Aws::Utils::DateTime& GetLastModifiedTime() const { return m_lastModifiedTime; } template diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupSummaryRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupSummaryRequest.h new file mode 100644 index 00000000000..5f2aa12a414 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupSummaryRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class DescribeRuleGroupSummaryRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API DescribeRuleGroupSummaryRequest() = default; + + // 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 "DescribeRuleGroupSummary"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The descriptive name of the rule group. You can't change the name of a rule + * group after you create it.

            You must specify the ARN or the name, and you + * can specify both.

            + */ + inline const Aws::String& GetRuleGroupName() const { return m_ruleGroupName; } + inline bool RuleGroupNameHasBeenSet() const { return m_ruleGroupNameHasBeenSet; } + template + void SetRuleGroupName(RuleGroupNameT&& value) { m_ruleGroupNameHasBeenSet = true; m_ruleGroupName = std::forward(value); } + template + DescribeRuleGroupSummaryRequest& WithRuleGroupName(RuleGroupNameT&& value) { SetRuleGroupName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Required. The Amazon Resource Name (ARN) of the rule group.

            You must + * specify the ARN or the name, and you can specify both.

            + */ + inline const Aws::String& GetRuleGroupArn() const { return m_ruleGroupArn; } + inline bool RuleGroupArnHasBeenSet() const { return m_ruleGroupArnHasBeenSet; } + template + void SetRuleGroupArn(RuleGroupArnT&& value) { m_ruleGroupArnHasBeenSet = true; m_ruleGroupArn = std::forward(value); } + template + DescribeRuleGroupSummaryRequest& WithRuleGroupArn(RuleGroupArnT&& value) { SetRuleGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The type of rule group you want a summary for. This is a required field.

            + *

            Valid value: STATEFUL

            Note that STATELESS + * exists but is not currently supported. If you provide STATELESS, an + * exception is returned.

            + */ + inline RuleGroupType GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(RuleGroupType value) { m_typeHasBeenSet = true; m_type = value; } + inline DescribeRuleGroupSummaryRequest& WithType(RuleGroupType value) { SetType(value); return *this;} + ///@} + private: + + Aws::String m_ruleGroupName; + bool m_ruleGroupNameHasBeenSet = false; + + Aws::String m_ruleGroupArn; + bool m_ruleGroupArnHasBeenSet = false; + + RuleGroupType m_type{RuleGroupType::NOT_SET}; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupSummaryResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupSummaryResult.h new file mode 100644 index 00000000000..af9be93c074 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DescribeRuleGroupSummaryResult.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + class DescribeRuleGroupSummaryResult + { + public: + AWS_NETWORKFIREWALL_API DescribeRuleGroupSummaryResult() = default; + AWS_NETWORKFIREWALL_API DescribeRuleGroupSummaryResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API DescribeRuleGroupSummaryResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The descriptive name of the rule group. You can't change the name of a rule + * group after you create it.

            + */ + inline const Aws::String& GetRuleGroupName() const { return m_ruleGroupName; } + template + void SetRuleGroupName(RuleGroupNameT&& value) { m_ruleGroupNameHasBeenSet = true; m_ruleGroupName = std::forward(value); } + template + DescribeRuleGroupSummaryResult& WithRuleGroupName(RuleGroupNameT&& value) { SetRuleGroupName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            A description of the rule group.

            + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + DescribeRuleGroupSummaryResult& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            A complex type that contains rule information based on the rule group's + * configured summary settings. The content varies depending on the fields that you + * specified to extract in your SummaryConfiguration. When you haven't configured + * any summary settings, this returns an empty array. The response might + * include:

            • Rule identifiers

            • Rule + * descriptions

            • Any metadata fields that you specified in your + * SummaryConfiguration

            + */ + inline const Summary& GetSummary() const { return m_summary; } + template + void SetSummary(SummaryT&& value) { m_summaryHasBeenSet = true; m_summary = std::forward(value); } + template + DescribeRuleGroupSummaryResult& WithSummary(SummaryT&& value) { SetSummary(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DescribeRuleGroupSummaryResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleGroupName; + bool m_ruleGroupNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Summary m_summary; + bool m_summaryHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DisassociateAvailabilityZonesRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DisassociateAvailabilityZonesRequest.h new file mode 100644 index 00000000000..78c907eafec --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DisassociateAvailabilityZonesRequest.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class DisassociateAvailabilityZonesRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API DisassociateAvailabilityZonesRequest() = default; + + // 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 "DisassociateAvailabilityZones"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            An optional token that you can use for optimistic locking. Network Firewall + * returns a token to your requests that access the firewall. The token marks the + * state of the firewall resource at the time of the request.

            To make an + * unconditional change to the firewall, omit the token in your update request. + * Without the token, Network Firewall performs your updates regardless of whether + * the firewall has changed since you last retrieved it.

            To make a + * conditional change to the firewall, provide the token in your update request. + * Network Firewall uses the token to ensure that the firewall hasn't changed since + * you last retrieved it. If it has changed, the operation fails with an + * InvalidTokenException. If this happens, retrieve the firewall again + * to get a current copy of it with a new token. Reapply your changes as needed, + * then try the operation again using the new token.

            + */ + inline const Aws::String& GetUpdateToken() const { return m_updateToken; } + inline bool UpdateTokenHasBeenSet() const { return m_updateTokenHasBeenSet; } + template + void SetUpdateToken(UpdateTokenT&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::forward(value); } + template + DisassociateAvailabilityZonesRequest& WithUpdateToken(UpdateTokenT&& value) { SetUpdateToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the firewall.

            You must specify the + * ARN or the name, and you can specify both.

            + */ + inline const Aws::String& GetFirewallArn() const { return m_firewallArn; } + inline bool FirewallArnHasBeenSet() const { return m_firewallArnHasBeenSet; } + template + void SetFirewallArn(FirewallArnT&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::forward(value); } + template + DisassociateAvailabilityZonesRequest& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The descriptive name of the firewall. You can't change the name of a firewall + * after you create it.

            You must specify the ARN or the name, and you can + * specify both.

            + */ + inline const Aws::String& GetFirewallName() const { return m_firewallName; } + inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; } + template + void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward(value); } + template + DisassociateAvailabilityZonesRequest& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            Required. The Availability Zones to remove from the firewall's + * configuration.

            + */ + inline const Aws::Vector& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; } + inline bool AvailabilityZoneMappingsHasBeenSet() const { return m_availabilityZoneMappingsHasBeenSet; } + template> + void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward(value); } + template> + DisassociateAvailabilityZonesRequest& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward(value)); return *this;} + template + DisassociateAvailabilityZonesRequest& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_updateToken; + bool m_updateTokenHasBeenSet = false; + + Aws::String m_firewallArn; + bool m_firewallArnHasBeenSet = false; + + Aws::String m_firewallName; + bool m_firewallNameHasBeenSet = false; + + Aws::Vector m_availabilityZoneMappings; + bool m_availabilityZoneMappingsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DisassociateAvailabilityZonesResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DisassociateAvailabilityZonesResult.h new file mode 100644 index 00000000000..e77b0d75ebc --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/DisassociateAvailabilityZonesResult.h @@ -0,0 +1,124 @@ +/** + * 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 NetworkFirewall +{ +namespace Model +{ + class DisassociateAvailabilityZonesResult + { + public: + AWS_NETWORKFIREWALL_API DisassociateAvailabilityZonesResult() = default; + AWS_NETWORKFIREWALL_API DisassociateAvailabilityZonesResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API DisassociateAvailabilityZonesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the firewall.

            + */ + inline const Aws::String& GetFirewallArn() const { return m_firewallArn; } + template + void SetFirewallArn(FirewallArnT&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::forward(value); } + template + DisassociateAvailabilityZonesResult& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The descriptive name of the firewall. You can't change the name of a firewall + * after you create it.

            + */ + inline const Aws::String& GetFirewallName() const { return m_firewallName; } + template + void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward(value); } + template + DisassociateAvailabilityZonesResult& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The remaining Availability Zones where the firewall has endpoints after the + * disassociation.

            + */ + inline const Aws::Vector& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; } + template> + void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward(value); } + template> + DisassociateAvailabilityZonesResult& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward(value)); return *this;} + template + DisassociateAvailabilityZonesResult& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            An optional token that you can use for optimistic locking. Network Firewall + * returns a token to your requests that access the firewall. The token marks the + * state of the firewall resource at the time of the request.

            To make an + * unconditional change to the firewall, omit the token in your update request. + * Without the token, Network Firewall performs your updates regardless of whether + * the firewall has changed since you last retrieved it.

            To make a + * conditional change to the firewall, provide the token in your update request. + * Network Firewall uses the token to ensure that the firewall hasn't changed since + * you last retrieved it. If it has changed, the operation fails with an + * InvalidTokenException. If this happens, retrieve the firewall again + * to get a current copy of it with a new token. Reapply your changes as needed, + * then try the operation again using the new token.

            + */ + inline const Aws::String& GetUpdateToken() const { return m_updateToken; } + template + void SetUpdateToken(UpdateTokenT&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::forward(value); } + template + DisassociateAvailabilityZonesResult& WithUpdateToken(UpdateTokenT&& value) { SetUpdateToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DisassociateAvailabilityZonesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_firewallArn; + bool m_firewallArnHasBeenSet = false; + + Aws::String m_firewallName; + bool m_firewallNameHasBeenSet = false; + + Aws::Vector m_availabilityZoneMappings; + bool m_availabilityZoneMappingsHasBeenSet = false; + + Aws::String m_updateToken; + bool m_updateTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Firewall.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Firewall.h index 227007d2afa..022801ecb61 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Firewall.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Firewall.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -246,6 +247,61 @@ namespace Model Firewall& WithEnabledAnalysisTypes(EnabledAnalysisTypesT&& value) { SetEnabledAnalysisTypes(std::forward(value)); return *this;} inline Firewall& AddEnabledAnalysisTypes(EnabledAnalysisType value) { m_enabledAnalysisTypesHasBeenSet = true; m_enabledAnalysisTypes.push_back(value); return *this; } ///@} + + ///@{ + /** + *

            The unique identifier of the transit gateway associated with this firewall. + * This field is only present for transit gateway-attached firewalls.

            + */ + inline const Aws::String& GetTransitGatewayId() const { return m_transitGatewayId; } + inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; } + template + void SetTransitGatewayId(TransitGatewayIdT&& value) { m_transitGatewayIdHasBeenSet = true; m_transitGatewayId = std::forward(value); } + template + Firewall& WithTransitGatewayId(TransitGatewayIdT&& value) { SetTransitGatewayId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The Amazon Web Services account ID that owns the transit gateway. This may be + * different from the firewall owner's account ID when using a shared transit + * gateway.

            + */ + inline const Aws::String& GetTransitGatewayOwnerAccountId() const { return m_transitGatewayOwnerAccountId; } + inline bool TransitGatewayOwnerAccountIdHasBeenSet() const { return m_transitGatewayOwnerAccountIdHasBeenSet; } + template + void SetTransitGatewayOwnerAccountId(TransitGatewayOwnerAccountIdT&& value) { m_transitGatewayOwnerAccountIdHasBeenSet = true; m_transitGatewayOwnerAccountId = std::forward(value); } + template + Firewall& WithTransitGatewayOwnerAccountId(TransitGatewayOwnerAccountIdT&& value) { SetTransitGatewayOwnerAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The Availability Zones where the firewall endpoints are created for a transit + * gateway-attached firewall. Each mapping specifies an Availability Zone where the + * firewall processes traffic.

            + */ + inline const Aws::Vector& GetAvailabilityZoneMappings() const { return m_availabilityZoneMappings; } + inline bool AvailabilityZoneMappingsHasBeenSet() const { return m_availabilityZoneMappingsHasBeenSet; } + template> + void SetAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings = std::forward(value); } + template> + Firewall& WithAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { SetAvailabilityZoneMappings(std::forward(value)); return *this;} + template + Firewall& AddAvailabilityZoneMappings(AvailabilityZoneMappingsT&& value) { m_availabilityZoneMappingsHasBeenSet = true; m_availabilityZoneMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

            A setting indicating whether the firewall is protected against changes to its + * Availability Zone configuration. When set to TRUE, you must first + * disable this protection before adding or removing Availability Zones.

            + */ + inline bool GetAvailabilityZoneChangeProtection() const { return m_availabilityZoneChangeProtection; } + inline bool AvailabilityZoneChangeProtectionHasBeenSet() const { return m_availabilityZoneChangeProtectionHasBeenSet; } + inline void SetAvailabilityZoneChangeProtection(bool value) { m_availabilityZoneChangeProtectionHasBeenSet = true; m_availabilityZoneChangeProtection = value; } + inline Firewall& WithAvailabilityZoneChangeProtection(bool value) { SetAvailabilityZoneChangeProtection(value); return *this;} + ///@} private: Aws::String m_firewallName; @@ -289,6 +345,18 @@ namespace Model Aws::Vector m_enabledAnalysisTypes; bool m_enabledAnalysisTypesHasBeenSet = false; + + Aws::String m_transitGatewayId; + bool m_transitGatewayIdHasBeenSet = false; + + Aws::String m_transitGatewayOwnerAccountId; + bool m_transitGatewayOwnerAccountIdHasBeenSet = false; + + Aws::Vector m_availabilityZoneMappings; + bool m_availabilityZoneMappingsHasBeenSet = false; + + bool m_availabilityZoneChangeProtection{false}; + bool m_availabilityZoneChangeProtectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallMetadata.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallMetadata.h index 9b2b334a2d5..6d49fb99047 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallMetadata.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallMetadata.h @@ -63,6 +63,19 @@ namespace Model template FirewallMetadata& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

            The unique identifier of the transit gateway attachment associated with this + * firewall. This field is only present for transit gateway-attached firewalls.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + FirewallMetadata& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} private: Aws::String m_firewallName; @@ -70,6 +83,9 @@ namespace Model Aws::String m_firewallArn; bool m_firewallArnHasBeenSet = false; + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallStatus.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallStatus.h index 25234d86890..6653b3b4e14 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallStatus.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FirewallStatus.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -116,6 +117,21 @@ namespace Model template FirewallStatus& WithCapacityUsageSummary(CapacityUsageSummaryT&& value) { SetCapacityUsageSummary(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

            The synchronization state of the transit gateway attachment. This indicates + * whether the firewall's transit gateway configuration is properly synchronized + * and operational. Use this to verify that your transit gateway configuration + * changes have been applied.

            + */ + inline const TransitGatewayAttachmentSyncState& GetTransitGatewayAttachmentSyncState() const { return m_transitGatewayAttachmentSyncState; } + inline bool TransitGatewayAttachmentSyncStateHasBeenSet() const { return m_transitGatewayAttachmentSyncStateHasBeenSet; } + template + void SetTransitGatewayAttachmentSyncState(TransitGatewayAttachmentSyncStateT&& value) { m_transitGatewayAttachmentSyncStateHasBeenSet = true; m_transitGatewayAttachmentSyncState = std::forward(value); } + template + FirewallStatus& WithTransitGatewayAttachmentSyncState(TransitGatewayAttachmentSyncStateT&& value) { SetTransitGatewayAttachmentSyncState(std::forward(value)); return *this;} + ///@} private: FirewallStatusValue m_status{FirewallStatusValue::NOT_SET}; @@ -129,6 +145,9 @@ namespace Model CapacityUsageSummary m_capacityUsageSummary; bool m_capacityUsageSummaryHasBeenSet = false; + + TransitGatewayAttachmentSyncState m_transitGatewayAttachmentSyncState; + bool m_transitGatewayAttachmentSyncStateHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RejectNetworkFirewallTransitGatewayAttachmentRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RejectNetworkFirewallTransitGatewayAttachmentRequest.h new file mode 100644 index 00000000000..dad44fcb1ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RejectNetworkFirewallTransitGatewayAttachmentRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class RejectNetworkFirewallTransitGatewayAttachmentRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API RejectNetworkFirewallTransitGatewayAttachmentRequest() = default; + + // 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 "RejectNetworkFirewallTransitGatewayAttachment"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            Required. The unique identifier of the transit gateway attachment to reject. + * This ID is returned in the response when creating a transit gateway-attached + * firewall.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + RejectNetworkFirewallTransitGatewayAttachmentRequest& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RejectNetworkFirewallTransitGatewayAttachmentResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RejectNetworkFirewallTransitGatewayAttachmentResult.h new file mode 100644 index 00000000000..87a62e5498a --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RejectNetworkFirewallTransitGatewayAttachmentResult.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + class RejectNetworkFirewallTransitGatewayAttachmentResult + { + public: + AWS_NETWORKFIREWALL_API RejectNetworkFirewallTransitGatewayAttachmentResult() = default; + AWS_NETWORKFIREWALL_API RejectNetworkFirewallTransitGatewayAttachmentResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API RejectNetworkFirewallTransitGatewayAttachmentResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The unique identifier of the transit gateway attachment that was + * rejected.

            + */ + inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; } + template + void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::forward(value); } + template + RejectNetworkFirewallTransitGatewayAttachmentResult& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) { SetTransitGatewayAttachmentId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The current status of the transit gateway attachment. Valid values are:

            + *
            • CREATING - The attachment is being created

            • + *
            • DELETING - The attachment is being deleted

            • + *

              DELETED - The attachment has been deleted

            • + * FAILED - The attachment creation has failed and cannot be + * recovered

            • ERROR - The attachment is in an error + * state that might be recoverable

            • READY - The + * attachment is active and processing traffic

            • + * PENDING_ACCEPTANCE - The attachment is waiting to be accepted

              + *
            • REJECTING - The attachment is in the process of + * being rejected

            • REJECTED - The attachment has + * been rejected

            For information about troubleshooting endpoint + * failures, see Troubleshooting + * firewall endpoint failures in the Network Firewall Developer + * Guide.

            + */ + inline TransitGatewayAttachmentStatus GetTransitGatewayAttachmentStatus() const { return m_transitGatewayAttachmentStatus; } + inline void SetTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { m_transitGatewayAttachmentStatusHasBeenSet = true; m_transitGatewayAttachmentStatus = value; } + inline RejectNetworkFirewallTransitGatewayAttachmentResult& WithTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { SetTransitGatewayAttachmentStatus(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + RejectNetworkFirewallTransitGatewayAttachmentResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_transitGatewayAttachmentId; + bool m_transitGatewayAttachmentIdHasBeenSet = false; + + TransitGatewayAttachmentStatus m_transitGatewayAttachmentStatus{TransitGatewayAttachmentStatus::NOT_SET}; + bool m_transitGatewayAttachmentStatusHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ResourceManagedType.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ResourceManagedType.h index bf91210333d..fea404da9fa 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ResourceManagedType.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ResourceManagedType.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, AWS_MANAGED_THREAT_SIGNATURES, - AWS_MANAGED_DOMAIN_LISTS + AWS_MANAGED_DOMAIN_LISTS, + ACTIVE_THREAT_DEFENSE }; namespace ResourceManagedTypeMapper diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleGroupResponse.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleGroupResponse.h index 019286957ad..346fd2c39a9 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleGroupResponse.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleGroupResponse.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -200,7 +201,7 @@ namespace Model ///@{ /** - *

            The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS + *

            The Amazon Resource Name (ARN) of the Amazon Simple Notification Service SNS * topic that's used to record changes to the managed rule group. You can subscribe * to the SNS topic to receive notifications when the managed rule group is * modified, such as for new versions and for version expiration. For more @@ -248,6 +249,22 @@ namespace Model template RuleGroupResponse& AddAnalysisResults(AnalysisResultsT&& value) { m_analysisResultsHasBeenSet = true; m_analysisResults.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

            A complex type containing the currently selected rule option fields that will + * be displayed for rule summarization returned by + * DescribeRuleGroupSummary.

            + */ + inline const SummaryConfiguration& GetSummaryConfiguration() const { return m_summaryConfiguration; } + inline bool SummaryConfigurationHasBeenSet() const { return m_summaryConfigurationHasBeenSet; } + template + void SetSummaryConfiguration(SummaryConfigurationT&& value) { m_summaryConfigurationHasBeenSet = true; m_summaryConfiguration = std::forward(value); } + template + RuleGroupResponse& WithSummaryConfiguration(SummaryConfigurationT&& value) { SetSummaryConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_ruleGroupArn; @@ -294,6 +311,9 @@ namespace Model Aws::Vector m_analysisResults; bool m_analysisResultsHasBeenSet = false; + + SummaryConfiguration m_summaryConfiguration; + bool m_summaryConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleSummary.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleSummary.h new file mode 100644 index 00000000000..97c0eb95694 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleSummary.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + + /** + *

            A complex type containing details about a Suricata rule. Contains:

              + *
            • SID

            • Msg

            • + *

              Metadata

            Summaries are available for rule + * groups you manage and for active threat defense Amazon Web Services managed rule + * groups.

            See Also:

            AWS + * API Reference

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

            The unique identifier (Signature ID) of the Suricata rule.

            + */ + inline const Aws::String& GetSID() const { return m_sID; } + inline bool SIDHasBeenSet() const { return m_sIDHasBeenSet; } + template + void SetSID(SIDT&& value) { m_sIDHasBeenSet = true; m_sID = std::forward(value); } + template + RuleSummary& WithSID(SIDT&& value) { SetSID(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The contents taken from the rule's msg field.

            + */ + inline const Aws::String& GetMsg() const { return m_msg; } + inline bool MsgHasBeenSet() const { return m_msgHasBeenSet; } + template + void SetMsg(MsgT&& value) { m_msgHasBeenSet = true; m_msg = std::forward(value); } + template + RuleSummary& WithMsg(MsgT&& value) { SetMsg(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

            The contents of the rule's metadata.

            + */ + inline const Aws::String& GetMetadata() const { return m_metadata; } + inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } + template + void SetMetadata(MetadataT&& value) { m_metadataHasBeenSet = true; m_metadata = std::forward(value); } + template + RuleSummary& WithMetadata(MetadataT&& value) { SetMetadata(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_sID; + bool m_sIDHasBeenSet = false; + + Aws::String m_msg; + bool m_msgHasBeenSet = false; + + Aws::String m_metadata; + bool m_metadataHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleVariables.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleVariables.h index a4b54218402..e5260a433db 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleVariables.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/RuleVariables.h @@ -28,7 +28,8 @@ namespace Model /** *

            Settings that are available for use in the rules in the RuleGroup - * where this is defined.

            See Also:

            CreateRuleGroup or UpdateRuleGroup for + * usage.

            See Also:

            AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ServerCertificateConfiguration.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ServerCertificateConfiguration.h index cf59fd47b06..2fae523e20b 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ServerCertificateConfiguration.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/ServerCertificateConfiguration.h @@ -90,9 +90,9 @@ namespace Model * Private Certificate Authority.

          For more information about * configuring certificates for outbound inspection, see Using - * SSL/TLS certificates with certificates with TLS inspection configurations in - * the Network Firewall Developer Guide.

          For information about - * working with certificates in ACM, see in the Network + * Firewall Developer Guide.

          For information about working with + * certificates in ACM, see Importing * certificates in the Certificate Manager User Guide.

          */ diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h index ae82db74e32..d7481cdddb6 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h @@ -43,7 +43,8 @@ namespace Model ///@{ /** *

          Indicates how to manage the order of stateful rule evaluation for the policy. - * STRICT_ORDER is the default and recommended option. With + * STRICT_ORDER is the recommended option, but + * DEFAULT_ACTION_ORDER is the default option. With * STRICT_ORDER, provide your rules in the order that you want them to * be evaluated. You can then choose one or more default actions for packets that * don't match any rules. Choose STRICT_ORDER to have the stateful diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleGroupReference.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleGroupReference.h index c89379eb655..d33cedc36c4 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleGroupReference.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleGroupReference.h @@ -81,6 +81,26 @@ namespace Model template StatefulRuleGroupReference& WithOverride(OverrideT&& value) { SetOverride(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

          Network Firewall plans to augment the active threat defense managed rule + * group with an additional deep threat inspection capability. When this capability + * is released, Amazon Web Services will analyze service logs of network traffic + * processed by these rule groups to identify threat indicators across customers. + * Amazon Web Services will use these threat indicators to improve the active + * threat defense managed rule groups and protect the security of Amazon Web + * Services customers and services.

          Customers can opt-out of deep + * threat inspection at any time through the Network Firewall console or API. When + * customers opt out, Network Firewall will not use the network traffic processed + * by those customers' active threat defense rule groups for rule group + * improvement.

          + */ + inline bool GetDeepThreatInspection() const { return m_deepThreatInspection; } + inline bool DeepThreatInspectionHasBeenSet() const { return m_deepThreatInspectionHasBeenSet; } + inline void SetDeepThreatInspection(bool value) { m_deepThreatInspectionHasBeenSet = true; m_deepThreatInspection = value; } + inline StatefulRuleGroupReference& WithDeepThreatInspection(bool value) { SetDeepThreatInspection(value); return *this;} + ///@} private: Aws::String m_resourceArn; @@ -91,6 +111,9 @@ namespace Model StatefulRuleGroupOverride m_override; bool m_overrideHasBeenSet = false; + + bool m_deepThreatInspection{false}; + bool m_deepThreatInspectionHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleProtocol.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleProtocol.h index 8e4f024690c..9cdfa992bc1 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleProtocol.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulRuleProtocol.h @@ -34,7 +34,9 @@ namespace Model IKEV2, TFTP, NTP, - DHCP + DHCP, + HTTP2, + QUIC }; namespace StatefulRuleProtocolMapper diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Summary.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Summary.h new file mode 100644 index 00000000000..cb6784c2324 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/Summary.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + + /** + *

          A complex type containing summaries of security protections provided by a + * rule group.

          Network Firewall extracts this information from selected + * fields in the rule group's Suricata rules, based on your + * SummaryConfiguration settings.

          See Also:

          AWS + * API Reference

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

          An array of RuleSummary objects containing individual rule details + * that had been configured by the rulegroup's SummaryConfiguration.

          + */ + inline const Aws::Vector& GetRuleSummaries() const { return m_ruleSummaries; } + inline bool RuleSummariesHasBeenSet() const { return m_ruleSummariesHasBeenSet; } + template> + void SetRuleSummaries(RuleSummariesT&& value) { m_ruleSummariesHasBeenSet = true; m_ruleSummaries = std::forward(value); } + template> + Summary& WithRuleSummaries(RuleSummariesT&& value) { SetRuleSummaries(std::forward(value)); return *this;} + template + Summary& AddRuleSummaries(RuleSummariesT&& value) { m_ruleSummariesHasBeenSet = true; m_ruleSummaries.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_ruleSummaries; + bool m_ruleSummariesHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/SummaryConfiguration.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/SummaryConfiguration.h new file mode 100644 index 00000000000..6ed1f71101d --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/SummaryConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + + /** + *

          A complex type that specifies which Suricata rule metadata fields to use when + * displaying threat information. Contains:

          • + * RuleOptions - The Suricata rule options fields to extract and + * display

          These settings affect how threat information appears + * in both the console and API responses. Summaries are available for rule groups + * you manage and for active threat defense Amazon Web Services managed rule + * groups.

          See Also:

          AWS + * API Reference

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

          Specifies the selected rule options returned by + * DescribeRuleGroupSummary.

          + */ + inline const Aws::Vector& GetRuleOptions() const { return m_ruleOptions; } + inline bool RuleOptionsHasBeenSet() const { return m_ruleOptionsHasBeenSet; } + template> + void SetRuleOptions(RuleOptionsT&& value) { m_ruleOptionsHasBeenSet = true; m_ruleOptions = std::forward(value); } + template> + SummaryConfiguration& WithRuleOptions(RuleOptionsT&& value) { SetRuleOptions(std::forward(value)); return *this;} + inline SummaryConfiguration& AddRuleOptions(SummaryRuleOption value) { m_ruleOptionsHasBeenSet = true; m_ruleOptions.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_ruleOptions; + bool m_ruleOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/SummaryRuleOption.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/SummaryRuleOption.h new file mode 100644 index 00000000000..115b31188ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/SummaryRuleOption.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + enum class SummaryRuleOption + { + NOT_SET, + SID, + MSG, + METADATA + }; + +namespace SummaryRuleOptionMapper +{ +AWS_NETWORKFIREWALL_API SummaryRuleOption GetSummaryRuleOptionForName(const Aws::String& name); + +AWS_NETWORKFIREWALL_API Aws::String GetNameForSummaryRuleOption(SummaryRuleOption value); +} // namespace SummaryRuleOptionMapper +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/TransitGatewayAttachmentStatus.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/TransitGatewayAttachmentStatus.h new file mode 100644 index 00000000000..63adfd40b89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/TransitGatewayAttachmentStatus.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + enum class TransitGatewayAttachmentStatus + { + NOT_SET, + CREATING, + DELETING, + DELETED, + FAILED, + ERROR_, + READY, + PENDING_ACCEPTANCE, + REJECTING, + REJECTED + }; + +namespace TransitGatewayAttachmentStatusMapper +{ +AWS_NETWORKFIREWALL_API TransitGatewayAttachmentStatus GetTransitGatewayAttachmentStatusForName(const Aws::String& name); + +AWS_NETWORKFIREWALL_API Aws::String GetNameForTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value); +} // namespace TransitGatewayAttachmentStatusMapper +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/TransitGatewayAttachmentSyncState.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/TransitGatewayAttachmentSyncState.h new file mode 100644 index 00000000000..cdc7f2d2070 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/TransitGatewayAttachmentSyncState.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + + /** + *

          Contains information about the synchronization state of a transit gateway + * attachment, including its current status and any error messages. Network + * Firewall uses this to track the state of your transit gateway configuration + * changes.

          See Also:

          AWS + * API Reference

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

          The unique identifier of the transit gateway attachment.

          + */ + inline const Aws::String& GetAttachmentId() const { return m_attachmentId; } + inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } + template + void SetAttachmentId(AttachmentIdT&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::forward(value); } + template + TransitGatewayAttachmentSyncState& WithAttachmentId(AttachmentIdT&& value) { SetAttachmentId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          The current status of the transit gateway attachment.

          Valid values + * are:

          • CREATING - The attachment is being + * created

          • DELETING - The attachment is being + * deleted

          • DELETED - The attachment has been + * deleted

          • FAILED - The attachment creation has + * failed and cannot be recovered

          • ERROR - The + * attachment is in an error state that might be recoverable

          • + * READY - The attachment is active and processing traffic

          • + *
          • PENDING_ACCEPTANCE - The attachment is waiting to be + * accepted

          • REJECTING - The attachment is in the + * process of being rejected

          • REJECTED - The + * attachment has been rejected

          + */ + inline TransitGatewayAttachmentStatus GetTransitGatewayAttachmentStatus() const { return m_transitGatewayAttachmentStatus; } + inline bool TransitGatewayAttachmentStatusHasBeenSet() const { return m_transitGatewayAttachmentStatusHasBeenSet; } + inline void SetTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { m_transitGatewayAttachmentStatusHasBeenSet = true; m_transitGatewayAttachmentStatus = value; } + inline TransitGatewayAttachmentSyncState& WithTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus value) { SetTransitGatewayAttachmentStatus(value); return *this;} + ///@} + + ///@{ + /** + *

          A message providing additional information about the current status, + * particularly useful when the transit gateway attachment is in a + * non-READY state.

          Valid values are:

          • + * CREATING - The attachment is being created

          • + * DELETING - The attachment is being deleted

          • + * DELETED - The attachment has been deleted

          • + * FAILED - The attachment creation has failed and cannot be + * recovered

          • ERROR - The attachment is in an error + * state that might be recoverable

          • READY - The + * attachment is active and processing traffic

          • + * PENDING_ACCEPTANCE - The attachment is waiting to be accepted

            + *
          • REJECTING - The attachment is in the process of + * being rejected

          • REJECTED - The attachment has + * been rejected

          For information about troubleshooting endpoint + * failures, see Troubleshooting + * firewall endpoint failures in the Network Firewall Developer + * Guide.

          + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + TransitGatewayAttachmentSyncState& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_attachmentId; + bool m_attachmentIdHasBeenSet = false; + + TransitGatewayAttachmentStatus m_transitGatewayAttachmentStatus{TransitGatewayAttachmentStatus::NOT_SET}; + bool m_transitGatewayAttachmentStatusHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateAvailabilityZoneChangeProtectionRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateAvailabilityZoneChangeProtectionRequest.h new file mode 100644 index 00000000000..08847309b11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateAvailabilityZoneChangeProtectionRequest.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + + /** + */ + class UpdateAvailabilityZoneChangeProtectionRequest : public NetworkFirewallRequest + { + public: + AWS_NETWORKFIREWALL_API UpdateAvailabilityZoneChangeProtectionRequest() = default; + + // 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 "UpdateAvailabilityZoneChangeProtection"; } + + AWS_NETWORKFIREWALL_API Aws::String SerializePayload() const override; + + AWS_NETWORKFIREWALL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

          An optional token that you can use for optimistic locking. Network Firewall + * returns a token to your requests that access the firewall. The token marks the + * state of the firewall resource at the time of the request.

          To make an + * unconditional change to the firewall, omit the token in your update request. + * Without the token, Network Firewall performs your updates regardless of whether + * the firewall has changed since you last retrieved it.

          To make a + * conditional change to the firewall, provide the token in your update request. + * Network Firewall uses the token to ensure that the firewall hasn't changed since + * you last retrieved it. If it has changed, the operation fails with an + * InvalidTokenException. If this happens, retrieve the firewall again + * to get a current copy of it with a new token. Reapply your changes as needed, + * then try the operation again using the new token.

          + */ + inline const Aws::String& GetUpdateToken() const { return m_updateToken; } + inline bool UpdateTokenHasBeenSet() const { return m_updateTokenHasBeenSet; } + template + void SetUpdateToken(UpdateTokenT&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionRequest& WithUpdateToken(UpdateTokenT&& value) { SetUpdateToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          The Amazon Resource Name (ARN) of the firewall.

          You must specify the + * ARN or the name, and you can specify both.

          + */ + inline const Aws::String& GetFirewallArn() const { return m_firewallArn; } + inline bool FirewallArnHasBeenSet() const { return m_firewallArnHasBeenSet; } + template + void SetFirewallArn(FirewallArnT&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionRequest& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          The descriptive name of the firewall. You can't change the name of a firewall + * after you create it.

          You must specify the ARN or the name, and you can + * specify both.

          + */ + inline const Aws::String& GetFirewallName() const { return m_firewallName; } + inline bool FirewallNameHasBeenSet() const { return m_firewallNameHasBeenSet; } + template + void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionRequest& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          A setting indicating whether the firewall is protected against changes to the + * subnet associations. Use this setting to protect against accidentally modifying + * the subnet associations for a firewall that is in use. When you create a + * firewall, the operation initializes this setting to TRUE.

          + */ + inline bool GetAvailabilityZoneChangeProtection() const { return m_availabilityZoneChangeProtection; } + inline bool AvailabilityZoneChangeProtectionHasBeenSet() const { return m_availabilityZoneChangeProtectionHasBeenSet; } + inline void SetAvailabilityZoneChangeProtection(bool value) { m_availabilityZoneChangeProtectionHasBeenSet = true; m_availabilityZoneChangeProtection = value; } + inline UpdateAvailabilityZoneChangeProtectionRequest& WithAvailabilityZoneChangeProtection(bool value) { SetAvailabilityZoneChangeProtection(value); return *this;} + ///@} + private: + + Aws::String m_updateToken; + bool m_updateTokenHasBeenSet = false; + + Aws::String m_firewallArn; + bool m_firewallArnHasBeenSet = false; + + Aws::String m_firewallName; + bool m_firewallNameHasBeenSet = false; + + bool m_availabilityZoneChangeProtection{false}; + bool m_availabilityZoneChangeProtectionHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateAvailabilityZoneChangeProtectionResult.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateAvailabilityZoneChangeProtectionResult.h new file mode 100644 index 00000000000..4cb73c68069 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateAvailabilityZoneChangeProtectionResult.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + class UpdateAvailabilityZoneChangeProtectionResult + { + public: + AWS_NETWORKFIREWALL_API UpdateAvailabilityZoneChangeProtectionResult() = default; + AWS_NETWORKFIREWALL_API UpdateAvailabilityZoneChangeProtectionResult(const Aws::AmazonWebServiceResult& result); + AWS_NETWORKFIREWALL_API UpdateAvailabilityZoneChangeProtectionResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          An optional token that you can use for optimistic locking. Network Firewall + * returns a token to your requests that access the firewall. The token marks the + * state of the firewall resource at the time of the request.

          To make an + * unconditional change to the firewall, omit the token in your update request. + * Without the token, Network Firewall performs your updates regardless of whether + * the firewall has changed since you last retrieved it.

          To make a + * conditional change to the firewall, provide the token in your update request. + * Network Firewall uses the token to ensure that the firewall hasn't changed since + * you last retrieved it. If it has changed, the operation fails with an + * InvalidTokenException. If this happens, retrieve the firewall again + * to get a current copy of it with a new token. Reapply your changes as needed, + * then try the operation again using the new token.

          + */ + inline const Aws::String& GetUpdateToken() const { return m_updateToken; } + template + void SetUpdateToken(UpdateTokenT&& value) { m_updateTokenHasBeenSet = true; m_updateToken = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionResult& WithUpdateToken(UpdateTokenT&& value) { SetUpdateToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          The Amazon Resource Name (ARN) of the firewall.

          + */ + inline const Aws::String& GetFirewallArn() const { return m_firewallArn; } + template + void SetFirewallArn(FirewallArnT&& value) { m_firewallArnHasBeenSet = true; m_firewallArn = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionResult& WithFirewallArn(FirewallArnT&& value) { SetFirewallArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          The descriptive name of the firewall. You can't change the name of a firewall + * after you create it.

          + */ + inline const Aws::String& GetFirewallName() const { return m_firewallName; } + template + void SetFirewallName(FirewallNameT&& value) { m_firewallNameHasBeenSet = true; m_firewallName = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionResult& WithFirewallName(FirewallNameT&& value) { SetFirewallName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

          A setting indicating whether the firewall is protected against changes to the + * subnet associations. Use this setting to protect against accidentally modifying + * the subnet associations for a firewall that is in use. When you create a + * firewall, the operation initializes this setting to TRUE.

          + */ + inline bool GetAvailabilityZoneChangeProtection() const { return m_availabilityZoneChangeProtection; } + inline void SetAvailabilityZoneChangeProtection(bool value) { m_availabilityZoneChangeProtectionHasBeenSet = true; m_availabilityZoneChangeProtection = value; } + inline UpdateAvailabilityZoneChangeProtectionResult& WithAvailabilityZoneChangeProtection(bool value) { SetAvailabilityZoneChangeProtection(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateAvailabilityZoneChangeProtectionResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_updateToken; + bool m_updateTokenHasBeenSet = false; + + Aws::String m_firewallArn; + bool m_firewallArnHasBeenSet = false; + + Aws::String m_firewallName; + bool m_firewallNameHasBeenSet = false; + + bool m_availabilityZoneChangeProtection{false}; + bool m_availabilityZoneChangeProtectionHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateRuleGroupRequest.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateRuleGroupRequest.h index 63a7dde3abf..ae1cb566571 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateRuleGroupRequest.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/UpdateRuleGroupRequest.h @@ -11,6 +11,7 @@ #include #include #include +#include #include namespace Aws @@ -201,6 +202,19 @@ namespace Model inline void SetAnalyzeRuleGroup(bool value) { m_analyzeRuleGroupHasBeenSet = true; m_analyzeRuleGroup = value; } inline UpdateRuleGroupRequest& WithAnalyzeRuleGroup(bool value) { SetAnalyzeRuleGroup(value); return *this;} ///@} + + ///@{ + /** + *

          Updates the selected summary configuration for a rule group.

          Changes + * affect subsequent responses from DescribeRuleGroupSummary.

          + */ + inline const SummaryConfiguration& GetSummaryConfiguration() const { return m_summaryConfiguration; } + inline bool SummaryConfigurationHasBeenSet() const { return m_summaryConfigurationHasBeenSet; } + template + void SetSummaryConfiguration(SummaryConfigurationT&& value) { m_summaryConfigurationHasBeenSet = true; m_summaryConfiguration = std::forward(value); } + template + UpdateRuleGroupRequest& WithSummaryConfiguration(SummaryConfigurationT&& value) { SetSummaryConfiguration(std::forward(value)); return *this;} + ///@} private: Aws::String m_updateToken; @@ -235,6 +249,9 @@ namespace Model bool m_analyzeRuleGroup{false}; bool m_analyzeRuleGroupHasBeenSet = false; + + SummaryConfiguration m_summaryConfiguration; + bool m_summaryConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp index 453360b9298..de3cd88bacb 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -30,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -42,8 +45,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -56,11 +61,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -214,6 +221,58 @@ void NetworkFirewallClient::OverrideEndpoint(const Aws::String& endpoint) m_endpointProvider->OverrideEndpoint(endpoint); } +AcceptNetworkFirewallTransitGatewayAttachmentOutcome NetworkFirewallClient::AcceptNetworkFirewallTransitGatewayAttachment(const AcceptNetworkFirewallTransitGatewayAttachmentRequest& request) const +{ + AWS_OPERATION_GUARD(AcceptNetworkFirewallTransitGatewayAttachment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AcceptNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AcceptNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AcceptNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AcceptNetworkFirewallTransitGatewayAttachment", + {{ 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( + [&]()-> AcceptNetworkFirewallTransitGatewayAttachmentOutcome { + 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, AcceptNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return AcceptNetworkFirewallTransitGatewayAttachmentOutcome(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()}}); +} + +AssociateAvailabilityZonesOutcome NetworkFirewallClient::AssociateAvailabilityZones(const AssociateAvailabilityZonesRequest& request) const +{ + AWS_OPERATION_GUARD(AssociateAvailabilityZones); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssociateAvailabilityZones, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssociateAvailabilityZones, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssociateAvailabilityZones, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AssociateAvailabilityZones", + {{ 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( + [&]()-> AssociateAvailabilityZonesOutcome { + 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, AssociateAvailabilityZones, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return AssociateAvailabilityZonesOutcome(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()}}); +} + AssociateFirewallPolicyOutcome NetworkFirewallClient::AssociateFirewallPolicy(const AssociateFirewallPolicyRequest& request) const { AWS_OPERATION_GUARD(AssociateFirewallPolicy); @@ -448,6 +507,32 @@ DeleteFirewallPolicyOutcome NetworkFirewallClient::DeleteFirewallPolicy(const De {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteNetworkFirewallTransitGatewayAttachmentOutcome NetworkFirewallClient::DeleteNetworkFirewallTransitGatewayAttachment(const DeleteNetworkFirewallTransitGatewayAttachmentRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteNetworkFirewallTransitGatewayAttachment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteNetworkFirewallTransitGatewayAttachment", + {{ 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( + [&]()-> DeleteNetworkFirewallTransitGatewayAttachmentOutcome { + 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, DeleteNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteNetworkFirewallTransitGatewayAttachmentOutcome(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()}}); +} + DeleteResourcePolicyOutcome NetworkFirewallClient::DeleteResourcePolicy(const DeleteResourcePolicyRequest& request) const { AWS_OPERATION_GUARD(DeleteResourcePolicy); @@ -760,6 +845,32 @@ DescribeRuleGroupMetadataOutcome NetworkFirewallClient::DescribeRuleGroupMetadat {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeRuleGroupSummaryOutcome NetworkFirewallClient::DescribeRuleGroupSummary(const DescribeRuleGroupSummaryRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeRuleGroupSummary); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeRuleGroupSummary, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeRuleGroupSummary, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeRuleGroupSummary, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeRuleGroupSummary", + {{ 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( + [&]()-> DescribeRuleGroupSummaryOutcome { + 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, DescribeRuleGroupSummary, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeRuleGroupSummaryOutcome(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()}}); +} + DescribeTLSInspectionConfigurationOutcome NetworkFirewallClient::DescribeTLSInspectionConfiguration(const DescribeTLSInspectionConfigurationRequest& request) const { AWS_OPERATION_GUARD(DescribeTLSInspectionConfiguration); @@ -812,6 +923,32 @@ DescribeVpcEndpointAssociationOutcome NetworkFirewallClient::DescribeVpcEndpoint {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisassociateAvailabilityZonesOutcome NetworkFirewallClient::DisassociateAvailabilityZones(const DisassociateAvailabilityZonesRequest& request) const +{ + AWS_OPERATION_GUARD(DisassociateAvailabilityZones); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisassociateAvailabilityZones, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisassociateAvailabilityZones, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisassociateAvailabilityZones, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisassociateAvailabilityZones", + {{ 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( + [&]()-> DisassociateAvailabilityZonesOutcome { + 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, DisassociateAvailabilityZones, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisassociateAvailabilityZonesOutcome(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()}}); +} + DisassociateSubnetsOutcome NetworkFirewallClient::DisassociateSubnets(const DisassociateSubnetsRequest& request) const { AWS_OPERATION_GUARD(DisassociateSubnets); @@ -1124,6 +1261,32 @@ PutResourcePolicyOutcome NetworkFirewallClient::PutResourcePolicy(const PutResou {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RejectNetworkFirewallTransitGatewayAttachmentOutcome NetworkFirewallClient::RejectNetworkFirewallTransitGatewayAttachment(const RejectNetworkFirewallTransitGatewayAttachmentRequest& request) const +{ + AWS_OPERATION_GUARD(RejectNetworkFirewallTransitGatewayAttachment); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RejectNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RejectNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RejectNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".RejectNetworkFirewallTransitGatewayAttachment", + {{ 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( + [&]()-> RejectNetworkFirewallTransitGatewayAttachmentOutcome { + 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, RejectNetworkFirewallTransitGatewayAttachment, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RejectNetworkFirewallTransitGatewayAttachmentOutcome(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()}}); +} + StartAnalysisReportOutcome NetworkFirewallClient::StartAnalysisReport(const StartAnalysisReportRequest& request) const { AWS_OPERATION_GUARD(StartAnalysisReport); @@ -1254,6 +1417,32 @@ UntagResourceOutcome NetworkFirewallClient::UntagResource(const UntagResourceReq {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAvailabilityZoneChangeProtectionOutcome NetworkFirewallClient::UpdateAvailabilityZoneChangeProtection(const UpdateAvailabilityZoneChangeProtectionRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateAvailabilityZoneChangeProtection); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAvailabilityZoneChangeProtection, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAvailabilityZoneChangeProtection, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAvailabilityZoneChangeProtection, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAvailabilityZoneChangeProtection", + {{ 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( + [&]()-> UpdateAvailabilityZoneChangeProtectionOutcome { + 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, UpdateAvailabilityZoneChangeProtection, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UpdateAvailabilityZoneChangeProtectionOutcome(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()}}); +} + UpdateFirewallAnalysisSettingsOutcome NetworkFirewallClient::UpdateFirewallAnalysisSettings(const UpdateFirewallAnalysisSettingsRequest& request) const { AWS_OPERATION_GUARD(UpdateFirewallAnalysisSettings); diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/AcceptNetworkFirewallTransitGatewayAttachmentRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/AcceptNetworkFirewallTransitGatewayAttachmentRequest.cpp new file mode 100644 index 00000000000..7a04f85482d --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/AcceptNetworkFirewallTransitGatewayAttachmentRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String AcceptNetworkFirewallTransitGatewayAttachmentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_transitGatewayAttachmentIdHasBeenSet) + { + payload.WithString("TransitGatewayAttachmentId", m_transitGatewayAttachmentId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection AcceptNetworkFirewallTransitGatewayAttachmentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.AcceptNetworkFirewallTransitGatewayAttachment")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/AcceptNetworkFirewallTransitGatewayAttachmentResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/AcceptNetworkFirewallTransitGatewayAttachmentResult.cpp new file mode 100644 index 00000000000..e243d1e4b31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/AcceptNetworkFirewallTransitGatewayAttachmentResult.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 + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AcceptNetworkFirewallTransitGatewayAttachmentResult::AcceptNetworkFirewallTransitGatewayAttachmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AcceptNetworkFirewallTransitGatewayAttachmentResult& AcceptNetworkFirewallTransitGatewayAttachmentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("TransitGatewayAttachmentId")) + { + m_transitGatewayAttachmentId = jsonValue.GetString("TransitGatewayAttachmentId"); + m_transitGatewayAttachmentIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TransitGatewayAttachmentStatus")) + { + m_transitGatewayAttachmentStatus = TransitGatewayAttachmentStatusMapper::GetTransitGatewayAttachmentStatusForName(jsonValue.GetString("TransitGatewayAttachmentStatus")); + m_transitGatewayAttachmentStatusHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/AssociateAvailabilityZonesRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/AssociateAvailabilityZonesRequest.cpp new file mode 100644 index 00000000000..54aeb7bfc31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/AssociateAvailabilityZonesRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String AssociateAvailabilityZonesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_updateTokenHasBeenSet) + { + payload.WithString("UpdateToken", m_updateToken); + + } + + if(m_firewallArnHasBeenSet) + { + payload.WithString("FirewallArn", m_firewallArn); + + } + + if(m_firewallNameHasBeenSet) + { + payload.WithString("FirewallName", m_firewallName); + + } + + if(m_availabilityZoneMappingsHasBeenSet) + { + Aws::Utils::Array availabilityZoneMappingsJsonList(m_availabilityZoneMappings.size()); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject(m_availabilityZoneMappings[availabilityZoneMappingsIndex].Jsonize()); + } + payload.WithArray("AvailabilityZoneMappings", std::move(availabilityZoneMappingsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection AssociateAvailabilityZonesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.AssociateAvailabilityZones")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/AssociateAvailabilityZonesResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/AssociateAvailabilityZonesResult.cpp new file mode 100644 index 00000000000..faf25d34373 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/AssociateAvailabilityZonesResult.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::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AssociateAvailabilityZonesResult::AssociateAvailabilityZonesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AssociateAvailabilityZonesResult& AssociateAvailabilityZonesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("FirewallArn")) + { + m_firewallArn = jsonValue.GetString("FirewallArn"); + m_firewallArnHasBeenSet = true; + } + if(jsonValue.ValueExists("FirewallName")) + { + m_firewallName = jsonValue.GetString("FirewallName"); + m_firewallNameHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZoneMappings")) + { + Aws::Utils::Array availabilityZoneMappingsJsonList = jsonValue.GetArray("AvailabilityZoneMappings"); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + m_availabilityZoneMappings.push_back(availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject()); + } + m_availabilityZoneMappingsHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdateToken")) + { + m_updateToken = jsonValue.GetString("UpdateToken"); + m_updateTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/AvailabilityZoneMapping.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/AvailabilityZoneMapping.cpp new file mode 100644 index 00000000000..cd6bf03138f --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/AvailabilityZoneMapping.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + +AvailabilityZoneMapping::AvailabilityZoneMapping(JsonView jsonValue) +{ + *this = jsonValue; +} + +AvailabilityZoneMapping& AvailabilityZoneMapping::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvailabilityZone")) + { + m_availabilityZone = jsonValue.GetString("AvailabilityZone"); + m_availabilityZoneHasBeenSet = true; + } + return *this; +} + +JsonValue AvailabilityZoneMapping::Jsonize() const +{ + JsonValue payload; + + if(m_availabilityZoneHasBeenSet) + { + payload.WithString("AvailabilityZone", m_availabilityZone); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateFirewallRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateFirewallRequest.cpp index d1560498dd6..f1689e7cab8 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateFirewallRequest.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateFirewallRequest.cpp @@ -97,6 +97,29 @@ Aws::String CreateFirewallRequest::SerializePayload() const } + if(m_transitGatewayIdHasBeenSet) + { + payload.WithString("TransitGatewayId", m_transitGatewayId); + + } + + if(m_availabilityZoneMappingsHasBeenSet) + { + Aws::Utils::Array availabilityZoneMappingsJsonList(m_availabilityZoneMappings.size()); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject(m_availabilityZoneMappings[availabilityZoneMappingsIndex].Jsonize()); + } + payload.WithArray("AvailabilityZoneMappings", std::move(availabilityZoneMappingsJsonList)); + + } + + if(m_availabilityZoneChangeProtectionHasBeenSet) + { + payload.WithBool("AvailabilityZoneChangeProtection", m_availabilityZoneChangeProtection); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateRuleGroupRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateRuleGroupRequest.cpp index 3d56445bb47..9f211ca0604 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateRuleGroupRequest.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/CreateRuleGroupRequest.cpp @@ -86,6 +86,12 @@ Aws::String CreateRuleGroupRequest::SerializePayload() const } + if(m_summaryConfigurationHasBeenSet) + { + payload.WithObject("SummaryConfiguration", m_summaryConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DeleteNetworkFirewallTransitGatewayAttachmentRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DeleteNetworkFirewallTransitGatewayAttachmentRequest.cpp new file mode 100644 index 00000000000..053be701949 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DeleteNetworkFirewallTransitGatewayAttachmentRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteNetworkFirewallTransitGatewayAttachmentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_transitGatewayAttachmentIdHasBeenSet) + { + payload.WithString("TransitGatewayAttachmentId", m_transitGatewayAttachmentId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteNetworkFirewallTransitGatewayAttachmentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.DeleteNetworkFirewallTransitGatewayAttachment")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DeleteNetworkFirewallTransitGatewayAttachmentResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DeleteNetworkFirewallTransitGatewayAttachmentResult.cpp new file mode 100644 index 00000000000..bcb2a1face7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DeleteNetworkFirewallTransitGatewayAttachmentResult.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 + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteNetworkFirewallTransitGatewayAttachmentResult::DeleteNetworkFirewallTransitGatewayAttachmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteNetworkFirewallTransitGatewayAttachmentResult& DeleteNetworkFirewallTransitGatewayAttachmentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("TransitGatewayAttachmentId")) + { + m_transitGatewayAttachmentId = jsonValue.GetString("TransitGatewayAttachmentId"); + m_transitGatewayAttachmentIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TransitGatewayAttachmentStatus")) + { + m_transitGatewayAttachmentStatus = TransitGatewayAttachmentStatusMapper::GetTransitGatewayAttachmentStatusForName(jsonValue.GetString("TransitGatewayAttachmentStatus")); + m_transitGatewayAttachmentStatusHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeFirewallMetadataResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeFirewallMetadataResult.cpp index 031bb41c117..f15bf772970 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeFirewallMetadataResult.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeFirewallMetadataResult.cpp @@ -54,6 +54,11 @@ DescribeFirewallMetadataResult& DescribeFirewallMetadataResult::operator =(const } m_supportedAvailabilityZonesHasBeenSet = true; } + if(jsonValue.ValueExists("TransitGatewayAttachmentId")) + { + m_transitGatewayAttachmentId = jsonValue.GetString("TransitGatewayAttachmentId"); + m_transitGatewayAttachmentIdHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeRuleGroupSummaryRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeRuleGroupSummaryRequest.cpp new file mode 100644 index 00000000000..83786698c47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeRuleGroupSummaryRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DescribeRuleGroupSummaryRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_ruleGroupNameHasBeenSet) + { + payload.WithString("RuleGroupName", m_ruleGroupName); + + } + + if(m_ruleGroupArnHasBeenSet) + { + payload.WithString("RuleGroupArn", m_ruleGroupArn); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RuleGroupTypeMapper::GetNameForRuleGroupType(m_type)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeRuleGroupSummaryRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.DescribeRuleGroupSummary")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeRuleGroupSummaryResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeRuleGroupSummaryResult.cpp new file mode 100644 index 00000000000..944c4d7cae7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DescribeRuleGroupSummaryResult.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::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeRuleGroupSummaryResult::DescribeRuleGroupSummaryResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeRuleGroupSummaryResult& DescribeRuleGroupSummaryResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RuleGroupName")) + { + m_ruleGroupName = jsonValue.GetString("RuleGroupName"); + m_ruleGroupNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Summary")) + { + m_summary = jsonValue.GetObject("Summary"); + m_summaryHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DisassociateAvailabilityZonesRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DisassociateAvailabilityZonesRequest.cpp new file mode 100644 index 00000000000..5b01990f745 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DisassociateAvailabilityZonesRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DisassociateAvailabilityZonesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_updateTokenHasBeenSet) + { + payload.WithString("UpdateToken", m_updateToken); + + } + + if(m_firewallArnHasBeenSet) + { + payload.WithString("FirewallArn", m_firewallArn); + + } + + if(m_firewallNameHasBeenSet) + { + payload.WithString("FirewallName", m_firewallName); + + } + + if(m_availabilityZoneMappingsHasBeenSet) + { + Aws::Utils::Array availabilityZoneMappingsJsonList(m_availabilityZoneMappings.size()); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject(m_availabilityZoneMappings[availabilityZoneMappingsIndex].Jsonize()); + } + payload.WithArray("AvailabilityZoneMappings", std::move(availabilityZoneMappingsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DisassociateAvailabilityZonesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.DisassociateAvailabilityZones")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/DisassociateAvailabilityZonesResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/DisassociateAvailabilityZonesResult.cpp new file mode 100644 index 00000000000..7eece468505 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/DisassociateAvailabilityZonesResult.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::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DisassociateAvailabilityZonesResult::DisassociateAvailabilityZonesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DisassociateAvailabilityZonesResult& DisassociateAvailabilityZonesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("FirewallArn")) + { + m_firewallArn = jsonValue.GetString("FirewallArn"); + m_firewallArnHasBeenSet = true; + } + if(jsonValue.ValueExists("FirewallName")) + { + m_firewallName = jsonValue.GetString("FirewallName"); + m_firewallNameHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZoneMappings")) + { + Aws::Utils::Array availabilityZoneMappingsJsonList = jsonValue.GetArray("AvailabilityZoneMappings"); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + m_availabilityZoneMappings.push_back(availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject()); + } + m_availabilityZoneMappingsHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdateToken")) + { + m_updateToken = jsonValue.GetString("UpdateToken"); + m_updateTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/Firewall.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/Firewall.cpp index cbd5a1d7c12..3fe88d9aa61 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/Firewall.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/Firewall.cpp @@ -107,6 +107,30 @@ Firewall& Firewall::operator =(JsonView jsonValue) } m_enabledAnalysisTypesHasBeenSet = true; } + if(jsonValue.ValueExists("TransitGatewayId")) + { + m_transitGatewayId = jsonValue.GetString("TransitGatewayId"); + m_transitGatewayIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TransitGatewayOwnerAccountId")) + { + m_transitGatewayOwnerAccountId = jsonValue.GetString("TransitGatewayOwnerAccountId"); + m_transitGatewayOwnerAccountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZoneMappings")) + { + Aws::Utils::Array availabilityZoneMappingsJsonList = jsonValue.GetArray("AvailabilityZoneMappings"); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + m_availabilityZoneMappings.push_back(availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject()); + } + m_availabilityZoneMappingsHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZoneChangeProtection")) + { + m_availabilityZoneChangeProtection = jsonValue.GetBool("AvailabilityZoneChangeProtection"); + m_availabilityZoneChangeProtectionHasBeenSet = true; + } return *this; } @@ -213,6 +237,35 @@ JsonValue Firewall::Jsonize() const } + if(m_transitGatewayIdHasBeenSet) + { + payload.WithString("TransitGatewayId", m_transitGatewayId); + + } + + if(m_transitGatewayOwnerAccountIdHasBeenSet) + { + payload.WithString("TransitGatewayOwnerAccountId", m_transitGatewayOwnerAccountId); + + } + + if(m_availabilityZoneMappingsHasBeenSet) + { + Aws::Utils::Array availabilityZoneMappingsJsonList(m_availabilityZoneMappings.size()); + for(unsigned availabilityZoneMappingsIndex = 0; availabilityZoneMappingsIndex < availabilityZoneMappingsJsonList.GetLength(); ++availabilityZoneMappingsIndex) + { + availabilityZoneMappingsJsonList[availabilityZoneMappingsIndex].AsObject(m_availabilityZoneMappings[availabilityZoneMappingsIndex].Jsonize()); + } + payload.WithArray("AvailabilityZoneMappings", std::move(availabilityZoneMappingsJsonList)); + + } + + if(m_availabilityZoneChangeProtectionHasBeenSet) + { + payload.WithBool("AvailabilityZoneChangeProtection", m_availabilityZoneChangeProtection); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallMetadata.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallMetadata.cpp index b80ed626100..4026e15f884 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallMetadata.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallMetadata.cpp @@ -35,6 +35,11 @@ FirewallMetadata& FirewallMetadata::operator =(JsonView jsonValue) m_firewallArn = jsonValue.GetString("FirewallArn"); m_firewallArnHasBeenSet = true; } + if(jsonValue.ValueExists("TransitGatewayAttachmentId")) + { + m_transitGatewayAttachmentId = jsonValue.GetString("TransitGatewayAttachmentId"); + m_transitGatewayAttachmentIdHasBeenSet = true; + } return *this; } @@ -54,6 +59,12 @@ JsonValue FirewallMetadata::Jsonize() const } + if(m_transitGatewayAttachmentIdHasBeenSet) + { + payload.WithString("TransitGatewayAttachmentId", m_transitGatewayAttachmentId); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallStatus.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallStatus.cpp index 63c4ef53680..13ca1a50acb 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallStatus.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/FirewallStatus.cpp @@ -49,6 +49,11 @@ FirewallStatus& FirewallStatus::operator =(JsonView jsonValue) m_capacityUsageSummary = jsonValue.GetObject("CapacityUsageSummary"); m_capacityUsageSummaryHasBeenSet = true; } + if(jsonValue.ValueExists("TransitGatewayAttachmentSyncState")) + { + m_transitGatewayAttachmentSyncState = jsonValue.GetObject("TransitGatewayAttachmentSyncState"); + m_transitGatewayAttachmentSyncStateHasBeenSet = true; + } return *this; } @@ -83,6 +88,12 @@ JsonValue FirewallStatus::Jsonize() const } + if(m_transitGatewayAttachmentSyncStateHasBeenSet) + { + payload.WithObject("TransitGatewayAttachmentSyncState", m_transitGatewayAttachmentSyncState.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/RejectNetworkFirewallTransitGatewayAttachmentRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/RejectNetworkFirewallTransitGatewayAttachmentRequest.cpp new file mode 100644 index 00000000000..eac1677cc34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/RejectNetworkFirewallTransitGatewayAttachmentRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String RejectNetworkFirewallTransitGatewayAttachmentRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_transitGatewayAttachmentIdHasBeenSet) + { + payload.WithString("TransitGatewayAttachmentId", m_transitGatewayAttachmentId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection RejectNetworkFirewallTransitGatewayAttachmentRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.RejectNetworkFirewallTransitGatewayAttachment")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/RejectNetworkFirewallTransitGatewayAttachmentResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/RejectNetworkFirewallTransitGatewayAttachmentResult.cpp new file mode 100644 index 00000000000..f2db66d6189 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/RejectNetworkFirewallTransitGatewayAttachmentResult.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 + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +RejectNetworkFirewallTransitGatewayAttachmentResult::RejectNetworkFirewallTransitGatewayAttachmentResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RejectNetworkFirewallTransitGatewayAttachmentResult& RejectNetworkFirewallTransitGatewayAttachmentResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("TransitGatewayAttachmentId")) + { + m_transitGatewayAttachmentId = jsonValue.GetString("TransitGatewayAttachmentId"); + m_transitGatewayAttachmentIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TransitGatewayAttachmentStatus")) + { + m_transitGatewayAttachmentStatus = TransitGatewayAttachmentStatusMapper::GetTransitGatewayAttachmentStatusForName(jsonValue.GetString("TransitGatewayAttachmentStatus")); + m_transitGatewayAttachmentStatusHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/ResourceManagedType.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/ResourceManagedType.cpp index 8144f518803..6de729aa42c 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/ResourceManagedType.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/ResourceManagedType.cpp @@ -22,6 +22,7 @@ namespace Aws static const int AWS_MANAGED_THREAT_SIGNATURES_HASH = HashingUtils::HashString("AWS_MANAGED_THREAT_SIGNATURES"); static const int AWS_MANAGED_DOMAIN_LISTS_HASH = HashingUtils::HashString("AWS_MANAGED_DOMAIN_LISTS"); + static const int ACTIVE_THREAT_DEFENSE_HASH = HashingUtils::HashString("ACTIVE_THREAT_DEFENSE"); ResourceManagedType GetResourceManagedTypeForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return ResourceManagedType::AWS_MANAGED_DOMAIN_LISTS; } + else if (hashCode == ACTIVE_THREAT_DEFENSE_HASH) + { + return ResourceManagedType::ACTIVE_THREAT_DEFENSE; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "AWS_MANAGED_THREAT_SIGNATURES"; case ResourceManagedType::AWS_MANAGED_DOMAIN_LISTS: return "AWS_MANAGED_DOMAIN_LISTS"; + case ResourceManagedType::ACTIVE_THREAT_DEFENSE: + return "ACTIVE_THREAT_DEFENSE"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleGroupResponse.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleGroupResponse.cpp index 4908b805d1c..23ea02caa50 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleGroupResponse.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleGroupResponse.cpp @@ -108,6 +108,11 @@ RuleGroupResponse& RuleGroupResponse::operator =(JsonView jsonValue) } m_analysisResultsHasBeenSet = true; } + if(jsonValue.ValueExists("SummaryConfiguration")) + { + m_summaryConfiguration = jsonValue.GetObject("SummaryConfiguration"); + m_summaryConfigurationHasBeenSet = true; + } return *this; } @@ -212,6 +217,12 @@ JsonValue RuleGroupResponse::Jsonize() const } + if(m_summaryConfigurationHasBeenSet) + { + payload.WithObject("SummaryConfiguration", m_summaryConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleSummary.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleSummary.cpp new file mode 100644 index 00000000000..df7fefa4b6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/RuleSummary.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 NetworkFirewall +{ +namespace Model +{ + +RuleSummary::RuleSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +RuleSummary& RuleSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SID")) + { + m_sID = jsonValue.GetString("SID"); + m_sIDHasBeenSet = true; + } + if(jsonValue.ValueExists("Msg")) + { + m_msg = jsonValue.GetString("Msg"); + m_msgHasBeenSet = true; + } + if(jsonValue.ValueExists("Metadata")) + { + m_metadata = jsonValue.GetString("Metadata"); + m_metadataHasBeenSet = true; + } + return *this; +} + +JsonValue RuleSummary::Jsonize() const +{ + JsonValue payload; + + if(m_sIDHasBeenSet) + { + payload.WithString("SID", m_sID); + + } + + if(m_msgHasBeenSet) + { + payload.WithString("Msg", m_msg); + + } + + if(m_metadataHasBeenSet) + { + payload.WithString("Metadata", m_metadata); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleGroupReference.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleGroupReference.cpp index c367ee0ba30..d757c324b3c 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleGroupReference.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleGroupReference.cpp @@ -40,6 +40,11 @@ StatefulRuleGroupReference& StatefulRuleGroupReference::operator =(JsonView json m_override = jsonValue.GetObject("Override"); m_overrideHasBeenSet = true; } + if(jsonValue.ValueExists("DeepThreatInspection")) + { + m_deepThreatInspection = jsonValue.GetBool("DeepThreatInspection"); + m_deepThreatInspectionHasBeenSet = true; + } return *this; } @@ -65,6 +70,12 @@ JsonValue StatefulRuleGroupReference::Jsonize() const } + if(m_deepThreatInspectionHasBeenSet) + { + payload.WithBool("DeepThreatInspection", m_deepThreatInspection); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleProtocol.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleProtocol.cpp index 6b33c5f4e96..8a6cd012b8d 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleProtocol.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulRuleProtocol.cpp @@ -39,6 +39,8 @@ namespace Aws static const int TFTP_HASH = HashingUtils::HashString("TFTP"); static const int NTP_HASH = HashingUtils::HashString("NTP"); static const int DHCP_HASH = HashingUtils::HashString("DHCP"); + static const int HTTP2_HASH = HashingUtils::HashString("HTTP2"); + static const int QUIC_HASH = HashingUtils::HashString("QUIC"); StatefulRuleProtocol GetStatefulRuleProtocolForName(const Aws::String& name) @@ -120,6 +122,14 @@ namespace Aws { return StatefulRuleProtocol::DHCP; } + else if (hashCode == HTTP2_HASH) + { + return StatefulRuleProtocol::HTTP2; + } + else if (hashCode == QUIC_HASH) + { + return StatefulRuleProtocol::QUIC; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -174,6 +184,10 @@ namespace Aws return "NTP"; case StatefulRuleProtocol::DHCP: return "DHCP"; + case StatefulRuleProtocol::HTTP2: + return "HTTP2"; + case StatefulRuleProtocol::QUIC: + return "QUIC"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/Summary.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/Summary.cpp new file mode 100644 index 00000000000..8d7411eb6bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/Summary.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + +Summary::Summary(JsonView jsonValue) +{ + *this = jsonValue; +} + +Summary& Summary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RuleSummaries")) + { + Aws::Utils::Array ruleSummariesJsonList = jsonValue.GetArray("RuleSummaries"); + for(unsigned ruleSummariesIndex = 0; ruleSummariesIndex < ruleSummariesJsonList.GetLength(); ++ruleSummariesIndex) + { + m_ruleSummaries.push_back(ruleSummariesJsonList[ruleSummariesIndex].AsObject()); + } + m_ruleSummariesHasBeenSet = true; + } + return *this; +} + +JsonValue Summary::Jsonize() const +{ + JsonValue payload; + + if(m_ruleSummariesHasBeenSet) + { + Aws::Utils::Array ruleSummariesJsonList(m_ruleSummaries.size()); + for(unsigned ruleSummariesIndex = 0; ruleSummariesIndex < ruleSummariesJsonList.GetLength(); ++ruleSummariesIndex) + { + ruleSummariesJsonList[ruleSummariesIndex].AsObject(m_ruleSummaries[ruleSummariesIndex].Jsonize()); + } + payload.WithArray("RuleSummaries", std::move(ruleSummariesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/SummaryConfiguration.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/SummaryConfiguration.cpp new file mode 100644 index 00000000000..b062ee9e58b --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/SummaryConfiguration.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + +SummaryConfiguration::SummaryConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +SummaryConfiguration& SummaryConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RuleOptions")) + { + Aws::Utils::Array ruleOptionsJsonList = jsonValue.GetArray("RuleOptions"); + for(unsigned ruleOptionsIndex = 0; ruleOptionsIndex < ruleOptionsJsonList.GetLength(); ++ruleOptionsIndex) + { + m_ruleOptions.push_back(SummaryRuleOptionMapper::GetSummaryRuleOptionForName(ruleOptionsJsonList[ruleOptionsIndex].AsString())); + } + m_ruleOptionsHasBeenSet = true; + } + return *this; +} + +JsonValue SummaryConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_ruleOptionsHasBeenSet) + { + Aws::Utils::Array ruleOptionsJsonList(m_ruleOptions.size()); + for(unsigned ruleOptionsIndex = 0; ruleOptionsIndex < ruleOptionsJsonList.GetLength(); ++ruleOptionsIndex) + { + ruleOptionsJsonList[ruleOptionsIndex].AsString(SummaryRuleOptionMapper::GetNameForSummaryRuleOption(m_ruleOptions[ruleOptionsIndex])); + } + payload.WithArray("RuleOptions", std::move(ruleOptionsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/SummaryRuleOption.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/SummaryRuleOption.cpp new file mode 100644 index 00000000000..16403e9b846 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/SummaryRuleOption.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace NetworkFirewall + { + namespace Model + { + namespace SummaryRuleOptionMapper + { + + static const int SID_HASH = HashingUtils::HashString("SID"); + static const int MSG_HASH = HashingUtils::HashString("MSG"); + static const int METADATA_HASH = HashingUtils::HashString("METADATA"); + + + SummaryRuleOption GetSummaryRuleOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SID_HASH) + { + return SummaryRuleOption::SID; + } + else if (hashCode == MSG_HASH) + { + return SummaryRuleOption::MSG; + } + else if (hashCode == METADATA_HASH) + { + return SummaryRuleOption::METADATA; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SummaryRuleOption::NOT_SET; + } + + Aws::String GetNameForSummaryRuleOption(SummaryRuleOption enumValue) + { + switch(enumValue) + { + case SummaryRuleOption::NOT_SET: + return {}; + case SummaryRuleOption::SID: + return "SID"; + case SummaryRuleOption::MSG: + return "MSG"; + case SummaryRuleOption::METADATA: + return "METADATA"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SummaryRuleOptionMapper + } // namespace Model + } // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/TransitGatewayAttachmentStatus.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/TransitGatewayAttachmentStatus.cpp new file mode 100644 index 00000000000..5ded7d10386 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/TransitGatewayAttachmentStatus.cpp @@ -0,0 +1,121 @@ +/** + * 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 NetworkFirewall + { + namespace Model + { + namespace TransitGatewayAttachmentStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int DELETED_HASH = HashingUtils::HashString("DELETED"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + static const int ERROR__HASH = HashingUtils::HashString("ERROR"); + static const int READY_HASH = HashingUtils::HashString("READY"); + static const int PENDING_ACCEPTANCE_HASH = HashingUtils::HashString("PENDING_ACCEPTANCE"); + static const int REJECTING_HASH = HashingUtils::HashString("REJECTING"); + static const int REJECTED_HASH = HashingUtils::HashString("REJECTED"); + + + TransitGatewayAttachmentStatus GetTransitGatewayAttachmentStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return TransitGatewayAttachmentStatus::CREATING; + } + else if (hashCode == DELETING_HASH) + { + return TransitGatewayAttachmentStatus::DELETING; + } + else if (hashCode == DELETED_HASH) + { + return TransitGatewayAttachmentStatus::DELETED; + } + else if (hashCode == FAILED_HASH) + { + return TransitGatewayAttachmentStatus::FAILED; + } + else if (hashCode == ERROR__HASH) + { + return TransitGatewayAttachmentStatus::ERROR_; + } + else if (hashCode == READY_HASH) + { + return TransitGatewayAttachmentStatus::READY; + } + else if (hashCode == PENDING_ACCEPTANCE_HASH) + { + return TransitGatewayAttachmentStatus::PENDING_ACCEPTANCE; + } + else if (hashCode == REJECTING_HASH) + { + return TransitGatewayAttachmentStatus::REJECTING; + } + else if (hashCode == REJECTED_HASH) + { + return TransitGatewayAttachmentStatus::REJECTED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TransitGatewayAttachmentStatus::NOT_SET; + } + + Aws::String GetNameForTransitGatewayAttachmentStatus(TransitGatewayAttachmentStatus enumValue) + { + switch(enumValue) + { + case TransitGatewayAttachmentStatus::NOT_SET: + return {}; + case TransitGatewayAttachmentStatus::CREATING: + return "CREATING"; + case TransitGatewayAttachmentStatus::DELETING: + return "DELETING"; + case TransitGatewayAttachmentStatus::DELETED: + return "DELETED"; + case TransitGatewayAttachmentStatus::FAILED: + return "FAILED"; + case TransitGatewayAttachmentStatus::ERROR_: + return "ERROR"; + case TransitGatewayAttachmentStatus::READY: + return "READY"; + case TransitGatewayAttachmentStatus::PENDING_ACCEPTANCE: + return "PENDING_ACCEPTANCE"; + case TransitGatewayAttachmentStatus::REJECTING: + return "REJECTING"; + case TransitGatewayAttachmentStatus::REJECTED: + return "REJECTED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TransitGatewayAttachmentStatusMapper + } // namespace Model + } // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/TransitGatewayAttachmentSyncState.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/TransitGatewayAttachmentSyncState.cpp new file mode 100644 index 00000000000..2d5b2dfe2f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/TransitGatewayAttachmentSyncState.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + +TransitGatewayAttachmentSyncState::TransitGatewayAttachmentSyncState(JsonView jsonValue) +{ + *this = jsonValue; +} + +TransitGatewayAttachmentSyncState& TransitGatewayAttachmentSyncState::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AttachmentId")) + { + m_attachmentId = jsonValue.GetString("AttachmentId"); + m_attachmentIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TransitGatewayAttachmentStatus")) + { + m_transitGatewayAttachmentStatus = TransitGatewayAttachmentStatusMapper::GetTransitGatewayAttachmentStatusForName(jsonValue.GetString("TransitGatewayAttachmentStatus")); + m_transitGatewayAttachmentStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + return *this; +} + +JsonValue TransitGatewayAttachmentSyncState::Jsonize() const +{ + JsonValue payload; + + if(m_attachmentIdHasBeenSet) + { + payload.WithString("AttachmentId", m_attachmentId); + + } + + if(m_transitGatewayAttachmentStatusHasBeenSet) + { + payload.WithString("TransitGatewayAttachmentStatus", TransitGatewayAttachmentStatusMapper::GetNameForTransitGatewayAttachmentStatus(m_transitGatewayAttachmentStatus)); + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateAvailabilityZoneChangeProtectionRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateAvailabilityZoneChangeProtectionRequest.cpp new file mode 100644 index 00000000000..0ad191dfae6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateAvailabilityZoneChangeProtectionRequest.cpp @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateAvailabilityZoneChangeProtectionRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_updateTokenHasBeenSet) + { + payload.WithString("UpdateToken", m_updateToken); + + } + + if(m_firewallArnHasBeenSet) + { + payload.WithString("FirewallArn", m_firewallArn); + + } + + if(m_firewallNameHasBeenSet) + { + payload.WithString("FirewallName", m_firewallName); + + } + + if(m_availabilityZoneChangeProtectionHasBeenSet) + { + payload.WithBool("AvailabilityZoneChangeProtection", m_availabilityZoneChangeProtection); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UpdateAvailabilityZoneChangeProtectionRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "NetworkFirewall_20201112.UpdateAvailabilityZoneChangeProtection")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateAvailabilityZoneChangeProtectionResult.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateAvailabilityZoneChangeProtectionResult.cpp new file mode 100644 index 00000000000..805da198345 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateAvailabilityZoneChangeProtectionResult.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::NetworkFirewall::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAvailabilityZoneChangeProtectionResult::UpdateAvailabilityZoneChangeProtectionResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAvailabilityZoneChangeProtectionResult& UpdateAvailabilityZoneChangeProtectionResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("UpdateToken")) + { + m_updateToken = jsonValue.GetString("UpdateToken"); + m_updateTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("FirewallArn")) + { + m_firewallArn = jsonValue.GetString("FirewallArn"); + m_firewallArnHasBeenSet = true; + } + if(jsonValue.ValueExists("FirewallName")) + { + m_firewallName = jsonValue.GetString("FirewallName"); + m_firewallNameHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZoneChangeProtection")) + { + m_availabilityZoneChangeProtection = jsonValue.GetBool("AvailabilityZoneChangeProtection"); + m_availabilityZoneChangeProtectionHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateRuleGroupRequest.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateRuleGroupRequest.cpp index e209cfc36a0..0269421ad7f 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateRuleGroupRequest.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/UpdateRuleGroupRequest.cpp @@ -81,6 +81,12 @@ Aws::String UpdateRuleGroupRequest::SerializePayload() const } + if(m_summaryConfigurationHasBeenSet) + { + payload.WithObject("SummaryConfiguration", m_summaryConfiguration.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/CoreNetworkChangeValues.h b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/CoreNetworkChangeValues.h index 8563ceb451c..df5ad0635c4 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/CoreNetworkChangeValues.h +++ b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/CoreNetworkChangeValues.h @@ -153,6 +153,39 @@ namespace Model template CoreNetworkChangeValues& AddServiceInsertionActions(ServiceInsertionActionsT&& value) { m_serviceInsertionActionsHasBeenSet = true; m_serviceInsertionActions.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

          Indicates whether Equal Cost Multipath (ECMP) is enabled for the core + * network.

          + */ + inline bool GetVpnEcmpSupport() const { return m_vpnEcmpSupport; } + inline bool VpnEcmpSupportHasBeenSet() const { return m_vpnEcmpSupportHasBeenSet; } + inline void SetVpnEcmpSupport(bool value) { m_vpnEcmpSupportHasBeenSet = true; m_vpnEcmpSupport = value; } + inline CoreNetworkChangeValues& WithVpnEcmpSupport(bool value) { SetVpnEcmpSupport(value); return *this;} + ///@} + + ///@{ + /** + *

          Indicates whether public DNS support is supported. The default is + * true.

          + */ + inline bool GetDnsSupport() const { return m_dnsSupport; } + inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; } + inline void SetDnsSupport(bool value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = value; } + inline CoreNetworkChangeValues& WithDnsSupport(bool value) { SetDnsSupport(value); return *this;} + ///@} + + ///@{ + /** + *

          Indicates whether security group referencing is enabled for the core + * network.

          + */ + inline bool GetSecurityGroupReferencingSupport() const { return m_securityGroupReferencingSupport; } + inline bool SecurityGroupReferencingSupportHasBeenSet() const { return m_securityGroupReferencingSupportHasBeenSet; } + inline void SetSecurityGroupReferencingSupport(bool value) { m_securityGroupReferencingSupportHasBeenSet = true; m_securityGroupReferencingSupport = value; } + inline CoreNetworkChangeValues& WithSecurityGroupReferencingSupport(bool value) { SetSecurityGroupReferencingSupport(value); return *this;} + ///@} private: Aws::String m_segmentName; @@ -181,6 +214,15 @@ namespace Model Aws::Vector m_serviceInsertionActions; bool m_serviceInsertionActionsHasBeenSet = false; + + bool m_vpnEcmpSupport{false}; + bool m_vpnEcmpSupportHasBeenSet = false; + + bool m_dnsSupport{false}; + bool m_dnsSupportHasBeenSet = false; + + bool m_securityGroupReferencingSupport{false}; + bool m_securityGroupReferencingSupportHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/VpcOptions.h b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/VpcOptions.h index e2a226c032f..3762a2fc5a0 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/VpcOptions.h +++ b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/model/VpcOptions.h @@ -57,6 +57,28 @@ namespace Model inline void SetApplianceModeSupport(bool value) { m_applianceModeSupportHasBeenSet = true; m_applianceModeSupport = value; } inline VpcOptions& WithApplianceModeSupport(bool value) { SetApplianceModeSupport(value); return *this;} ///@} + + ///@{ + /** + *

          Indicates whether DNS is supported.

          + */ + inline bool GetDnsSupport() const { return m_dnsSupport; } + inline bool DnsSupportHasBeenSet() const { return m_dnsSupportHasBeenSet; } + inline void SetDnsSupport(bool value) { m_dnsSupportHasBeenSet = true; m_dnsSupport = value; } + inline VpcOptions& WithDnsSupport(bool value) { SetDnsSupport(value); return *this;} + ///@} + + ///@{ + /** + *

          Indicates whether security group referencing is enabled for this VPC + * attachment. The default is true. However, at the core network + * policy-level the default is set to false.

          + */ + inline bool GetSecurityGroupReferencingSupport() const { return m_securityGroupReferencingSupport; } + inline bool SecurityGroupReferencingSupportHasBeenSet() const { return m_securityGroupReferencingSupportHasBeenSet; } + inline void SetSecurityGroupReferencingSupport(bool value) { m_securityGroupReferencingSupportHasBeenSet = true; m_securityGroupReferencingSupport = value; } + inline VpcOptions& WithSecurityGroupReferencingSupport(bool value) { SetSecurityGroupReferencingSupport(value); return *this;} + ///@} private: bool m_ipv6Support{false}; @@ -64,6 +86,12 @@ namespace Model bool m_applianceModeSupport{false}; bool m_applianceModeSupportHasBeenSet = false; + + bool m_dnsSupport{false}; + bool m_dnsSupportHasBeenSet = false; + + bool m_securityGroupReferencingSupport{false}; + bool m_securityGroupReferencingSupportHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-networkmanager/source/model/CoreNetworkChangeValues.cpp b/generated/src/aws-cpp-sdk-networkmanager/source/model/CoreNetworkChangeValues.cpp index 32abef8c6c5..66cf1c99c27 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/source/model/CoreNetworkChangeValues.cpp +++ b/generated/src/aws-cpp-sdk-networkmanager/source/model/CoreNetworkChangeValues.cpp @@ -86,6 +86,21 @@ CoreNetworkChangeValues& CoreNetworkChangeValues::operator =(JsonView jsonValue) } m_serviceInsertionActionsHasBeenSet = true; } + if(jsonValue.ValueExists("VpnEcmpSupport")) + { + m_vpnEcmpSupport = jsonValue.GetBool("VpnEcmpSupport"); + m_vpnEcmpSupportHasBeenSet = true; + } + if(jsonValue.ValueExists("DnsSupport")) + { + m_dnsSupport = jsonValue.GetBool("DnsSupport"); + m_dnsSupportHasBeenSet = true; + } + if(jsonValue.ValueExists("SecurityGroupReferencingSupport")) + { + m_securityGroupReferencingSupport = jsonValue.GetBool("SecurityGroupReferencingSupport"); + m_securityGroupReferencingSupportHasBeenSet = true; + } return *this; } @@ -167,6 +182,24 @@ JsonValue CoreNetworkChangeValues::Jsonize() const } + if(m_vpnEcmpSupportHasBeenSet) + { + payload.WithBool("VpnEcmpSupport", m_vpnEcmpSupport); + + } + + if(m_dnsSupportHasBeenSet) + { + payload.WithBool("DnsSupport", m_dnsSupport); + + } + + if(m_securityGroupReferencingSupportHasBeenSet) + { + payload.WithBool("SecurityGroupReferencingSupport", m_securityGroupReferencingSupport); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-networkmanager/source/model/VpcOptions.cpp b/generated/src/aws-cpp-sdk-networkmanager/source/model/VpcOptions.cpp index e07ef77a5d3..2ed2dd92076 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/source/model/VpcOptions.cpp +++ b/generated/src/aws-cpp-sdk-networkmanager/source/model/VpcOptions.cpp @@ -35,6 +35,16 @@ VpcOptions& VpcOptions::operator =(JsonView jsonValue) m_applianceModeSupport = jsonValue.GetBool("ApplianceModeSupport"); m_applianceModeSupportHasBeenSet = true; } + if(jsonValue.ValueExists("DnsSupport")) + { + m_dnsSupport = jsonValue.GetBool("DnsSupport"); + m_dnsSupportHasBeenSet = true; + } + if(jsonValue.ValueExists("SecurityGroupReferencingSupport")) + { + m_securityGroupReferencingSupport = jsonValue.GetBool("SecurityGroupReferencingSupport"); + m_securityGroupReferencingSupportHasBeenSet = true; + } return *this; } @@ -54,6 +64,18 @@ JsonValue VpcOptions::Jsonize() const } + if(m_dnsSupportHasBeenSet) + { + payload.WithBool("DnsSupport", m_dnsSupport); + + } + + if(m_securityGroupReferencingSupportHasBeenSet) + { + payload.WithBool("SecurityGroupReferencingSupport", m_securityGroupReferencingSupport); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h index 09731046cae..2e2df9b8c58 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h @@ -188,9 +188,11 @@ namespace Organizations * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

        • AISERVICES_OPT_OUT_POLICY + *

        • SECURITYHUB_POLICY *

        This operation can be called only from the organization's - * management account or by a member account that is a delegated administrator for - * an Amazon Web Services service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -598,8 +600,8 @@ namespace Organizations * Organizations policies.

        If the request includes tags, then the * requester must have the organizations:TagResource permission.

        *

        This operation can be called only from the organization's management account - * or by a member account that is a delegated administrator for an Amazon Web - * Services service.

        See Also:

        See + * Also:

        AWS * API Reference

        */ @@ -715,7 +717,7 @@ namespace Organizations * operation, you must first detach the policy from all organizational units (OUs), * roots, and accounts.

        This operation can be called only from the * organization's management account or by a member account that is a delegated - * administrator for an Amazon Web Services service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -740,8 +742,8 @@ namespace Organizations } /** - *

        Deletes the resource policy from your organization.

        You can only call - * this operation from the organization's management account.

        See + *

        Deletes the resource policy from your organization.

        This operation can + * be called only from the organization's management account.

        See * Also:

        AWS * API Reference

        @@ -806,8 +808,8 @@ namespace Organizations /** *

        Retrieves Organizations-related information about the specified account.

        *

        This operation can be called only from the organization's management account - * or by a member account that is a delegated administrator for an Amazon Web - * Services service.

        See Also:

        See + * Also:

        AWS * API Reference

        */ @@ -834,8 +836,8 @@ namespace Organizations /** *

        Retrieves the current status of an asynchronous request to create an * account.

        This operation can be called only from the organization's - * management account or by a member account that is a delegated administrator for - * an Amazon Web Services service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -958,8 +960,7 @@ namespace Organizations /** *

        Retrieves information about an organizational unit (OU).

        This * operation can be called only from the organization's management account or by a - * member account that is a delegated administrator for an Amazon Web Services - * service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -986,8 +987,7 @@ namespace Organizations /** *

        Retrieves information about a policy.

        This operation can be called * only from the organization's management account or by a member account that is a - * delegated administrator for an Amazon Web Services service.

        See - * Also:

        See Also:

        AWS * API Reference

        */ @@ -1014,8 +1014,7 @@ namespace Organizations /** *

        Retrieves information about a resource policy.

        This operation can be * called only from the organization's management account or by a member account - * that is a delegated administrator for an Amazon Web Services - * service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -1057,8 +1056,8 @@ namespace Organizations * using the authorization strategy of a "deny * list".

        This operation can be called only from the organization's - * management account or by a member account that is a delegated administrator for - * an Amazon Web Services service.

        See Also:

        See Also:

        AWS * API Reference

        */ @@ -1166,9 +1165,8 @@ namespace Organizations * that you first use ListRoots to see the status of policy types for a * specified root, and then use this operation.

        This operation can be called * only from the organization's management account or by a member account that is a - * delegated administrator for an Amazon Web Services service.

        To view the - * status of available policy types in the organization, use - * DescribeOrganization.

        See Also:

        To view the status of available policy types in + * the organization, use DescribeOrganization.

        See Also:

        AWS * API Reference

        */ @@ -1211,10 +1209,8 @@ namespace Organizations * integrate with Organizations, see Using * Organizations with other Amazon Web Services services in the - * Organizations User Guide.

        You can only call this operation from - * the organization's management account and only if the organization has enabled - * all features.

        See Also:

        Organizations User Guide
        .

        This operation can be called only from + * the organization's management account.

        See Also:

        AWS * API Reference

        */ @@ -1296,10 +1292,10 @@ namespace Organizations * ListRoots to see the status of policy types for a specified root, and * then use this operation.

        This operation can be called only from the * organization's management account or by a member account that is a delegated - * administrator for an Amazon Web Services service.

        You can enable a policy - * type in a root only if that policy type is available in the organization. To - * view the status of available policy types in the organization, use - * DescribeOrganization.

        See Also:

        You can enable a policy type in a root only if that policy + * type is available in the organization. To view the status of available policy + * types in the organization, use DescribeOrganization.

        See + * Also:

        AWS * API Reference

        */ @@ -1327,23 +1323,15 @@ namespace Organizations *

        Sends an invitation to another account to join your organization as a member * account. Organizations sends email on your behalf to the email address that is * associated with the other account's owner. The invitation is implemented as a - * Handshake whose details are in the response.

        • - *

          You can invite Amazon Web Services accounts only from the same seller as the - * management account. For example, if your organization's management account was - * created by Amazon Internet Services Pvt. Ltd (AISPL), an Amazon Web Services - * seller in India, you can invite only other AISPL accounts to your organization. - * You can't combine accounts from AISPL and Amazon Web Services or from any other - * Amazon Web Services seller. For more information, see Consolidated - * billing in India.

        • If you receive an exception that - * indicates that you exceeded your account limits for the organization or that the - * operation failed because your organization is still initializing, wait one hour - * and then try again. If the error persists after an hour, contact Amazon Web Services - * Support.

        If the request includes tags, then - * the requester must have the organizations:TagResource - * permission.

        This operation can be called only from the organization's - * management account.

        See Also:

        Handshake whose details are in the response.

        If you + * receive an exception that indicates that you exceeded your account limits for + * the organization or that the operation failed because your organization is still + * initializing, wait one hour and then try again. If the error persists after an + * hour, contact Amazon Web + * Services Support.

        If the request includes tags, then the + * requester must have the organizations:TagResource permission.

        + *

        This operation can be called only from the organization's management + * account.

        See Also:

        AWS * API Reference

        */ @@ -1395,18 +1383,13 @@ namespace Organizations * delegated administrator account for any Amazon Web Services service enabled for * your organization. If the account is a delegated administrator, you must first * change the delegated administrator account to another account that is remaining - * in the organization.

      • You can leave an organization only after - * you enable IAM user access to billing in your account. For more information, see - * About - * IAM access to the Billing and Cost Management console in the Amazon Web - * Services Billing and Cost Management User Guide.

      • After the - * account leaves the organization, all tags that were attached to the account - * object in the organization are deleted. Amazon Web Services accounts outside of - * an organization do not support tags.

      • A newly created account - * has a waiting period before it can be removed from its organization. You must - * wait until at least seven days after the account was created. Invited accounts - * aren't subject to this waiting period.

      • If you are using an + * in the organization.

      • After the account leaves the + * organization, all tags that were attached to the account object in the + * organization are deleted. Amazon Web Services accounts outside of an + * organization do not support tags.

      • A newly created account has + * a waiting period before it can be removed from its organization. You must wait + * until at least seven days after the account was created. Invited accounts aren't + * subject to this waiting period.

      • If you are using an * organization principal to call LeaveOrganization across multiple * accounts, you can only do this up to 5 accounts per second in a single * organization.

      See Also:

      in the * Organizations User Guide.

      This operation can be called only from * the organization's management account or by a member account that is a delegated - * administrator for an Amazon Web Services service.

      See Also:

      See Also:

      AWS * API Reference

      */ @@ -1478,8 +1461,7 @@ namespace Organizations * NextToken response parameter value is null only * when there are no more results to display.

      This operation can be * called only from the organization's management account or by a member account - * that is a delegated administrator for an Amazon Web Services - * service.

      See Also:

      See Also:

      AWS * API Reference

      */ @@ -1515,8 +1497,8 @@ namespace Organizations * more results available. The NextToken response parameter value is * null only when there are no more results to display.

      *

      This operation can be called only from the organization's management - * account or by a member account that is a delegated administrator for an Amazon - * Web Services service.

      See Also:

      See + * Also:

      AWS * API Reference

      */ @@ -1550,8 +1532,8 @@ namespace Organizations * more results available. The NextToken response parameter value is * null only when there are no more results to display.

      *

      This operation can be called only from the organization's management - * account or by a member account that is a delegated administrator for an Amazon - * Web Services service.

      See Also:

      See + * Also:

      AWS * API Reference

      */ @@ -1584,8 +1566,7 @@ namespace Organizations * NextToken response parameter value is null only * when there are no more results to display.

      This operation can be * called only from the organization's management account or by a member account - * that is a delegated administrator for an Amazon Web Services - * service.

      See Also:

      See Also:

      AWS * API Reference

      */ @@ -1613,8 +1594,7 @@ namespace Organizations *

      Lists the Amazon Web Services accounts that are designated as delegated * administrators in this organization.

      This operation can be called only * from the organization's management account or by a member account that is a - * delegated administrator for an Amazon Web Services service.

      See - * Also:

      See Also:

      AWS * API Reference

      */ @@ -1642,7 +1622,7 @@ namespace Organizations *

      List the Amazon Web Services services for which the specified account is a * delegated administrator.

      This operation can be called only from the * organization's management account or by a member account that is a delegated - * administrator for an Amazon Web Services service.

      See Also:

      See Also:

      AWS * API Reference

      */ @@ -1716,7 +1696,7 @@ namespace Organizations * parameter value is null only when there are no more results * to display.

      This operation can be called only from the * organization's management account or by a member account that is a delegated - * administrator for an Amazon Web Services service.

      See Also:

      See Also:

      AWS * API Reference

      */ @@ -1748,8 +1728,8 @@ namespace Organizations * more results available. The NextToken response parameter value is * null only when there are no more results to display.

      *

      This operation can be called only from the organization's management - * account or by a member account that is a delegated administrator for an Amazon - * Web Services service.

      See Also:

      See + * Also:

      AWS * API Reference

      */ @@ -1784,9 +1764,8 @@ namespace Organizations * parameter value is null only when there are no more results * to display.

      This operation can be called only from the * organization's management account or by a member account that is a delegated - * administrator for an Amazon Web Services service.

      In the current - * release, a child can have only a single parent.

      See Also:

      - *

      In the current release, a child can have only a + * single parent.

      See Also:

      AWS * API Reference

      */ @@ -1818,8 +1797,8 @@ namespace Organizations * more results available. The NextToken response parameter value is * null only when there are no more results to display.

      *

      This operation can be called only from the organization's management - * account or by a member account that is a delegated administrator for an Amazon - * Web Services service.

      See Also:

      See + * Also:

      AWS * API Reference

      */ @@ -1853,8 +1832,7 @@ namespace Organizations * NextToken response parameter value is null only * when there are no more results to display.

      This operation can be * called only from the organization's management account or by a member account - * that is a delegated administrator for an Amazon Web Services - * service.

      See Also:

      See Also:

      AWS * API Reference

      */ @@ -1886,13 +1864,13 @@ namespace Organizations * more results available. The NextToken response parameter value is * null only when there are no more results to display.

      *

      This operation can be called only from the organization's management - * account or by a member account that is a delegated administrator for an Amazon - * Web Services service.

      Policy types can be enabled and disabled in - * roots. This is distinct from whether they're available in the organization. When - * you enable all features, you make policy types available for use in that - * organization. Individual policy types can then be enabled and disabled in a - * root. To see the availability of a policy type in an organization, use - * DescribeOrganization.

      See Also:

      + *

      Policy types can be enabled and disabled in roots. This is distinct from + * whether they're available in the organization. When you enable all features, you + * make policy types available for use in that organization. Individual policy + * types can then be enabled and disabled in a root. To see the availability of a + * policy type in an organization, use DescribeOrganization.

      + *

      See Also:

      AWS * API Reference

      */ @@ -1922,8 +1900,8 @@ namespace Organizations * Services account

    • Organization root

    • *

      Organizational unit (OU)

    • Policy (any type)

    *

    This operation can be called only from the organization's management account - * or by a member account that is a delegated administrator for an Amazon Web - * Services service.

    See Also:

    See + * Also:

    AWS * API Reference

    */ @@ -1956,8 +1934,7 @@ namespace Organizations * NextToken response parameter value is null only * when there are no more results to display.

    This operation can be * called only from the organization's management account or by a member account - * that is a delegated administrator for an Amazon Web Services - * service.

    See Also:

    See Also:

    AWS * API Reference

    */ @@ -2010,8 +1987,8 @@ namespace Organizations } /** - *

    Creates or updates a resource policy.

    You can only call this operation - * from the organization's management account.

    See Also:

    Creates or updates a resource policy.

    This operation can be called + * only from the organization's management account..

    See Also:

    AWS * API Reference

    */ @@ -2124,8 +2101,8 @@ namespace Organizations * Web Services account

  • Organization root

  • *

    Organizational unit (OU)

  • Policy (any type)

*

This operation can be called only from the organization's management account - * or by a member account that is a delegated administrator for an Amazon Web - * Services service.

See Also:

See + * Also:

AWS * API Reference

*/ @@ -2155,8 +2132,8 @@ namespace Organizations *
  • Amazon Web Services account

  • Organization root

    *
  • Organizational unit (OU)

  • Policy (any type)

    *
  • This operation can be called only from the organization's - * management account or by a member account that is a delegated administrator for - * an Amazon Web Services service.

    See Also:

    See Also:

    AWS * API Reference

    */ @@ -2212,8 +2189,8 @@ namespace Organizations *

    Updates an existing policy with a new name, description, or content. If you * don't supply any parameter, that value remains unchanged. You can't change a * policy's type.

    This operation can be called only from the organization's - * management account or by a member account that is a delegated administrator for - * an Amazon Web Services service.

    See Also:

    See Also:

    AWS * API Reference

    */ diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h index 6f49cc70fd2..a4c64bc3bd4 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationException.h @@ -143,9 +143,14 @@ namespace Model * You attempted to create a policy that is larger than the maximum size.

    *
  • POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of * policies that you can have in an organization.

  • - *

    SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated - * administrator before you enabled service access. Call the - * EnableAWSServiceAccess API first.

  • + *

    POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access + * before you disabled the policy type (for example, SECURITYHUB_POLICY). To + * complete this operation, you must first disable the policy type.

  • + *

    SERVICE_ACCESS_NOT_ENABLED:

    • You attempted to register a + * delegated administrator before you enabled service access. Call the + * EnableAWSServiceAccess API first.

    • You attempted + * to enable a policy type before you enabled service access. Call the + * EnableAWSServiceAccess API first.

  • *

    TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags * that are not compliant with the tag policy requirements for this account.

    *
  • WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationExceptionReason.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationExceptionReason.h index 6c14b7b1f85..84c08c20595 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationExceptionReason.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ConstraintViolationExceptionReason.h @@ -43,6 +43,7 @@ namespace Model CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR, CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG, DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE, + POLICY_TYPE_ENABLED_FOR_THIS_SERVICE, MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE, CANNOT_CLOSE_MANAGEMENT_ACCOUNT, CLOSE_ACCOUNT_QUOTA_EXCEEDED, diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h index 349a29ff0db..5966d46965d 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/CreatePolicyRequest.h @@ -98,6 +98,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetType() const { return m_type; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h index 0c12b0f220b..0f990ae0dd1 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DescribeEffectivePolicyRequest.h @@ -48,6 +48,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline EffectivePolicyType GetPolicyType() const { return m_policyType; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h index 4e4ede5b7ed..07e0a2d0294 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/DisablePolicyTypeRequest.h @@ -67,6 +67,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetPolicyType() const { return m_policyType; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h index cd33c61b9d1..0fafbe5cb00 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EffectivePolicyType.h @@ -20,7 +20,8 @@ namespace Model BACKUP_POLICY, AISERVICES_OPT_OUT_POLICY, CHATBOT_POLICY, - DECLARATIVE_POLICY_EC2 + DECLARATIVE_POLICY_EC2, + SECURITYHUB_POLICY }; namespace EffectivePolicyTypeMapper diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h index 5a97a28cab0..44e5e9b7023 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/EnablePolicyTypeRequest.h @@ -67,6 +67,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetPolicyType() const { return m_policyType; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h index ae6e9afd9aa..fe2ef1004bb 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/HandshakeConstraintViolationException.h @@ -48,9 +48,7 @@ namespace Model * is invalid because the organization has already started the process to enable * all features.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: * The request failed because the account is from a different marketplace than the - * accounts in the organization. For example, accounts with India addresses must be - * associated with the AISPL marketplace. All accounts in an organization must be - * from the same marketplace.

  • + * accounts in the organization.

  • *

    ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change * the membership of an account too quickly after its previous change.

  • *
  • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h index 6d240801c7e..ab06d585eae 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesForTargetRequest.h @@ -73,6 +73,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetFilter() const { return m_filter; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h index 14653880cf3..5bd1b47ebe9 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/ListPoliciesRequest.h @@ -52,6 +52,8 @@ namespace Model * href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_chatbot.html">CHATBOT_POLICY *

  • AISERVICES_OPT_OUT_POLICY + *

  • SECURITYHUB_POLICY *

  • */ inline PolicyType GetFilter() const { return m_filter; } diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h index 746af3ce55c..4a8cfda7208 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/model/PolicyType.h @@ -22,7 +22,8 @@ namespace Model BACKUP_POLICY, AISERVICES_OPT_OUT_POLICY, CHATBOT_POLICY, - DECLARATIVE_POLICY_EC2 + DECLARATIVE_POLICY_EC2, + SECURITYHUB_POLICY }; namespace PolicyTypeMapper diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp index b43e0678dd8..e5072cac611 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/ConstraintViolationExceptionReason.cpp @@ -47,6 +47,7 @@ namespace Aws static const int CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR_HASH = HashingUtils::HashString("CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR"); static const int CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG_HASH = HashingUtils::HashString("CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG"); static const int DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE_HASH = HashingUtils::HashString("DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE"); + static const int POLICY_TYPE_ENABLED_FOR_THIS_SERVICE_HASH = HashingUtils::HashString("POLICY_TYPE_ENABLED_FOR_THIS_SERVICE"); static const int MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE_HASH = HashingUtils::HashString("MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE"); static const int CANNOT_CLOSE_MANAGEMENT_ACCOUNT_HASH = HashingUtils::HashString("CANNOT_CLOSE_MANAGEMENT_ACCOUNT"); static const int CLOSE_ACCOUNT_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("CLOSE_ACCOUNT_QUOTA_EXCEEDED"); @@ -169,6 +170,10 @@ namespace Aws { return ConstraintViolationExceptionReason::DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE; } + else if (hashCode == POLICY_TYPE_ENABLED_FOR_THIS_SERVICE_HASH) + { + return ConstraintViolationExceptionReason::POLICY_TYPE_ENABLED_FOR_THIS_SERVICE; + } else if (hashCode == MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE_HASH) { return ConstraintViolationExceptionReason::MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE; @@ -275,6 +280,8 @@ namespace Aws return "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG"; case ConstraintViolationExceptionReason::DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: return "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE"; + case ConstraintViolationExceptionReason::POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: + return "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE"; case ConstraintViolationExceptionReason::MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: return "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE"; case ConstraintViolationExceptionReason::CANNOT_CLOSE_MANAGEMENT_ACCOUNT: diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp index 1172c27e3e9..654fdc14032 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/EffectivePolicyType.cpp @@ -25,6 +25,7 @@ namespace Aws static const int AISERVICES_OPT_OUT_POLICY_HASH = HashingUtils::HashString("AISERVICES_OPT_OUT_POLICY"); static const int CHATBOT_POLICY_HASH = HashingUtils::HashString("CHATBOT_POLICY"); static const int DECLARATIVE_POLICY_EC2_HASH = HashingUtils::HashString("DECLARATIVE_POLICY_EC2"); + static const int SECURITYHUB_POLICY_HASH = HashingUtils::HashString("SECURITYHUB_POLICY"); EffectivePolicyType GetEffectivePolicyTypeForName(const Aws::String& name) @@ -50,6 +51,10 @@ namespace Aws { return EffectivePolicyType::DECLARATIVE_POLICY_EC2; } + else if (hashCode == SECURITYHUB_POLICY_HASH) + { + return EffectivePolicyType::SECURITYHUB_POLICY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +81,8 @@ namespace Aws return "CHATBOT_POLICY"; case EffectivePolicyType::DECLARATIVE_POLICY_EC2: return "DECLARATIVE_POLICY_EC2"; + case EffectivePolicyType::SECURITYHUB_POLICY: + return "SECURITYHUB_POLICY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp b/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp index ceecd92add8..0c5f30ba6d3 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/model/PolicyType.cpp @@ -27,6 +27,7 @@ namespace Aws static const int AISERVICES_OPT_OUT_POLICY_HASH = HashingUtils::HashString("AISERVICES_OPT_OUT_POLICY"); static const int CHATBOT_POLICY_HASH = HashingUtils::HashString("CHATBOT_POLICY"); static const int DECLARATIVE_POLICY_EC2_HASH = HashingUtils::HashString("DECLARATIVE_POLICY_EC2"); + static const int SECURITYHUB_POLICY_HASH = HashingUtils::HashString("SECURITYHUB_POLICY"); PolicyType GetPolicyTypeForName(const Aws::String& name) @@ -60,6 +61,10 @@ namespace Aws { return PolicyType::DECLARATIVE_POLICY_EC2; } + else if (hashCode == SECURITYHUB_POLICY_HASH) + { + return PolicyType::SECURITYHUB_POLICY; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -90,6 +95,8 @@ namespace Aws return "CHATBOT_POLICY"; case PolicyType::DECLARATIVE_POLICY_EC2: return "DECLARATIVE_POLICY_EC2"; + case PolicyType::SECURITYHUB_POLICY: + return "SECURITYHUB_POLICY"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h index a46faec8fff..72ef8b980ad 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/KeyCheckValueAlgorithm.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, CMAC, - ANSI_X9_24 + ANSI_X9_24, + HMAC }; namespace KeyCheckValueAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h index 7b74af7ff0c..6b4ca786ce1 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/model/SymmetricKeyAlgorithm.h @@ -20,7 +20,11 @@ namespace Model TDES_3KEY, AES_128, AES_192, - AES_256 + AES_256, + HMAC_SHA256, + HMAC_SHA384, + HMAC_SHA512, + HMAC_SHA224 }; namespace SymmetricKeyAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp index 63eb28fed7e..04fe872c93c 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/KeyCheckValueAlgorithm.cpp @@ -22,6 +22,7 @@ namespace Aws static const int CMAC_HASH = HashingUtils::HashString("CMAC"); static const int ANSI_X9_24_HASH = HashingUtils::HashString("ANSI_X9_24"); + static const int HMAC_HASH = HashingUtils::HashString("HMAC"); KeyCheckValueAlgorithm GetKeyCheckValueAlgorithmForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return KeyCheckValueAlgorithm::ANSI_X9_24; } + else if (hashCode == HMAC_HASH) + { + return KeyCheckValueAlgorithm::HMAC; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "CMAC"; case KeyCheckValueAlgorithm::ANSI_X9_24: return "ANSI_X9_24"; + case KeyCheckValueAlgorithm::HMAC: + return "HMAC"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp index de1a2fd0f41..69bdfa96295 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/model/SymmetricKeyAlgorithm.cpp @@ -25,6 +25,10 @@ namespace Aws static const int AES_128_HASH = HashingUtils::HashString("AES_128"); static const int AES_192_HASH = HashingUtils::HashString("AES_192"); static const int AES_256_HASH = HashingUtils::HashString("AES_256"); + static const int HMAC_SHA256_HASH = HashingUtils::HashString("HMAC_SHA256"); + static const int HMAC_SHA384_HASH = HashingUtils::HashString("HMAC_SHA384"); + static const int HMAC_SHA512_HASH = HashingUtils::HashString("HMAC_SHA512"); + static const int HMAC_SHA224_HASH = HashingUtils::HashString("HMAC_SHA224"); SymmetricKeyAlgorithm GetSymmetricKeyAlgorithmForName(const Aws::String& name) @@ -50,6 +54,22 @@ namespace Aws { return SymmetricKeyAlgorithm::AES_256; } + else if (hashCode == HMAC_SHA256_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA256; + } + else if (hashCode == HMAC_SHA384_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA384; + } + else if (hashCode == HMAC_SHA512_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA512; + } + else if (hashCode == HMAC_SHA224_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA224; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +96,14 @@ namespace Aws return "AES_192"; case SymmetricKeyAlgorithm::AES_256: return "AES_256"; + case SymmetricKeyAlgorithm::HMAC_SHA256: + return "HMAC_SHA256"; + case SymmetricKeyAlgorithm::HMAC_SHA384: + return "HMAC_SHA384"; + case SymmetricKeyAlgorithm::HMAC_SHA512: + return "HMAC_SHA512"; + case SymmetricKeyAlgorithm::HMAC_SHA224: + return "HMAC_SHA224"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h index 939b21dec90..aac2a565074 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h @@ -164,15 +164,29 @@ namespace PaymentCryptography * class (example: SYMMETRIC_KEY), key algorithm (example: * TDES_2KEY), key usage (example: * TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: - * Encrypt). For information about valid combinations of key - * attributes, see Encrypt). Amazon Web Services Payment Cryptography binds key + * attributes to keys using key blocks when you store or export them. Amazon Web + * Services Payment Cryptography stores the key contents wrapped and never stores + * or transmits them in the clear.

    For information about valid combinations + * of key attributes, see Understanding * key attributes in the Amazon Web Services Payment Cryptography User * Guide. The mutable data contained within a key includes usage timestamp and - * key deletion timestamp and can be modified after creation.

    Amazon Web - * Services Payment Cryptography binds key attributes to keys using key blocks when - * you store or export them. Amazon Web Services Payment Cryptography stores the - * key contents wrapped and never stores or transmits them in the clear.

    + * key deletion timestamp and can be modified after creation.

    You can use + * the CreateKey operation to generate an ECC (Elliptic Curve + * Cryptography) key pair used for establishing an ECDH (Elliptic Curve + * Diffie-Hellman) key agreement between two parties. In the ECDH key agreement + * process, both parties generate their own ECC key pair with key usage K3 and + * exchange the public keys. Each party then use their private key, the received + * public key from the other party, and the key derivation parameters including key + * derivation function, hash algorithm, derivation data, and key algorithm to + * derive a shared key.

    To maintain the single-use principle of + * cryptographic keys in payments, ECDH derived keys should not be used for + * multiple purposes, such as a TR31_P0_PIN_ENCRYPTION_KEY and + * TR31_K1_KEY_BLOCK_PROTECTION_KEY. When creating ECC key pairs in + * Amazon Web Services Payment Cryptography you can optionally set the + * DeriveKeyUsage parameter, which defines the key usage bound to the + * symmetric key that will be derived using the ECC key pair.

    * Cross-account use: This operation can't be used across different Amazon * Web Services accounts.

    Related operations:

    • DeleteKey @@ -309,18 +323,21 @@ namespace PaymentCryptography * Payment Cryptography

      For symmetric key exchange, Amazon Web Services * Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN * guidelines. And for asymmetric key exchange, Amazon Web Services Payment - * Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange - * mechanism. Asymmetric key exchange methods are typically used to establish - * bi-directional trust between the two parties exhanging keys and are used for - * initial key exchange such as Key Encryption Key (KEK). After which you can - * export working keys using symmetric method to perform various cryptographic - * operations within Amazon Web Services Payment Cryptography.

      The TR-34 - * norm is intended for exchanging 3DES keys only and keys are imported in a - * WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, - * KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap - * and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported - * in a WrappedKeyCryptogram format and you will need to specify the key attributes - * during import.

      You can also use ExportKey functionality to + * Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve + * Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are + * typically used to establish bi-directional trust between the two parties + * exhanging keys and are used for initial key exchange such as Key Encryption Key + * (KEK). After which you can export working keys using symmetric method to perform + * various cryptographic operations within Amazon Web Services Payment + * Cryptography.

      PCI requires specific minimum key strength of wrapping keys + * used to protect the keys being exchanged electronically. These requirements can + * change when PCI standards are revised. The rules specify that wrapping keys used + * for transport must be at least as strong as the key being protected. For more + * information on recommended key strength of wrapping keys and key exchange + * mechanism, see Importing + * and exporting keys in the Amazon Web Services Payment Cryptography User + * Guide.

      You can also use ExportKey functionality to * generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web * Services Payment Cryptography using either TR-31 or TR-34 export key exchange. * IPEK is generated from BDK (Base Derivation Key) and @@ -356,7 +373,7 @@ namespace PaymentCryptography * sign the the export payload and the signing public key certificate is provided * to KRD to verify the signature. The KRD can import the root certificate into its * Hardware Security Module (HSM), as required. The export token and the associated - * KDH signing certificate expires after 7 days.

      Next the KRD generates a + * KDH signing certificate expires after 30 days.

      Next the KRD generates a * key pair for the the purpose of encrypting the KDH key and provides the public * key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD * will also import the root cerificate chain into Amazon Web Services Payment @@ -416,11 +433,33 @@ namespace PaymentCryptography * This parameter is optional for KEK export.

    • * ExportKeyIdentifier: The KeyARN of the KEK or BDK (in * case of IPEK) under export.

    • KeyMaterial: Use - * Tr31KeyBlock parameters.

    When this operation is - * successful, Amazon Web Services Payment Cryptography returns the working key or - * IPEK as a TR-31 WrappedKeyBlock.

    Cross-account use: This - * operation can't be used across different Amazon Web Services accounts.

    - * Related operations:

    To export working + * keys using ECDH

    You can also use ECDH key agreement to export + * working keys in a TR-31 keyblock, where the wrapping key is an ECDH derived + * key.

    To initiate a TR-31 key export using ECDH, both sides must create an + * ECC key pair with key usage K3 and exchange public key certificates. In Amazon + * Web Services Payment Cryptography, you can do this by calling + * CreateKey. If you have not already done so, you must import the CA + * chain that issued the receiving public key certificate by calling + * ImportKey with input RootCertificatePublicKey for root + * CA or TrustedPublicKey for intermediate CA. You can then complete a + * TR-31 key export by deriving a shared wrapping key using the service ECC key + * pair, public certificate of your ECC key pair outside of Amazon Web Services + * Payment Cryptography, and the key derivation parameters including key derivation + * function, hash algorithm, derivation data, key algorithm.

    • + * KeyMaterial: Use DiffieHellmanTr31KeyBlock + * parameters.

    • PrivateKeyIdentifier: The + * KeyArn of the ECC key pair created within Amazon Web Services + * Payment Cryptography to derive a shared KEK.

    • + * PublicKeyCertificate: The public key certificate of the receiving + * ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

    • + *
    • CertificateAuthorityPublicKeyIdentifier: The + * keyARN of the CA that signed the public key certificate of the + * receiving ECC key pair.

    When this operation is successful, + * Amazon Web Services Payment Cryptography returns the working key as a TR-31 + * WrappedKeyBlock, where the wrapping key is the ECDH derived key.

    + * Cross-account use: This operation can't be used across different Amazon + * Web Services accounts.

    Related operations:

    • GetParametersForExport *

    • ImportKey @@ -526,7 +565,7 @@ namespace PaymentCryptography * export token and signing key certificate must be in place and operational before * calling ExportKey. - * The export token expires in 7 days. You can use the same export token to export + * The export token expires in 30 days. You can use the same export token to export * multiple keys from your service account.

      Cross-account use: This * operation can't be used across different Amazon Web Services accounts.

      * Related operations:

      • ImportKey. - * The import token expires in 7 days. You can use the same import token to import + * The import token expires in 30 days. You can use the same import token to import * multiple keys into your service account.

        Cross-account use: This * operation can't be used across different Amazon Web Services accounts.

        * Related operations:

        • For symmetric key exchange, Amazon * Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with * PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment - * Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange - * mechanisms. Asymmetric key exchange methods are typically used to establish - * bi-directional trust between the two parties exhanging keys and are used for - * initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). - * After which you can import working keys using symmetric method to perform - * various cryptographic operations within Amazon Web Services Payment - * Cryptography.

          The TR-34 norm is intended for exchanging 3DES keys only - * and keys are imported in a WrappedKeyBlock format. Key attributes (such as - * KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the - * key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 - * keys. The keys are imported in a WrappedKeyCryptogram format and you will need - * to specify the key attributes during import.

          You can also import a - * root public key certificate, used to sign other public key certificates, - * or a trusted public key certificate under an already established root - * public key certificate.

          To import a public root key certificate - *

          Using this operation, you can import the public component (in PEM - * cerificate format) of your private root key. You can use the imported public - * root key certificate for digital signatures, for example signing wrapping key or - * signing key in TR-34, within your Amazon Web Services Payment Cryptography - * account.

          Set the following parameters:

          • - * KeyMaterial: RootCertificatePublicKey

          • - *

            KeyClass: PUBLIC_KEY

          • - * KeyModesOfUse: Verify

          • - * KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE - *

          • PublicKeyCertificate: The public key - * certificate in PEM format (base64 encoded) of the private root key under - * import.

          To import a trusted public key certificate - *

          The root public key certificate must be in place and operational before - * you import a trusted public key certificate. Set the following parameters:

          - *
          • KeyMaterial: TrustedCertificatePublicKey - *

          • CertificateAuthorityPublicKeyIdentifier: + * Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve + * Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are + * typically used to establish bi-directional trust between the two parties + * exhanging keys and are used for initial key exchange such as Key Encryption Key + * (KEK) or Zone Master Key (ZMK). After which you can import working keys using + * symmetric method to perform various cryptographic operations within Amazon Web + * Services Payment Cryptography.

            PCI requires specific minimum key strength + * of wrapping keys used to protect the keys being exchanged electronically. These + * requirements can change when PCI standards are revised. The rules specify that + * wrapping keys used for transport must be at least as strong as the key being + * protected. For more information on recommended key strength of wrapping keys and + * key exchange mechanism, see Importing + * and exporting keys in the Amazon Web Services Payment Cryptography User + * Guide.

            You can also import a root public key certificate, used + * to sign other public key certificates, or a trusted public key + * certificate under an already established root public key certificate.

            + *

            To import a public root key certificate

            Using this operation, + * you can import the public component (in PEM cerificate format) of your private + * root key. You can use the imported public root key certificate for digital + * signatures, for example signing wrapping key or signing key in TR-34, within + * your Amazon Web Services Payment Cryptography account.

            Set the following + * parameters:

            • KeyMaterial: + * RootCertificatePublicKey

            • KeyClass: + * PUBLIC_KEY

            • KeyModesOfUse: + * Verify

            • KeyUsage: + * TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

            • + * PublicKeyCertificate: The public key certificate in PEM format + * (base64 encoded) of the private root key under import.

            To + * import a trusted public key certificate

            The root public key + * certificate must be in place and operational before you import a trusted public + * key certificate. Set the following parameters:

            • + * KeyMaterial: TrustedCertificatePublicKey

            • + *
            • CertificateAuthorityPublicKeyIdentifier: * KeyArn of the RootCertificatePublicKey.

            • *

              KeyModesOfUse and KeyUsage: Corresponding to the * cryptographic operations such as wrap, sign, or encrypt that you will allow the @@ -687,7 +729,7 @@ namespace PaymentCryptography * wrapping certificate) and the root certificate chain. The KDH must trust and * install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the * KDH key during TR-34 WrappedKeyBlock generation. The import token and associated - * KRD wrapping certificate expires after 7 days.

              Next the KDH generates a + * KRD wrapping certificate expires after 30 days.

              Next the KDH generates a * key pair for the purpose of signing the encrypted KDH key and provides the * public certificate of the signing key to Amazon Web Services Payment * Cryptography. The KDH will also need to import the root certificate chain of the @@ -720,7 +762,7 @@ namespace PaymentCryptography * import token. This operation also generates an encryption keypair for the * purpose of key import, signs the key and returns back the wrapping key * certificate in PEM format (base64 encoded) and its root certificate chain. The - * import token and associated KRD wrapping certificate expires after 7 days.

              + * import token and associated KRD wrapping certificate expires after 30 days.

              *

              You must trust and install the wrapping certificate and its certificate chain * on the sending HSM and use it to wrap the key under export for * WrappedKeyCryptogram generation. Next call ImportKey with @@ -738,9 +780,35 @@ namespace PaymentCryptography * typically generated by a HSM outside of Amazon Web Services Payment * Cryptography.

            • WrappingKeyIdentifier: The * KeyArn of the KEK that Amazon Web Services Payment Cryptography - * uses to decrypt or unwrap the key under import.

            - * Cross-account use: This operation can't be used across different Amazon - * Web Services accounts.

            Related operations:

            To import + * working keys using ECDH

            You can also use ECDH key agreement to + * import working keys as a TR-31 keyblock, where the wrapping key is an ECDH + * derived key.

            To initiate a TR-31 key import using ECDH, both sides must + * create an ECC key pair with key usage K3 and exchange public key certificates. + * In Amazon Web Services Payment Cryptography, you can do this by calling + * CreateKey and then GetPublicKeyCertificate to retrieve + * its public key certificate. Next, you can then generate a TR-31 WrappedKeyBlock + * using your own ECC key pair, the public certificate of the service's ECC key + * pair, and the key derivation parameters including key derivation function, hash + * algorithm, derivation data, and key algorithm. If you have not already done so, + * you must import the CA chain that issued the receiving public key certificate by + * calling ImportKey with input RootCertificatePublicKey + * for root CA or TrustedPublicKey for intermediate CA. To complete + * the TR-31 key import, you can use the following parameters. It is important that + * the ECDH key derivation parameters you use should match those used during import + * to derive the same shared wrapping key within Amazon Web Services Payment + * Cryptography.

            • KeyMaterial: Use + * DiffieHellmanTr31KeyBlock parameters.

            • + * PrivateKeyIdentifier: The KeyArn of the ECC key pair + * created within Amazon Web Services Payment Cryptography to derive a shared + * KEK.

            • PublicKeyCertificate: The public key + * certificate of the receiving ECC key pair in PEM format (base64 encoded) to + * derive a shared KEK.

            • + * CertificateAuthorityPublicKeyIdentifier: The keyARN of + * the CA that signed the public key certificate of the receiving ECC key pair.

              + *

            Cross-account use: This operation can't be used across + * different Amazon Web Services accounts.

            Related operations:

            + *
            • ExportKey *

            • GetParametersForImport diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h index e4864c7536e..199b3d383a5 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/CreateKeyRequest.h @@ -117,8 +117,9 @@ namespace Model ///@{ /** - *

              The cryptographic usage of an ECDH derived key as defined in section A.5.2 of - * the TR-31 spec.

              + *

              The intended cryptographic usage of keys derived from the ECC key pair to be + * created.

              After creating an ECC key pair, you cannot change the intended + * cryptographic usage of keys derived from it using ECDH.

              */ inline DeriveKeyUsage GetDeriveKeyUsage() const { return m_deriveKeyUsage; } inline bool DeriveKeyUsageHasBeenSet() const { return m_deriveKeyUsageHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h index b3c8f226f48..bb9e362a384 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/DiffieHellmanDerivationData.h @@ -24,7 +24,8 @@ namespace Model { /** - *

              Derivation data used to derive an ECDH key.

              See Also:

              The shared information used when deriving a key using ECDH.

              See + * Also:

              AWS * API Reference

              */ @@ -39,12 +40,13 @@ namespace Model ///@{ /** - *

              A byte string containing information that binds the ECDH derived key to the - * two parties involved or to the context of the key.

              It may include details + *

              A string containing information that binds the ECDH derived key to the two + * parties involved or to the context of the key.

              It may include details * like identities of the two parties deriving the key, context of the operation, - * session IDs, and optionally a nonce. It must not contain zero bytes, and - * re-using shared information for multiple ECDH key derivations is not - * recommended.

              + * session IDs, and optionally a nonce. It must not contain zero bytes. It is not + * recommended to reuse shared information for multiple ECDH key derivations, as it + * could result in derived key material being the same across different + * derivations.

              */ inline const Aws::String& GetSharedInformation() const { return m_sharedInformation; } inline bool SharedInformationHasBeenSet() const { return m_sharedInformationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h index 5b218207dd9..2191dc3b655 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportDiffieHellmanTr31KeyBlock.h @@ -29,8 +29,8 @@ namespace Model { /** - *

              Parameter information for key material export using the asymmetric ECDH key - * exchange method.

              See Also:

              Key derivation parameter information for key material export using asymmetric + * ECDH key exchange method.

              See Also:

              AWS * API Reference

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

              The keyARN of the asymmetric ECC key.

              + *

              The keyARN of the asymmetric ECC key created within Amazon Web + * Services Payment Cryptography.

              */ inline const Aws::String& GetPrivateKeyIdentifier() const { return m_privateKeyIdentifier; } inline bool PrivateKeyIdentifierHasBeenSet() const { return m_privateKeyIdentifierHasBeenSet; } @@ -57,8 +58,8 @@ namespace Model ///@{ /** - *

              The keyARN of the certificate that signed the client's - * PublicKeyCertificate.

              + *

              The keyARN of the CA that signed the + * PublicKeyCertificate for the client's receiving ECC key pair.

              */ inline const Aws::String& GetCertificateAuthorityPublicKeyIdentifier() const { return m_certificateAuthorityPublicKeyIdentifier; } inline bool CertificateAuthorityPublicKeyIdentifierHasBeenSet() const { return m_certificateAuthorityPublicKeyIdentifierHasBeenSet; } @@ -70,8 +71,8 @@ namespace Model ///@{ /** - *

              The client's public key certificate in PEM format (base64 encoded) to use for - * ECDH key derivation.

              + *

              The public key certificate of the client's receiving ECC key pair, in PEM + * format (base64 encoded), to use for ECDH key derivation.

              */ inline const Aws::String& GetPublicKeyCertificate() const { return m_publicKeyCertificate; } inline bool PublicKeyCertificateHasBeenSet() const { return m_publicKeyCertificateHasBeenSet; } @@ -83,7 +84,7 @@ namespace Model ///@{ /** - *

              The key algorithm of the derived ECDH key.

              + *

              The key algorithm of the shared derived ECDH key.

              */ inline SymmetricKeyAlgorithm GetDeriveKeyAlgorithm() const { return m_deriveKeyAlgorithm; } inline bool DeriveKeyAlgorithmHasBeenSet() const { return m_deriveKeyAlgorithmHasBeenSet; } @@ -93,7 +94,7 @@ namespace Model ///@{ /** - *

              The key derivation function to use for deriving a key using ECDH.

              + *

              The key derivation function to use when deriving a key using ECDH.

              */ inline KeyDerivationFunction GetKeyDerivationFunction() const { return m_keyDerivationFunction; } inline bool KeyDerivationFunctionHasBeenSet() const { return m_keyDerivationFunctionHasBeenSet; } @@ -103,7 +104,7 @@ namespace Model ///@{ /** - *

              The hash type to use for deriving a key using ECDH.

              + *

              The hash type to use when deriving a key using ECDH.

              */ inline KeyDerivationHashAlgorithm GetKeyDerivationHashAlgorithm() const { return m_keyDerivationHashAlgorithm; } inline bool KeyDerivationHashAlgorithmHasBeenSet() const { return m_keyDerivationHashAlgorithmHasBeenSet; } @@ -113,7 +114,7 @@ namespace Model ///@{ /** - *

              Derivation data used to derive an ECDH key.

              + *

              The shared information used when deriving a key using ECDH.

              */ inline const DiffieHellmanDerivationData& GetDerivationData() const { return m_derivationData; } inline bool DerivationDataHasBeenSet() const { return m_derivationDataHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h index f6ed9b26e3f..12288d2cf78 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportKeyMaterial.h @@ -83,8 +83,8 @@ namespace Model ///@{ /** - *

              Parameter information for key material export using the asymmetric ECDH key - * exchange method.

              + *

              Key derivation parameter information for key material export using asymmetric + * ECDH key exchange method.

              */ inline const ExportDiffieHellmanTr31KeyBlock& GetDiffieHellmanTr31KeyBlock() const { return m_diffieHellmanTr31KeyBlock; } inline bool DiffieHellmanTr31KeyBlockHasBeenSet() const { return m_diffieHellmanTr31KeyBlockHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h index 1848fc1304d..bab8964ce2a 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ExportTr34KeyBlock.h @@ -72,8 +72,8 @@ namespace Model * Cryptography. It also contains the signing key certificate that will sign the * wrapped key during TR-34 key block generation. Call GetParametersForExport - * to receive an export token. It expires after 7 days. You can use the same export - * token to export multiple keys from the same service account.

              + * to receive an export token. It expires after 30 days. You can use the same + * export token to export multiple keys from the same service account.

              */ inline const Aws::String& GetExportToken() const { return m_exportToken; } inline bool ExportTokenHasBeenSet() const { return m_exportTokenHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h index 2502fd08dc9..ffa5876ebb3 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForExportResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

              The signing key certificate in PEM format (base64 encoded) of the public key - * for signature within the TR-34 key block. The certificate expires after 7 + * for signature within the TR-34 key block. The certificate expires after 30 * days.

              */ inline const Aws::String& GetSigningKeyCertificate() const { return m_signingKeyCertificate; } @@ -72,8 +72,8 @@ namespace Model ///@{ /** *

              The export token to initiate key export from Amazon Web Services Payment - * Cryptography. The export token expires after 7 days. You can use the same export - * token to export multiple keys from the same service account.

              + * Cryptography. The export token expires after 30 days. You can use the same + * export token to export multiple keys from the same service account.

              */ inline const Aws::String& GetExportToken() const { return m_exportToken; } template diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h index 608ce271de4..86cc9ce0a2d 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/GetParametersForImportResult.h @@ -37,7 +37,7 @@ namespace Model ///@{ /** *

              The wrapping key certificate in PEM format (base64 encoded) of the wrapping - * key for use within the TR-34 key block. The certificate expires in 7 days.

              + * key for use within the TR-34 key block. The certificate expires in 30 days.

              */ inline const Aws::String& GetWrappingKeyCertificate() const { return m_wrappingKeyCertificate; } template @@ -71,8 +71,8 @@ namespace Model ///@{ /** *

              The import token to initiate key import into Amazon Web Services Payment - * Cryptography. The import token expires after 7 days. You can use the same import - * token to import multiple keys to the same service account.

              + * Cryptography. The import token expires after 30 days. You can use the same + * import token to import multiple keys to the same service account.

              */ inline const Aws::String& GetImportToken() const { return m_importToken; } template diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h index 01818417a59..af5b361126a 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportDiffieHellmanTr31KeyBlock.h @@ -28,8 +28,8 @@ namespace Model { /** - *

              Parameter information for key material import using the asymmetric ECDH key - * exchange method.

              See Also:

              Key derivation parameter information for key material import using asymmetric + * ECDH key exchange method.

              See Also:

              AWS * API Reference

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

              The keyARN of the asymmetric ECC key.

              + *

              The keyARN of the asymmetric ECC key created within Amazon Web + * Services Payment Cryptography.

              */ inline const Aws::String& GetPrivateKeyIdentifier() const { return m_privateKeyIdentifier; } inline bool PrivateKeyIdentifierHasBeenSet() const { return m_privateKeyIdentifierHasBeenSet; } @@ -56,8 +57,8 @@ namespace Model ///@{ /** - *

              The keyARN of the certificate that signed the client's - * PublicKeyCertificate.

              + *

              The keyARN of the CA that signed the + * PublicKeyCertificate for the client's receiving ECC key pair.

              */ inline const Aws::String& GetCertificateAuthorityPublicKeyIdentifier() const { return m_certificateAuthorityPublicKeyIdentifier; } inline bool CertificateAuthorityPublicKeyIdentifierHasBeenSet() const { return m_certificateAuthorityPublicKeyIdentifierHasBeenSet; } @@ -69,8 +70,8 @@ namespace Model ///@{ /** - *

              The client's public key certificate in PEM format (base64 encoded) to use for - * ECDH key derivation.

              + *

              The public key certificate of the client's receiving ECC key pair, in PEM + * format (base64 encoded), to use for ECDH key derivation.

              */ inline const Aws::String& GetPublicKeyCertificate() const { return m_publicKeyCertificate; } inline bool PublicKeyCertificateHasBeenSet() const { return m_publicKeyCertificateHasBeenSet; } @@ -82,7 +83,7 @@ namespace Model ///@{ /** - *

              The key algorithm of the derived ECDH key.

              + *

              The key algorithm of the shared derived ECDH key.

              */ inline SymmetricKeyAlgorithm GetDeriveKeyAlgorithm() const { return m_deriveKeyAlgorithm; } inline bool DeriveKeyAlgorithmHasBeenSet() const { return m_deriveKeyAlgorithmHasBeenSet; } @@ -92,7 +93,7 @@ namespace Model ///@{ /** - *

              The key derivation function to use for deriving a key using ECDH.

              + *

              The key derivation function to use when deriving a key using ECDH.

              */ inline KeyDerivationFunction GetKeyDerivationFunction() const { return m_keyDerivationFunction; } inline bool KeyDerivationFunctionHasBeenSet() const { return m_keyDerivationFunctionHasBeenSet; } @@ -102,7 +103,7 @@ namespace Model ///@{ /** - *

              The hash type to use for deriving a key using ECDH.

              + *

              The hash type to use when deriving a key using ECDH.

              */ inline KeyDerivationHashAlgorithm GetKeyDerivationHashAlgorithm() const { return m_keyDerivationHashAlgorithm; } inline bool KeyDerivationHashAlgorithmHasBeenSet() const { return m_keyDerivationHashAlgorithmHasBeenSet; } @@ -112,7 +113,7 @@ namespace Model ///@{ /** - *

              Derivation data used to derive an ECDH key.

              + *

              The shared information used when deriving a key using ECDH.

              */ inline const DiffieHellmanDerivationData& GetDerivationData() const { return m_derivationData; } inline bool DerivationDataHasBeenSet() const { return m_derivationDataHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h index b7f8d5f8566..4bee96a9b1b 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyCryptogram.h @@ -75,7 +75,7 @@ namespace Model ///@{ /** *

              The import token that initiates key import using the asymmetric RSA wrap and - * unwrap key exchange method into AWS Payment Cryptography. It expires after 7 + * unwrap key exchange method into AWS Payment Cryptography. It expires after 30 * days. You can use the same import token to import multiple keys to the same * service account.

              */ diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h index 4dce242c6f5..b33587326bb 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportKeyMaterial.h @@ -109,8 +109,8 @@ namespace Model ///@{ /** - *

              Parameter information for key material import using the asymmetric ECDH key - * exchange method.

              + *

              Key derivation parameter information for key material import using asymmetric + * ECDH key exchange method.

              */ inline const ImportDiffieHellmanTr31KeyBlock& GetDiffieHellmanTr31KeyBlock() const { return m_diffieHellmanTr31KeyBlock; } inline bool DiffieHellmanTr31KeyBlockHasBeenSet() const { return m_diffieHellmanTr31KeyBlockHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h index 6ef1522d1aa..64b30da025e 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/ImportTr34KeyBlock.h @@ -69,7 +69,7 @@ namespace Model /** *

              The import token that initiates key import using the asymmetric TR-34 key * exchange method into Amazon Web Services Payment Cryptography. It expires after - * 7 days. You can use the same import token to import multiple keys to the same + * 30 days. You can use the same import token to import multiple keys to the same * service account.

              */ inline const Aws::String& GetImportToken() const { return m_importToken; } diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h index 963cd851ee6..b778bd82a99 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyAlgorithm.h @@ -21,6 +21,10 @@ namespace Model AES_128, AES_192, AES_256, + HMAC_SHA256, + HMAC_SHA384, + HMAC_SHA512, + HMAC_SHA224, RSA_2048, RSA_3072, RSA_4096, diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h index 9a7955f77c7..a9df0e08025 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/KeyCheckValueAlgorithm.h @@ -17,7 +17,8 @@ namespace Model { NOT_SET, CMAC, - ANSI_X9_24 + ANSI_X9_24, + HMAC }; namespace KeyCheckValueAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h index ee0ad2af990..a7978f9acaf 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/model/SymmetricKeyAlgorithm.h @@ -20,7 +20,11 @@ namespace Model TDES_3KEY, AES_128, AES_192, - AES_256 + AES_256, + HMAC_SHA256, + HMAC_SHA384, + HMAC_SHA512, + HMAC_SHA224 }; namespace SymmetricKeyAlgorithmMapper diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp index 3d4411e61fb..53938cdbb28 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyAlgorithm.cpp @@ -25,6 +25,10 @@ namespace Aws static const int AES_128_HASH = HashingUtils::HashString("AES_128"); static const int AES_192_HASH = HashingUtils::HashString("AES_192"); static const int AES_256_HASH = HashingUtils::HashString("AES_256"); + static const int HMAC_SHA256_HASH = HashingUtils::HashString("HMAC_SHA256"); + static const int HMAC_SHA384_HASH = HashingUtils::HashString("HMAC_SHA384"); + static const int HMAC_SHA512_HASH = HashingUtils::HashString("HMAC_SHA512"); + static const int HMAC_SHA224_HASH = HashingUtils::HashString("HMAC_SHA224"); static const int RSA_2048_HASH = HashingUtils::HashString("RSA_2048"); static const int RSA_3072_HASH = HashingUtils::HashString("RSA_3072"); static const int RSA_4096_HASH = HashingUtils::HashString("RSA_4096"); @@ -56,6 +60,22 @@ namespace Aws { return KeyAlgorithm::AES_256; } + else if (hashCode == HMAC_SHA256_HASH) + { + return KeyAlgorithm::HMAC_SHA256; + } + else if (hashCode == HMAC_SHA384_HASH) + { + return KeyAlgorithm::HMAC_SHA384; + } + else if (hashCode == HMAC_SHA512_HASH) + { + return KeyAlgorithm::HMAC_SHA512; + } + else if (hashCode == HMAC_SHA224_HASH) + { + return KeyAlgorithm::HMAC_SHA224; + } else if (hashCode == RSA_2048_HASH) { return KeyAlgorithm::RSA_2048; @@ -106,6 +126,14 @@ namespace Aws return "AES_192"; case KeyAlgorithm::AES_256: return "AES_256"; + case KeyAlgorithm::HMAC_SHA256: + return "HMAC_SHA256"; + case KeyAlgorithm::HMAC_SHA384: + return "HMAC_SHA384"; + case KeyAlgorithm::HMAC_SHA512: + return "HMAC_SHA512"; + case KeyAlgorithm::HMAC_SHA224: + return "HMAC_SHA224"; case KeyAlgorithm::RSA_2048: return "RSA_2048"; case KeyAlgorithm::RSA_3072: diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp index ae8814fcdf1..33dfccce05b 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/KeyCheckValueAlgorithm.cpp @@ -22,6 +22,7 @@ namespace Aws static const int CMAC_HASH = HashingUtils::HashString("CMAC"); static const int ANSI_X9_24_HASH = HashingUtils::HashString("ANSI_X9_24"); + static const int HMAC_HASH = HashingUtils::HashString("HMAC"); KeyCheckValueAlgorithm GetKeyCheckValueAlgorithmForName(const Aws::String& name) @@ -35,6 +36,10 @@ namespace Aws { return KeyCheckValueAlgorithm::ANSI_X9_24; } + else if (hashCode == HMAC_HASH) + { + return KeyCheckValueAlgorithm::HMAC; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -55,6 +60,8 @@ namespace Aws return "CMAC"; case KeyCheckValueAlgorithm::ANSI_X9_24: return "ANSI_X9_24"; + case KeyCheckValueAlgorithm::HMAC: + return "HMAC"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp index eef5b0786df..bf1a5211104 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/model/SymmetricKeyAlgorithm.cpp @@ -25,6 +25,10 @@ namespace Aws static const int AES_128_HASH = HashingUtils::HashString("AES_128"); static const int AES_192_HASH = HashingUtils::HashString("AES_192"); static const int AES_256_HASH = HashingUtils::HashString("AES_256"); + static const int HMAC_SHA256_HASH = HashingUtils::HashString("HMAC_SHA256"); + static const int HMAC_SHA384_HASH = HashingUtils::HashString("HMAC_SHA384"); + static const int HMAC_SHA512_HASH = HashingUtils::HashString("HMAC_SHA512"); + static const int HMAC_SHA224_HASH = HashingUtils::HashString("HMAC_SHA224"); SymmetricKeyAlgorithm GetSymmetricKeyAlgorithmForName(const Aws::String& name) @@ -50,6 +54,22 @@ namespace Aws { return SymmetricKeyAlgorithm::AES_256; } + else if (hashCode == HMAC_SHA256_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA256; + } + else if (hashCode == HMAC_SHA384_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA384; + } + else if (hashCode == HMAC_SHA512_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA512; + } + else if (hashCode == HMAC_SHA224_HASH) + { + return SymmetricKeyAlgorithm::HMAC_SHA224; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -76,6 +96,14 @@ namespace Aws return "AES_192"; case SymmetricKeyAlgorithm::AES_256: return "AES_256"; + case SymmetricKeyAlgorithm::HMAC_SHA256: + return "HMAC_SHA256"; + case SymmetricKeyAlgorithm::HMAC_SHA384: + return "HMAC_SHA384"; + case SymmetricKeyAlgorithm::HMAC_SHA512: + return "HMAC_SHA512"; + case SymmetricKeyAlgorithm::HMAC_SHA224: + return "HMAC_SHA224"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h index bf0f2889e8b..64feb490a4f 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h @@ -800,17 +800,19 @@ namespace Aws /** *

              Creates a new DB instance that acts as a read replica for an existing source * DB instance or Multi-AZ DB cluster. You can create a read replica for a DB - * instance running Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can + * instance running MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can * create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For * more information, see Working * with read replicas and Migrating * from a Multi-AZ DB cluster to a DB instance using a read replica in the - * Amazon RDS User Guide.

              Amazon Aurora doesn't support this - * operation. To create a DB instance for an Aurora DB cluster, use the - * CreateDBInstance operation.

              All read replica DB instances - * are created with backups disabled. All other attributes (including DB security + * Amazon RDS User Guide.

              Amazon RDS for Db2 supports this operation + * for standby replicas. To create a standby replica for a DB instance running Db2, + * you must set ReplicaMode to mounted.

              Amazon + * Aurora doesn't support this operation. To create a DB instance for an Aurora DB + * cluster, use the CreateDBInstance operation.

              RDS creates + * read replicas with backups disabled. All other attributes (including DB security * groups and DB parameter groups) are inherited from the source DB instance or * cluster, except as specified.

              Your source DB instance or * cluster must have backup retention enabled.

              See diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfiguration.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfiguration.h index 94616b44cec..574f4746942 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfiguration.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfiguration.h @@ -124,7 +124,12 @@ namespace Model * here is valid. This is an optional field, so you can choose to leave it empty. * For including multiple variables in a single SET statement, use a comma * separator.

              For example: SET variable1=value1, - * variable2=value2

              Default: no initialization query

              + * variable2=value2

              Default: no initialization query

              + *

              Since you can access initialization query as part of target group + * configuration, it is not protected by authentication or cryptographic methods. + * Anyone with access to view or manage your proxy target group configuration can + * view the initialization query. You should not add sensitive data, such as + * passwords or long-lived encryption keys, to this option.

              */ inline const Aws::String& GetInitQuery() const { return m_initQuery; } inline bool InitQueryHasBeenSet() const { return m_initQueryHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfigurationInfo.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfigurationInfo.h index d376380ee4e..b106c608e02 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfigurationInfo.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ConnectionPoolConfigurationInfo.h @@ -108,7 +108,12 @@ namespace Model * statements to make sure that each connection has identical settings. The query * added here must be valid. For including multiple variables in a single SET * statement, use a comma separator. This is an optional field.

              For example: - * SET variable1=value1, variable2=value2

              + * SET variable1=value1, variable2=value2

              Since + * you can access initialization query as part of target group configuration, it is + * not protected by authentication or cryptographic methods. Anyone with access to + * view or manage your proxy target group configuration can view the initialization + * query. You should not add sensitive data, such as passwords or long-lived + * encryption keys, to this option.

              */ inline const Aws::String& GetInitQuery() const { return m_initQuery; } inline bool InitQueryHasBeenSet() const { return m_initQueryHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h index 174643c4c94..1eac879e543 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/CreateDBInstanceReadReplicaRequest.h @@ -58,9 +58,11 @@ namespace Model ///@{ /** *

              The identifier of the DB instance that will act as the source for the read - * replica. Each DB instance can have up to 15 read replicas, with the exception of - * Oracle and SQL Server, which can have up to five.

              Constraints:

                - *
              • Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, + * replica. Each DB instance can have up to 15 read replicas, except for the + * following engines:

                • Db2 - Can have up to three replicas.

                  + *
                • Oracle - Can have up to five read replicas.

                • SQL + * Server - Can have up to five read replicas.

                Constraints:

                + *
                • Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, * PostgreSQL, or SQL Server DB instance.

                • Can't be specified if * the SourceDBClusterIdentifier parameter is also specified.

                  *
                • For the limitations of Oracle read replicas, see The name of the DB parameter group to associate with this read replica DB - * instance.

                  For Single-AZ or Multi-AZ DB instance read replica instances, - * if you don't specify a value for DBParameterGroupName, then Amazon - * RDS uses the DBParameterGroup of the source DB instance for a same - * Region read replica, or the default DBParameterGroup for the - * specified DB engine for a cross-Region read replica.

                  For Multi-AZ DB - * cluster same Region read replica instances, if you don't specify a value for + * instance.

                  For the Db2 DB engine, if your source DB instance uses the + * Bring Your Own License model, then a custom parameter group must be associated + * with the replica. For a same Amazon Web Services Region replica, if you don't + * specify a custom parameter group, Amazon RDS associates the custom parameter + * group associated with the source DB instance. For a cross-Region replica, you + * must specify a custom parameter group. This custom parameter group must include + * your IBM Site ID and IBM Customer ID. For more information, see + * IBM IDs for Bring Your Own License for Db2.

                  For Single-AZ or + * Multi-AZ DB instance read replica instances, if you don't specify a value for + * DBParameterGroupName, then Amazon RDS uses the + * DBParameterGroup of the source DB instance for a same Region read + * replica, or the default DBParameterGroup for the specified DB + * engine for a cross-Region read replica.

                  For Multi-AZ DB cluster same + * Region read replica instances, if you don't specify a value for * DBParameterGroupName, then Amazon RDS uses the default * DBParameterGroup.

                  Specifying a parameter group for this * operation is only supported for MySQL DB instances for cross-Region read - * replicas, for Multi-AZ DB cluster read replica instances, and for Oracle DB - * instances. It isn't supported for MySQL DB instances for same Region read - * replicas or for RDS Custom.

                  Constraints:

                  • Must be 1 to - * 255 letters, numbers, or hyphens.

                  • First character must be a - * letter.

                  • Can't end with a hyphen or contain two consecutive - * hyphens.

                  + * replicas, for Multi-AZ DB cluster read replica instances, for Db2 DB instances, + * and for Oracle DB instances. It isn't supported for MySQL DB instances for same + * Region read replicas or for RDS Custom.

                  Constraints:

                  • + *

                    Must be 1 to 255 letters, numbers, or hyphens.

                  • First + * character must be a letter.

                  • Can't end with a hyphen or contain + * two consecutive hyphens.

                  */ inline const Aws::String& GetDBParameterGroupName() const { return m_dBParameterGroupName; } inline bool DBParameterGroupNameHasBeenSet() const { return m_dBParameterGroupNameHasBeenSet; } @@ -674,20 +685,29 @@ namespace Model ///@{ /** - *

                  The open mode of the replica database: mounted or read-only.

                  - *

                  This parameter is only supported for Oracle DB instances.

                  - *

                  Mounted DB replicas are included in Oracle Database Enterprise Edition. The - * main use case for mounted replicas is cross-Region disaster recovery. The - * primary database doesn't use Active Data Guard to transmit information to the - * mounted replica. Because it doesn't accept user connections, a mounted replica - * can't serve a read-only workload.

                  You can create a combination of mounted - * and read-only DB replicas for the same primary DB instance. For more - * information, see The open mode of the replica database.

                  This parameter is only + * supported for Db2 DB instances and Oracle DB instances.

                  + *
                  Db2

                  Standby DB replicas are included in Db2 Advanced Edition + * (AE) and Db2 Standard Edition (SE). The main use case for standby replicas is + * cross-Region disaster recovery. Because it doesn't accept user connections, a + * standby replica can't serve a read-only workload.

                  You can create a + * combination of standby and read-only DB replicas for the same primary DB + * instance. For more information, see Working + * with read replicas for Amazon RDS for Db2 in the Amazon RDS User + * Guide.

                  To create standby DB replicas for RDS for Db2, set this + * parameter to mounted.

                  Oracle

                  Mounted DB + * replicas are included in Oracle Database Enterprise Edition. The main use case + * for mounted replicas is cross-Region disaster recovery. The primary database + * doesn't use Active Data Guard to transmit information to the mounted replica. + * Because it doesn't accept user connections, a mounted replica can't serve a + * read-only workload.

                  You can create a combination of mounted and read-only + * DB replicas for the same primary DB instance. For more information, see Working - * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User + * with read replicas for Amazon RDS for Oracle in the Amazon RDS User * Guide.

                  For RDS Custom, you must specify this parameter and set it to * mounted. The value won't be set by default. After replica creation, - * you can manage the open mode manually.

                  + * you can manage the open mode manually.

                  */ inline ReplicaMode GetReplicaMode() const { return m_replicaMode; } inline bool ReplicaModeHasBeenSet() const { return m_replicaModeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h index 9ee4e2ee676..7583d8a93a2 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/DBInstance.h @@ -414,12 +414,14 @@ namespace Model ///@{ /** - *

                  The open mode of an Oracle read replica. The default is + *

                  The open mode of a Db2 or an Oracle read replica. The default is * open-read-only. For more information, see Working + * with read replicas for Amazon RDS for Db2 and Working - * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User - * Guide.

                  This attribute is only supported in RDS for Oracle.

                  - * + * with read replicas for Amazon RDS for Oracle in the Amazon RDS User + * Guide.

                  This attribute is only supported in RDS for Db2, RDS + * for Oracle, and RDS Custom for Oracle.

                  */ inline ReplicaMode GetReplicaMode() const { return m_replicaMode; } inline bool ReplicaModeHasBeenSet() const { return m_replicaModeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h index 62177065f6c..4cce6500e86 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/model/ModifyDBInstanceRequest.h @@ -1001,17 +1001,29 @@ namespace Model ///@{ /** - *

                  A value that sets the open mode of a replica database to either mounted or - * read-only.

                  Currently, this parameter is only supported for Oracle - * DB instances.

                  Mounted DB replicas are included in Oracle - * Enterprise Edition. The main use case for mounted replicas is cross-Region - * disaster recovery. The primary database doesn't use Active Data Guard to - * transmit information to the mounted replica. Because it doesn't accept user - * connections, a mounted replica can't serve a read-only workload. For more - * information, see The open mode of a replica database.

                  This parameter is only + * supported for Db2 DB instances and Oracle DB instances.

                  + *
                  Db2

                  Standby DB replicas are included in Db2 Advanced Edition + * (AE) and Db2 Standard Edition (SE). The main use case for standby replicas is + * cross-Region disaster recovery. Because it doesn't accept user connections, a + * standby replica can't serve a read-only workload.

                  You can create a + * combination of standby and read-only DB replicas for the same primary DB + * instance. For more information, see Working + * with read replicas for Amazon RDS for Db2 in the Amazon RDS User + * Guide.

                  To create standby DB replicas for RDS for Db2, set this + * parameter to mounted.

                  Oracle

                  Mounted DB + * replicas are included in Oracle Database Enterprise Edition. The main use case + * for mounted replicas is cross-Region disaster recovery. The primary database + * doesn't use Active Data Guard to transmit information to the mounted replica. + * Because it doesn't accept user connections, a mounted replica can't serve a + * read-only workload.

                  You can create a combination of mounted and read-only + * DB replicas for the same primary DB instance. For more information, see Working - * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User - * Guide.

                  This setting doesn't apply to RDS Custom DB instances.

                  + * with read replicas for Amazon RDS for Oracle in the Amazon RDS User + * Guide.

                  For RDS Custom, you must specify this parameter and set it to + * mounted. The value won't be set by default. After replica creation, + * you can manage the open mode manually.

                  */ inline ReplicaMode GetReplicaMode() const { return m_replicaMode; } inline bool ReplicaModeHasBeenSet() const { return m_replicaModeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h index a8e2f041e13..b17f576c0f8 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h @@ -349,11 +349,21 @@ namespace Aws } /** - *

                  Creates a copy of an object that is already stored in Amazon S3.

                  - *

                  You can store individual objects of up to 5 TB in Amazon S3. You create a - * copy of your object up to 5 GB in size in a single atomic action using this API. - * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy (UploadPartCopy) API. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                  This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                  Creates a copy of an object that + * is already stored in Amazon S3.

                  You can store individual objects + * of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size + * in a single atomic action using this API. However, to copy an object greater + * than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) + * API. For more information, see Copy * Object Using the REST Multipart Upload API.

                  You can copy * individual objects between general purpose buckets, between directory buckets, @@ -489,8 +499,26 @@ namespace Aws virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** - *

                  This action creates an Amazon S3 bucket. To create an Amazon S3 on - * Outposts bucket, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                  This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                  End of support + * notice: Beginning October 1, 2025, Amazon S3 will stop returning + * DisplayName. Update your applications to use canonical IDs (unique + * identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 + * digit identifier) or IAM ARNs (full resource naming) as a direct replacement of + * DisplayName.

                  This change affects the following Amazon Web + * Services Regions: US East (N. Virginia) Region, US West (N. California) Region, + * US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) + * Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America + * (São Paulo) Region.

                  This action creates an Amazon S3 + * bucket. To create an Amazon S3 on Outposts bucket, see * CreateBucket .

                  Creates a new S3 bucket. To * create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services @@ -668,10 +696,19 @@ namespace Aws } /** - *

                  This action initiates a multipart upload and returns an upload ID. This - * upload ID is used to associate all of the parts in the specific multipart - * upload. You specify this upload ID in each of your subsequent upload part - * requests (see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                  This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                  This action initiates a + * multipart upload and returns an upload ID. This upload ID is used to associate + * all of the parts in the specific multipart upload. You specify this upload ID in + * each of your subsequent upload part requests (see UploadPart). * You also include this upload ID in the final request to either complete or abort * the multipart upload request. For more information about multipart uploads, see @@ -2097,8 +2134,17 @@ namespace Aws } /** - *

                  This operation is not supported for directory buckets.

                  - *

                  This implementation of the GET action uses the acl + *

                  End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                  This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                  + *

                  This operation is not supported for directory buckets.

                  This + * implementation of the GET action uses the acl * subresource to return the access control list (ACL) of a bucket. To use * GET to return the ACL of the bucket, you must have the * READ_ACP access to the bucket. If READ_ACP permission @@ -2522,9 +2568,18 @@ namespace Aws } /** - *

                  This operation is not supported for directory buckets.

                  - *

                  Returns the logging status of a bucket and the permissions users have to view - * and modify that status.

                  The following operations are related to + *

                  End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                  This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                  + *

                  This operation is not supported for directory buckets.

                  Returns + * the logging status of a bucket and the permissions users have to view and modify + * that status.

                  The following operations are related to * GetBucketLogging:

                  • CreateBucket *

                  • s3:GetBucketOwnershipControls * permission. For more information about Amazon S3 permissions, see Specifying - * permissions in a policy.

                    For information about Amazon S3 Object - * Ownership, see .

                    A bucket doesn't have + * OwnershipControls settings in the following cases:

                    • + *

                      The bucket was created before the BucketOwnerEnforced ownership + * setting was introduced and you've never explicitly applied this value

                    • + *
                    • You've manually deleted the bucket ownership control value using the + * DeleteBucketOwnershipControls API operation.

                    By + * default, Amazon S3 sets OwnershipControls for all newly created + * buckets.

                    For information about Amazon S3 Object Ownership, see Using * Object Ownership.

                    The following operations are related to * GetBucketOwnershipControls:

                    • @@ -4025,9 +4086,18 @@ namespace Aws } /** - *

                      This operation is not supported for directory buckets.

                      - *

                      Returns a list of all buckets owned by the authenticated sender of the - * request. To grant IAM permission to use this operation, you must add the + *

                      End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                      This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                      + *

                      This operation is not supported for directory buckets.

                      Returns + * a list of all buckets owned by the authenticated sender of the request. To grant + * IAM permission to use this operation, you must add the * s3:ListAllMyBuckets policy action.

                      For information about * Amazon S3 buckets, see Creating, @@ -4118,10 +4188,19 @@ namespace Aws } /** - *

                      This operation lists in-progress multipart uploads in a bucket. An - * in-progress multipart upload is a multipart upload that has been initiated by - * the CreateMultipartUpload request, but has not yet been completed - * or aborted.

                      Directory buckets - If multipart uploads in a + *

                      End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                      This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                      This + * operation lists in-progress multipart uploads in a bucket. An in-progress + * multipart upload is a multipart upload that has been initiated by the + * CreateMultipartUpload request, but has not yet been completed or + * aborted.

                      Directory buckets - If multipart uploads in a * directory bucket are in progress, you can't delete the bucket until all the * in-progress multipart uploads are aborted or completed. To delete these * in-progress multipart uploads, use the ListMultipartUploads @@ -4230,17 +4309,25 @@ namespace Aws } /** - *

                      This operation is not supported for directory buckets.

                      - *

                      Returns metadata about all versions of the objects in a bucket. You can also - * use request parameters as selection criteria to return metadata about a subset - * of all the object versions.

                      To use this operation, you must - * have permission to perform the s3:ListBucketVersions action. Be - * aware of the name difference.

                      A 200 OK - * response can contain valid or invalid XML. Make sure to design your application - * to parse the contents of the response and handle it appropriately.

                      - *

                      To use this operation, you must have READ access to the bucket.

                      The - * following operations are related to ListObjectVersions:

                        - *
                      • End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                        This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                        + *

                        This operation is not supported for directory buckets.

                        Returns + * metadata about all versions of the objects in a bucket. You can also use request + * parameters as selection criteria to return metadata about a subset of all the + * object versions.

                        To use this operation, you must have + * permission to perform the s3:ListBucketVersions action. Be aware of + * the name difference.

                        A 200 OK response + * can contain valid or invalid XML. Make sure to design your application to parse + * the contents of the response and handle it appropriately.

                        To use + * this operation, you must have READ access to the bucket.

                        The following + * operations are related to ListObjectVersions:

                        You can use either a canned ACL or * specify access permissions explicitly. You cannot do both.

                        Grantee * Values

                        You can specify the person (grantee) to whom you're - * assigning access rights (using request elements) in the following ways:

                          - *
                        • By the person's ID:

                          <Grantee + * assigning access rights (using request elements) in the following ways. For + * examples of how to specify these grantee values in JSON format, see the Amazon + * Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                          • By the person's ID:

                            <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                            DisplayName is optional and ignored in the @@ -5196,24 +5314,37 @@ namespace Aws } /** - *

                            This operation is not supported for directory buckets.

                            - *

                            Set the logging parameters for a bucket and to specify permissions for who - * can view and modify the logging parameters. All logs are saved to buckets in the - * same Amazon Web Services Region as the source bucket. To set the logging status - * of a bucket, you must be the bucket owner.

                            The bucket owner is - * automatically granted FULL_CONTROL to all logs. You use the Grantee - * request element to grant access to other people. The Permissions - * request element specifies the kind of access the grantee has to the logs.

                            - *

                            If the target bucket for log delivery uses the bucket owner - * enforced setting for S3 Object Ownership, you can't use the Grantee - * request element to grant access to others. Permissions can only be granted using - * policies. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                            This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                            This operation is not + * supported for directory buckets.

                            Set the logging parameters for a + * bucket and to specify permissions for who can view and modify the logging + * parameters. All logs are saved to buckets in the same Amazon Web Services Region + * as the source bucket. To set the logging status of a bucket, you must be the + * bucket owner.

                            The bucket owner is automatically granted FULL_CONTROL to + * all logs. You use the Grantee request element to grant access to + * other people. The Permissions request element specifies the kind of + * access the grantee has to the logs.

                            If the target bucket for + * log delivery uses the bucket owner enforced setting for S3 Object Ownership, you + * can't use the Grantee request element to grant access to others. + * Permissions can only be granted using policies. For more information, see Permissions * for server access log delivery in the Amazon S3 User Guide.

                            *
                            Grantee Values

                            You can specify the person * (grantee) to whom you're assigning access rights (by using request elements) in - * the following ways:

                            • By the person's ID:

                              - * <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * the following ways. For examples of how to specify these grantee values in JSON + * format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                              • By the person's ID:

                                <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                                DisplayName is optional and * ignored in the request.

                              • By Email address:

                                @@ -5815,17 +5946,26 @@ namespace Aws } /** - *

                                Adds an object to a bucket.

                                • Amazon S3 never adds - * partial objects; if you receive a success response, Amazon S3 added the entire - * object to the bucket. You cannot use PutObject to only update a - * single piece of metadata for an existing object. You must put the entire object - * with updated metadata if you want to update some values.

                                • If - * your bucket uses the bucket owner enforced setting for Object Ownership, ACLs - * are disabled and no longer affect permissions. All objects written to the bucket - * by any account will be owned by the bucket owner.

                                • - * Directory buckets - For directory buckets, you must make requests for - * this API operation to the Zonal endpoint. These endpoints support - * virtual-hosted-style requests in the format + *

                                  End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                                  This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                                  Adds an object to a bucket.

                                  + *
                                  • Amazon S3 never adds partial objects; if you receive a + * success response, Amazon S3 added the entire object to the bucket. You cannot + * use PutObject to only update a single piece of metadata for an + * existing object. You must put the entire object with updated metadata if you + * want to update some values.

                                  • If your bucket uses the bucket + * owner enforced setting for Object Ownership, ACLs are disabled and no longer + * affect permissions. All objects written to the bucket by any account will be + * owned by the bucket owner.

                                  • Directory buckets - For + * directory buckets, you must make requests for this API operation to the Zonal + * endpoint. These endpoints support virtual-hosted-style requests in the format * https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name * . Path-style requests are not supported. For more information about * endpoints in Availability Zones, see

                                    You can use either a canned ACL or specify access permissions * explicitly. You cannot do both.

                            Grantee Values

                            You * can specify the person (grantee) to whom you're assigning access rights (using - * request elements) in the following ways:

                            • By the person's - * ID:

                              <Grantee + * request elements) in the following ways. For examples of how to specify these + * grantee values in JSON format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                              • By the person's ID:

                                <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                                DisplayName is optional and ignored in the @@ -6247,6 +6390,71 @@ namespace Aws return SubmitAsync(&S3CrtClient::PutPublicAccessBlock, request, handler, context); } + /** + *

                                Renames an existing object in a directory bucket that uses the S3 Express One + * Zone storage class. You can use RenameObject by specifying an + * existing object’s name as the source and the new name of the object as the + * destination within the same directory bucket.

                                + * RenameObject is only supported for objects stored in the S3 Express + * One Zone storage class.

                                To prevent overwriting an object, you + * can use the If-None-Match conditional header.

                                • + * If-None-Match - Renames the object only if an object with the specified + * name does not already exist in the directory bucket. If you don't want to + * overwrite an existing object, you can add the If-None-Match + * conditional header with the value ‘*’ in the + * RenameObject request. Amazon S3 then returns a 412 + * Precondition Failed error if the object with the specified name already + * exists. For more information, see RFC 7232.

                                + *
                                Permissions

                                To grant access to the + * RenameObject operation on a directory bucket, we recommend that you + * use the CreateSession operation for session-based authorization. + * Specifically, you grant the s3express:CreateSession permission to + * the directory bucket in a bucket policy or an IAM identity-based policy. Then, + * you make the CreateSession API call on the directory bucket to + * obtain a session token. With the session token in your request header, you can + * make API requests to this operation. After the session token expires, you make + * another CreateSession API call to generate a new session token for + * use. The Amazon Web Services CLI and SDKs will create and manage your session + * including refreshing the session token automatically to avoid service + * interruptions when a session expires. In your bucket policy, you can specify the + * s3express:SessionMode condition key to control who can create a + * ReadWrite or ReadOnly session. A + * ReadWrite session is required for executing all the Zonal endpoint + * API operations, including RenameObject. For more information about + * authorization, see + * CreateSession . To learn more about Zonal endpoint APT + * operations, see Authorizing + * Zonal endpoint API operations with CreateSession in the Amazon S3 User + * Guide.

                                HTTP Host header syntax

                                Directory + * buckets - The HTTP Host header syntax is + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                                + *

                                See Also:

                                AWS API + * Reference

                                + */ + virtual Model::RenameObjectOutcome RenameObject(const Model::RenameObjectRequest& request) const; + + /** + * A Callable wrapper for RenameObject that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RenameObjectOutcomeCallable RenameObjectCallable(const RenameObjectRequestT& request) const + { + return SubmitCallable(&S3CrtClient::RenameObject, request); + } + + /** + * An Async wrapper for RenameObject that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RenameObjectAsync(const RenameObjectRequestT& request, const RenameObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3CrtClient::RenameObject, request, handler, context); + } + /** *

                                This operation is not supported for directory buckets.

                                *

                                Restores an archived copy of an object back into Amazon S3

                                This diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h index 2928ec6193f..6dce60e00fc 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtErrors.h @@ -50,6 +50,7 @@ enum class S3CrtErrors BUCKET_ALREADY_EXISTS= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, BUCKET_ALREADY_OWNED_BY_YOU, ENCRYPTION_TYPE_MISMATCH, + IDEMPOTENCY_PARAMETER_MISMATCH, INVALID_OBJECT_STATE, INVALID_REQUEST, INVALID_WRITE_OFFSET, diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h index 290081cf2e3..8f1c5a0b62c 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtServiceClientModel.h @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -215,6 +216,7 @@ namespace Aws class PutObjectRetentionRequest; class PutObjectTaggingRequest; class PutPublicAccessBlockRequest; + class RenameObjectRequest; class RestoreObjectRequest; class SelectObjectContentRequest; class UploadPartRequest; @@ -316,6 +318,7 @@ namespace Aws typedef Aws::Utils::Outcome PutObjectRetentionOutcome; typedef Aws::Utils::Outcome PutObjectTaggingOutcome; typedef Aws::Utils::Outcome PutPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome RenameObjectOutcome; typedef Aws::Utils::Outcome RestoreObjectOutcome; typedef Aws::Utils::Outcome SelectObjectContentOutcome; typedef Aws::Utils::Outcome UploadPartOutcome; @@ -414,6 +417,7 @@ namespace Aws typedef std::future PutObjectRetentionOutcomeCallable; typedef std::future PutObjectTaggingOutcomeCallable; typedef std::future PutPublicAccessBlockOutcomeCallable; + typedef std::future RenameObjectOutcomeCallable; typedef std::future RestoreObjectOutcomeCallable; typedef std::future SelectObjectContentOutcomeCallable; typedef std::future UploadPartOutcomeCallable; @@ -518,6 +522,7 @@ namespace Aws typedef std::function&) > PutObjectRetentionResponseReceivedHandler; typedef std::function&) > PutObjectTaggingResponseReceivedHandler; typedef std::function&) > PutPublicAccessBlockResponseReceivedHandler; + typedef std::function&) > RenameObjectResponseReceivedHandler; typedef std::function&) > RestoreObjectResponseReceivedHandler; typedef std::function&) > SelectObjectContentResponseReceivedHandler; typedef std::function&) > UploadPartResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h index fa850b0579f..9e824ed5387 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/DeleteBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model DeleteBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                                + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + DeleteBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h index ef7d043ea8c..e42b0bf0305 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model GetBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                                + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + GetBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h index 8346ad03c15..6d6ade8a914 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/GetObjectAttributesParts.h @@ -98,14 +98,15 @@ namespace Model /** *

                                A container for elements related to a particular part. A response can contain * zero or more Parts elements.

                                • General - * purpose buckets - For GetObjectAttributes, if a additional + * purpose buckets - For GetObjectAttributes, if an additional * checksum (including x-amz-checksum-crc32, * x-amz-checksum-crc32c, x-amz-checksum-sha1, or * x-amz-checksum-sha256) isn't applied to the object specified in the - * request, the response doesn't return Part.

                                • - * Directory buckets - For GetObjectAttributes, no matter - * whether a additional checksum is applied to the object specified in the request, - * the response returns Part.

                                + * request, the response doesn't return the Part element.

                              • + *
                              • Directory buckets - For GetObjectAttributes, + * regardless of whether an additional checksum is applied to the object specified + * in the request, the response returns the Part element.

                              • + *
                              */ inline const Aws::Vector& GetParts() const { return m_parts; } inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h index eab1e481787..97501e6bc54 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/HeadObjectResult.h @@ -521,6 +521,19 @@ namespace Model inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} ///@} + ///@{ + /** + *

                              The number of tags, if any, on the object, when you have the relevant + * permission to read object tags.

                              You can use GetObjectTagging + * to retrieve the tag set associated with an object.

                              This + * functionality is not supported for directory buckets.

                              + */ + inline int GetTagCount() const { return m_tagCount; } + inline void SetTagCount(int value) { m_tagCountHasBeenSet = true; m_tagCount = value; } + inline HeadObjectResult& WithTagCount(int value) { SetTagCount(value); return *this;} + ///@} + ///@{ /** *

                              The Object Lock mode, if any, that's in effect for this object. This header @@ -688,6 +701,9 @@ namespace Model int m_partsCount{0}; bool m_partsCountHasBeenSet = false; + int m_tagCount{0}; + bool m_tagCountHasBeenSet = false; + ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET}; bool m_objectLockModeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h index 835f09c1df3..16d33de5942 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListBucketIntelligentTieringConfigurationsRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(ContinuationTokenT&& value) { SetContinuationToken(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                              + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + ListBucketIntelligentTieringConfigurationsRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -91,6 +107,9 @@ namespace Model Aws::String m_continuationToken; bool m_continuationTokenHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h index bfad57d4505..ced3018bd3a 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ListObjectsV2Result.h @@ -176,8 +176,7 @@ namespace Model /** *

                              If ContinuationToken was sent with the request, it is included * in the response. You can use the returned ContinuationToken for - * pagination of the list response. You can use this ContinuationToken - * for pagination of the list results.

                              + * pagination of the list response.

                              */ inline const Aws::String& GetContinuationToken() const { return m_continuationToken; } template diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h index a1b7f95caf5..6c09ac01c61 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Owner.h @@ -23,6 +23,15 @@ namespace Model { /** + *

                              End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                              This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                              *

                              Container for the owner's display name and ID.

                              See Also:

                              AWS API * Reference

                              diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h index 70a8cc48dc1..236e70f4062 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/PutBucketIntelligentTieringConfigurationRequest.h @@ -39,6 +39,8 @@ namespace Model AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3CRT_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model PutBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                              The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                              + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + PutBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                              Container for S3 Intelligent-Tiering configuration.

                              @@ -103,6 +119,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + IntelligentTieringConfiguration m_intelligentTieringConfiguration; bool m_intelligentTieringConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h new file mode 100644 index 00000000000..6428243b4e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectRequest.h @@ -0,0 +1,286 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3Crt +{ +namespace Model +{ + + /** + */ + class RenameObjectRequest : public S3CrtRequest + { + public: + AWS_S3CRT_API RenameObjectRequest() = default; + + // 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 "RenameObject"; } + + AWS_S3CRT_API Aws::String SerializePayload() const override; + + AWS_S3CRT_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3CRT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3CRT_API EndpointParameters GetEndpointContextParams() const override; + + ///@{ + /** + *

                              The bucket name of the directory bucket containing the object.

                              You + * must use virtual-hosted-style requests in the format + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style + * requests are not supported. Directory bucket names must be unique in the chosen + * Availability Zone. Bucket names must follow the format + * bucket-base-name--zone-id--x-s3 (for example, + * amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket + * naming restrictions, see Directory + * bucket naming rules in the Amazon S3 User Guide.

                              + */ + inline const Aws::String& GetBucket() const { return m_bucket; } + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + template + void SetBucket(BucketT&& value) { m_bucketHasBeenSet = true; m_bucket = std::forward(value); } + template + RenameObjectRequest& WithBucket(BucketT&& value) { SetBucket(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Key name of the object to rename.

                              + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + RenameObjectRequest& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Specifies the source for the rename operation. The value must be URL + * encoded.

                              + */ + inline const Aws::String& GetRenameSource() const { return m_renameSource; } + inline bool RenameSourceHasBeenSet() const { return m_renameSourceHasBeenSet; } + template + void SetRenameSource(RenameSourceT&& value) { m_renameSourceHasBeenSet = true; m_renameSource = std::forward(value); } + template + RenameObjectRequest& WithRenameSource(RenameSourceT&& value) { SetRenameSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object only if the ETag (entity tag) value provided during the + * operation matches the ETag of the object in S3. The If-Match header + * field makes the request method conditional on ETags. If the ETag values do not + * match, the operation returns a 412 Precondition Failed error.

                              + *

                              Expects the ETag value as a string.

                              + */ + inline const Aws::String& GetDestinationIfMatch() const { return m_destinationIfMatch; } + inline bool DestinationIfMatchHasBeenSet() const { return m_destinationIfMatchHasBeenSet; } + template + void SetDestinationIfMatch(DestinationIfMatchT&& value) { m_destinationIfMatchHasBeenSet = true; m_destinationIfMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfMatch(DestinationIfMatchT&& value) { SetDestinationIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object only if the destination does not already exist in the + * specified directory bucket. If the object does exist when you send a request + * with If-None-Match:*, the S3 API will return a 412 + * Precondition Failed error, preventing an overwrite. The + * If-None-Match header prevents overwrites of existing data by + * validating that there's not an object with the same key name already in your + * directory bucket.

                              Expects the * character (asterisk).

                              + */ + inline const Aws::String& GetDestinationIfNoneMatch() const { return m_destinationIfNoneMatch; } + inline bool DestinationIfNoneMatchHasBeenSet() const { return m_destinationIfNoneMatchHasBeenSet; } + template + void SetDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { m_destinationIfNoneMatchHasBeenSet = true; m_destinationIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { SetDestinationIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object if the destination exists and if it has been modified + * since the specified time.

                              + */ + inline const Aws::Utils::DateTime& GetDestinationIfModifiedSince() const { return m_destinationIfModifiedSince; } + inline bool DestinationIfModifiedSinceHasBeenSet() const { return m_destinationIfModifiedSinceHasBeenSet; } + template + void SetDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { m_destinationIfModifiedSinceHasBeenSet = true; m_destinationIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { SetDestinationIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object if it hasn't been modified since the specified time.

                              + */ + inline const Aws::Utils::DateTime& GetDestinationIfUnmodifiedSince() const { return m_destinationIfUnmodifiedSince; } + inline bool DestinationIfUnmodifiedSinceHasBeenSet() const { return m_destinationIfUnmodifiedSinceHasBeenSet; } + template + void SetDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { m_destinationIfUnmodifiedSinceHasBeenSet = true; m_destinationIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { SetDestinationIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object if the source exists and if its entity tag (ETag) matches + * the specified ETag.

                              + */ + inline const Aws::String& GetSourceIfMatch() const { return m_sourceIfMatch; } + inline bool SourceIfMatchHasBeenSet() const { return m_sourceIfMatchHasBeenSet; } + template + void SetSourceIfMatch(SourceIfMatchT&& value) { m_sourceIfMatchHasBeenSet = true; m_sourceIfMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfMatch(SourceIfMatchT&& value) { SetSourceIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object if the source exists and if its entity tag (ETag) is + * different than the specified ETag. If an asterisk (*) character is + * provided, the operation will fail and return a 412 Precondition + * Failed error.

                              + */ + inline const Aws::String& GetSourceIfNoneMatch() const { return m_sourceIfNoneMatch; } + inline bool SourceIfNoneMatchHasBeenSet() const { return m_sourceIfNoneMatchHasBeenSet; } + template + void SetSourceIfNoneMatch(SourceIfNoneMatchT&& value) { m_sourceIfNoneMatchHasBeenSet = true; m_sourceIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfNoneMatch(SourceIfNoneMatchT&& value) { SetSourceIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object if the source exists and if it has been modified since the + * specified time.

                              + */ + inline const Aws::Utils::DateTime& GetSourceIfModifiedSince() const { return m_sourceIfModifiedSince; } + inline bool SourceIfModifiedSinceHasBeenSet() const { return m_sourceIfModifiedSinceHasBeenSet; } + template + void SetSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { m_sourceIfModifiedSinceHasBeenSet = true; m_sourceIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { SetSourceIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Renames the object if the source exists and hasn't been modified since the + * specified time.

                              + */ + inline const Aws::Utils::DateTime& GetSourceIfUnmodifiedSince() const { return m_sourceIfUnmodifiedSince; } + inline bool SourceIfUnmodifiedSinceHasBeenSet() const { return m_sourceIfUnmodifiedSinceHasBeenSet; } + template + void SetSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { m_sourceIfUnmodifiedSinceHasBeenSet = true; m_sourceIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { SetSourceIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              A unique string with a max of 64 ASCII characters in the ASCII range of 33 - + * 126. RenameObject supports idempotency using a client token. To + * make an idempotent API request using RenameObject, specify a client + * token in the request. You should not reuse the same client token for other API + * requests. If you retry a request that completed successfully using the same + * client token and the same parameters, the retry succeeds without performing any + * further actions. If you retry a successful request using the same client token, + * but one or more of the parameters are different, the retry fails and an + * IdempotentParameterMismatch error is returned.

                              + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + RenameObjectRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + template> + void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::forward(value); } + template> + RenameObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { SetCustomizedAccessLogTag(std::forward(value)); return *this;} + template + RenameObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) { + m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_renameSource; + bool m_renameSourceHasBeenSet = false; + + Aws::String m_destinationIfMatch; + bool m_destinationIfMatchHasBeenSet = false; + + Aws::String m_destinationIfNoneMatch; + bool m_destinationIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfModifiedSince{}; + bool m_destinationIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfUnmodifiedSince{}; + bool m_destinationIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_sourceIfMatch; + bool m_sourceIfMatchHasBeenSet = false; + + Aws::String m_sourceIfNoneMatch; + bool m_sourceIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfModifiedSince{}; + bool m_sourceIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfUnmodifiedSince{}; + bool m_sourceIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Map m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Crt +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h new file mode 100644 index 00000000000..66ff7fddcab --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/RenameObjectResult.h @@ -0,0 +1,51 @@ +/** + * 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 S3Crt +{ +namespace Model +{ + class RenameObjectResult + { + public: + AWS_S3CRT_API RenameObjectResult() = default; + AWS_S3CRT_API RenameObjectResult(const Aws::AmazonWebServiceResult& result); + AWS_S3CRT_API RenameObjectResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + RenameObjectResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3Crt +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp index 9fcf255ebbe..15588e0c567 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClient.cpp @@ -116,6 +116,7 @@ #include #include #include +#include #include #include #include @@ -5161,6 +5162,58 @@ PutPublicAccessBlockOutcome S3CrtClient::PutPublicAccessBlock(const PutPublicAcc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RenameObjectOutcome S3CrtClient::RenameObject(const RenameObjectRequest& request) const +{ + AWS_OPERATION_GUARD(RenameObject); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Bucket, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3CrtErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Key, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3CrtErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.RenameSourceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: RenameSource, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3CrtErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RenameSource]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RenameObject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RenameObject, 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( + [&]()-> RenameObjectOutcome { + 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, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + ss.str("?renameObject"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + request.SetServiceSpecificParameters( + [&]() -> std::shared_ptr { + Aws::Map params; + params.emplace("bucketName", request.GetBucket()); + ServiceSpecificParameters serviceSpecificParameters{params}; + return Aws::MakeShared(ALLOCATION_TAG, serviceSpecificParameters); + }()); + return RenameObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RestoreObjectOutcome S3CrtClient::RestoreObject(const RestoreObjectRequest& request) const { AWS_OPERATION_GUARD(RestoreObject); diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp index e9132bd77da..ad33c79a0e7 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtErrors.cpp @@ -28,12 +28,13 @@ namespace S3CrtErrorMapper static const int NO_SUCH_UPLOAD_HASH = HashingUtils::HashString("NoSuchUpload"); static const int ENCRYPTION_TYPE_MISMATCH_HASH = HashingUtils::HashString("EncryptionTypeMismatch"); +static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); static const int BUCKET_ALREADY_OWNED_BY_YOU_HASH = HashingUtils::HashString("BucketAlreadyOwnedByYou"); static const int INVALID_WRITE_OFFSET_HASH = HashingUtils::HashString("InvalidWriteOffset"); static const int OBJECT_ALREADY_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectAlreadyInActiveTierError"); static const int NO_SUCH_BUCKET_HASH = HashingUtils::HashString("NoSuchBucket"); static const int TOO_MANY_PARTS_HASH = HashingUtils::HashString("TooManyParts"); -static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); +static const int IDEMPOTENCY_PARAMETER_MISMATCH_HASH = HashingUtils::HashString("IdempotencyParameterMismatch"); static const int NO_SUCH_KEY_HASH = HashingUtils::HashString("NoSuchKey"); static const int OBJECT_NOT_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectNotInActiveTierError"); static const int BUCKET_ALREADY_EXISTS_HASH = HashingUtils::HashString("BucketAlreadyExists"); @@ -52,6 +53,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3CrtErrors::ENCRYPTION_TYPE_MISMATCH), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INVALID_REQUEST_HASH) + { + return AWSError(static_cast(S3CrtErrors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + } else if (hashCode == BUCKET_ALREADY_OWNED_BY_YOU_HASH) { return AWSError(static_cast(S3CrtErrors::BUCKET_ALREADY_OWNED_BY_YOU), RetryableType::NOT_RETRYABLE); @@ -72,9 +77,9 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3CrtErrors::TOO_MANY_PARTS), RetryableType::NOT_RETRYABLE); } - else if (hashCode == INVALID_REQUEST_HASH) + else if (hashCode == IDEMPOTENCY_PARAMETER_MISMATCH_HASH) { - return AWSError(static_cast(S3CrtErrors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + return AWSError(static_cast(S3CrtErrors::IDEMPOTENCY_PARAMETER_MISMATCH), RetryableType::NOT_RETRYABLE); } else if (hashCode == NO_SUCH_KEY_HASH) { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp index 0ff388a122b..ae150bde176 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void DeleteBucketIntelligentTieringConfigurationRequest::AddQueryStringParameter } } +Aws::Http::HeaderValueCollection DeleteBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} DeleteBucketIntelligentTieringConfigurationRequest::EndpointParameters DeleteBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp index aba6e4e35f1..2813ad88905 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void GetBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection GetBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} GetBucketIntelligentTieringConfigurationRequest::EndpointParameters GetBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp index 89ca9c70d8e..b631a6bf50c 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/HeadObjectResult.cpp @@ -282,6 +282,13 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult m_partsCountHasBeenSet = true; } + const auto& tagCountIter = headers.find("x-amz-tagging-count"); + if(tagCountIter != headers.end()) + { + m_tagCount = StringUtils::ConvertToInt32(tagCountIter->second.c_str()); + m_tagCountHasBeenSet = true; + } + const auto& objectLockModeIter = headers.find("x-amz-object-lock-mode"); if(objectLockModeIter != headers.end()) { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp index a6ff3b523eb..a020a6e8d5d 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp @@ -71,6 +71,19 @@ void ListBucketIntelligentTieringConfigurationsRequest::AddQueryStringParameters } } +Aws::Http::HeaderValueCollection ListBucketIntelligentTieringConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} ListBucketIntelligentTieringConfigurationsRequest::EndpointParameters ListBucketIntelligentTieringConfigurationsRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp index c2e062d5345..e8467ec0a02 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp @@ -82,6 +82,19 @@ void PutBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection PutBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} PutBucketIntelligentTieringConfigurationRequest::EndpointParameters PutBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp new file mode 100644 index 00000000000..9d0157124b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectRequest.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3Crt::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + + +Aws::String RenameObjectRequest::SerializePayload() const +{ + return {}; +} + +void RenameObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection RenameObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_renameSourceHasBeenSet) + { + ss << m_renameSource; + headers.emplace("x-amz-rename-source", ss.str()); + ss.str(""); + } + + if(m_destinationIfMatchHasBeenSet) + { + ss << m_destinationIfMatch; + headers.emplace("if-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfNoneMatchHasBeenSet) + { + ss << m_destinationIfNoneMatch; + headers.emplace("if-none-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfModifiedSinceHasBeenSet) + { + headers.emplace("if-modified-since", m_destinationIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_destinationIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("if-unmodified-since", m_destinationIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfMatchHasBeenSet) + { + ss << m_sourceIfMatch; + headers.emplace("x-amz-rename-source-if-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfNoneMatchHasBeenSet) + { + ss << m_sourceIfNoneMatch; + headers.emplace("x-amz-rename-source-if-none-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfModifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-modified-since", m_sourceIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-unmodified-since", m_sourceIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + headers.emplace("x-amz-client-token", ss.str()); + ss.str(""); + } + + return headers; +} + +RenameObjectRequest::EndpointParameters RenameObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp new file mode 100644 index 00000000000..b47d6948fba --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3-crt/source/model/RenameObjectResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3Crt::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +RenameObjectResult::RenameObjectResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RenameObjectResult& RenameObjectResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amz-request-id"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h index 38e8acefcad..d17b58bdae7 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -359,11 +359,21 @@ namespace Aws } /** - *

                              Creates a copy of an object that is already stored in Amazon S3.

                              - *

                              You can store individual objects of up to 5 TB in Amazon S3. You create a - * copy of your object up to 5 GB in size in a single atomic action using this API. - * However, to copy an object greater than 5 GB, you must use the multipart upload - * Upload Part - Copy (UploadPartCopy) API. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                              This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                              Creates a copy of an object that + * is already stored in Amazon S3.

                              You can store individual objects + * of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size + * in a single atomic action using this API. However, to copy an object greater + * than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) + * API. For more information, see Copy * Object Using the REST Multipart Upload API.

                              You can copy * individual objects between general purpose buckets, between directory buckets, @@ -503,8 +513,26 @@ namespace Aws virtual void CopyObjectAsync(const Model::CopyObjectRequest& request, const CopyObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** - *

                              This action creates an Amazon S3 bucket. To create an Amazon S3 on - * Outposts bucket, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                              This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                              End of support + * notice: Beginning October 1, 2025, Amazon S3 will stop returning + * DisplayName. Update your applications to use canonical IDs (unique + * identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 + * digit identifier) or IAM ARNs (full resource naming) as a direct replacement of + * DisplayName.

                              This change affects the following Amazon Web + * Services Regions: US East (N. Virginia) Region, US West (N. California) Region, + * US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) + * Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America + * (São Paulo) Region.

                              This action creates an Amazon S3 + * bucket. To create an Amazon S3 on Outposts bucket, see * CreateBucket .

                              Creates a new S3 bucket. To * create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services @@ -682,10 +710,19 @@ namespace Aws } /** - *

                              This action initiates a multipart upload and returns an upload ID. This - * upload ID is used to associate all of the parts in the specific multipart - * upload. You specify this upload ID in each of your subsequent upload part - * requests (see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                              This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                              This action initiates a + * multipart upload and returns an upload ID. This upload ID is used to associate + * all of the parts in the specific multipart upload. You specify this upload ID in + * each of your subsequent upload part requests (see UploadPart). * You also include this upload ID in the final request to either complete or abort * the multipart upload request. For more information about multipart uploads, see @@ -2111,8 +2148,17 @@ namespace Aws } /** - *

                              This operation is not supported for directory buckets.

                              - *

                              This implementation of the GET action uses the acl + *

                              End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                              This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                              + *

                              This operation is not supported for directory buckets.

                              This + * implementation of the GET action uses the acl * subresource to return the access control list (ACL) of a bucket. To use * GET to return the ACL of the bucket, you must have the * READ_ACP access to the bucket. If READ_ACP permission @@ -2536,9 +2582,18 @@ namespace Aws } /** - *

                              This operation is not supported for directory buckets.

                              - *

                              Returns the logging status of a bucket and the permissions users have to view - * and modify that status.

                              The following operations are related to + *

                              End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                              This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                              + *

                              This operation is not supported for directory buckets.

                              Returns + * the logging status of a bucket and the permissions users have to view and modify + * that status.

                              The following operations are related to * GetBucketLogging:

                            Grantee * Values

                            You can specify the person (grantee) to whom you're - * assigning access rights (using request elements) in the following ways:

                              - *
                            • By the person's ID:

                              <Grantee + * assigning access rights (using request elements) in the following ways. For + * examples of how to specify these grantee values in JSON format, see the Amazon + * Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                              • By the person's ID:

                                <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                                DisplayName is optional and ignored in the @@ -5214,24 +5332,37 @@ namespace Aws } /** - *

                                This operation is not supported for directory buckets.

                                - *

                                Set the logging parameters for a bucket and to specify permissions for who - * can view and modify the logging parameters. All logs are saved to buckets in the - * same Amazon Web Services Region as the source bucket. To set the logging status - * of a bucket, you must be the bucket owner.

                                The bucket owner is - * automatically granted FULL_CONTROL to all logs. You use the Grantee - * request element to grant access to other people. The Permissions - * request element specifies the kind of access the grantee has to the logs.

                                - *

                                If the target bucket for log delivery uses the bucket owner - * enforced setting for S3 Object Ownership, you can't use the Grantee - * request element to grant access to others. Permissions can only be granted using - * policies. For more information, see End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                                This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                                This operation is not + * supported for directory buckets.

                                Set the logging parameters for a + * bucket and to specify permissions for who can view and modify the logging + * parameters. All logs are saved to buckets in the same Amazon Web Services Region + * as the source bucket. To set the logging status of a bucket, you must be the + * bucket owner.

                                The bucket owner is automatically granted FULL_CONTROL to + * all logs. You use the Grantee request element to grant access to + * other people. The Permissions request element specifies the kind of + * access the grantee has to the logs.

                                If the target bucket for + * log delivery uses the bucket owner enforced setting for S3 Object Ownership, you + * can't use the Grantee request element to grant access to others. + * Permissions can only be granted using policies. For more information, see Permissions * for server access log delivery in the Amazon S3 User Guide.

                                *
                                Grantee Values

                                You can specify the person * (grantee) to whom you're assigning access rights (by using request elements) in - * the following ways:

                                • By the person's ID:

                                  - * <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + * the following ways. For examples of how to specify these grantee values in JSON + * format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                                  • By the person's ID:

                                    <Grantee + * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                                    DisplayName is optional and * ignored in the request.

                                  • By Email address:

                                    @@ -5833,17 +5964,26 @@ namespace Aws } /** - *

                                    Adds an object to a bucket.

                                    • Amazon S3 never adds - * partial objects; if you receive a success response, Amazon S3 added the entire - * object to the bucket. You cannot use PutObject to only update a - * single piece of metadata for an existing object. You must put the entire object - * with updated metadata if you want to update some values.

                                    • If - * your bucket uses the bucket owner enforced setting for Object Ownership, ACLs - * are disabled and no longer affect permissions. All objects written to the bucket - * by any account will be owned by the bucket owner.

                                    • - * Directory buckets - For directory buckets, you must make requests for - * this API operation to the Zonal endpoint. These endpoints support - * virtual-hosted-style requests in the format + *

                                      End of support notice: Beginning October 1, 2025, Amazon S3 will + * discontinue support for creating new Email Grantee Access Control Lists (ACL). + * Email Grantee ACLs created prior to this date will continue to work and remain + * accessible through the Amazon Web Services Management Console, Command Line + * Interface (CLI), SDKs, and REST API. However, you will no longer be able to + * create new Email Grantee ACLs.

                                      This change affects the following Amazon + * Web Services Regions: US East (N. Virginia) Region, US West (N. California) + * Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific + * (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South + * America (São Paulo) Region.

                                      Adds an object to a bucket.

                                      + *
                                      • Amazon S3 never adds partial objects; if you receive a + * success response, Amazon S3 added the entire object to the bucket. You cannot + * use PutObject to only update a single piece of metadata for an + * existing object. You must put the entire object with updated metadata if you + * want to update some values.

                                      • If your bucket uses the bucket + * owner enforced setting for Object Ownership, ACLs are disabled and no longer + * affect permissions. All objects written to the bucket by any account will be + * owned by the bucket owner.

                                      • Directory buckets - For + * directory buckets, you must make requests for this API operation to the Zonal + * endpoint. These endpoints support virtual-hosted-style requests in the format * https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name * . Path-style requests are not supported. For more information about * endpoints in Availability Zones, see

                                        You can use either a canned ACL or specify access permissions * explicitly. You cannot do both.

                                Grantee Values

                                You * can specify the person (grantee) to whom you're assigning access rights (using - * request elements) in the following ways:

                                • By the person's - * ID:

                                  <Grantee + * request elements) in the following ways. For examples of how to specify these + * grantee values in JSON format, see the Amazon Web Services CLI example in + * Enabling Amazon S3 server access logging in the Amazon S3 User + * Guide.

                                  • By the person's ID:

                                    <Grantee * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> * </Grantee>

                                    DisplayName is optional and ignored in the @@ -6269,6 +6412,71 @@ namespace Aws return SubmitAsync(&S3Client::PutPublicAccessBlock, request, handler, context); } + /** + *

                                    Renames an existing object in a directory bucket that uses the S3 Express One + * Zone storage class. You can use RenameObject by specifying an + * existing object’s name as the source and the new name of the object as the + * destination within the same directory bucket.

                                    + * RenameObject is only supported for objects stored in the S3 Express + * One Zone storage class.

                                    To prevent overwriting an object, you + * can use the If-None-Match conditional header.

                                    • + * If-None-Match - Renames the object only if an object with the specified + * name does not already exist in the directory bucket. If you don't want to + * overwrite an existing object, you can add the If-None-Match + * conditional header with the value ‘*’ in the + * RenameObject request. Amazon S3 then returns a 412 + * Precondition Failed error if the object with the specified name already + * exists. For more information, see RFC 7232.

                                    + *
                                    Permissions

                                    To grant access to the + * RenameObject operation on a directory bucket, we recommend that you + * use the CreateSession operation for session-based authorization. + * Specifically, you grant the s3express:CreateSession permission to + * the directory bucket in a bucket policy or an IAM identity-based policy. Then, + * you make the CreateSession API call on the directory bucket to + * obtain a session token. With the session token in your request header, you can + * make API requests to this operation. After the session token expires, you make + * another CreateSession API call to generate a new session token for + * use. The Amazon Web Services CLI and SDKs will create and manage your session + * including refreshing the session token automatically to avoid service + * interruptions when a session expires. In your bucket policy, you can specify the + * s3express:SessionMode condition key to control who can create a + * ReadWrite or ReadOnly session. A + * ReadWrite session is required for executing all the Zonal endpoint + * API operations, including RenameObject. For more information about + * authorization, see + * CreateSession . To learn more about Zonal endpoint APT + * operations, see Authorizing + * Zonal endpoint API operations with CreateSession in the Amazon S3 User + * Guide.

                                    HTTP Host header syntax

                                    Directory + * buckets - The HTTP Host header syntax is + * Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                                    + *

                                    See Also:

                                    AWS API + * Reference

                                    + */ + virtual Model::RenameObjectOutcome RenameObject(const Model::RenameObjectRequest& request) const; + + /** + * A Callable wrapper for RenameObject that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::RenameObjectOutcomeCallable RenameObjectCallable(const RenameObjectRequestT& request) const + { + return SubmitCallable(&S3Client::RenameObject, request); + } + + /** + * An Async wrapper for RenameObject that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void RenameObjectAsync(const RenameObjectRequestT& request, const RenameObjectResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&S3Client::RenameObject, request, handler, context); + } + /** *

                                    This operation is not supported for directory buckets.

                                    *

                                    Restores an archived copy of an object back into Amazon S3

                                    This diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h index d6afabbab1d..e901aa2e53a 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Errors.h @@ -50,6 +50,7 @@ enum class S3Errors BUCKET_ALREADY_EXISTS= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, BUCKET_ALREADY_OWNED_BY_YOU, ENCRYPTION_TYPE_MISMATCH, + IDEMPOTENCY_PARAMETER_MISMATCH, INVALID_OBJECT_STATE, INVALID_REQUEST, INVALID_WRITE_OFFSET, diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h index c5bddb4513d..c33cddbce44 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ServiceClientModel.h @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -215,6 +216,7 @@ namespace Aws class PutObjectRetentionRequest; class PutObjectTaggingRequest; class PutPublicAccessBlockRequest; + class RenameObjectRequest; class RestoreObjectRequest; class SelectObjectContentRequest; class UploadPartRequest; @@ -316,6 +318,7 @@ namespace Aws typedef Aws::Utils::Outcome PutObjectRetentionOutcome; typedef Aws::Utils::Outcome PutObjectTaggingOutcome; typedef Aws::Utils::Outcome PutPublicAccessBlockOutcome; + typedef Aws::Utils::Outcome RenameObjectOutcome; typedef Aws::Utils::Outcome RestoreObjectOutcome; typedef Aws::Utils::Outcome SelectObjectContentOutcome; typedef Aws::Utils::Outcome UploadPartOutcome; @@ -417,6 +420,7 @@ namespace Aws typedef std::future PutObjectRetentionOutcomeCallable; typedef std::future PutObjectTaggingOutcomeCallable; typedef std::future PutPublicAccessBlockOutcomeCallable; + typedef std::future RenameObjectOutcomeCallable; typedef std::future RestoreObjectOutcomeCallable; typedef std::future SelectObjectContentOutcomeCallable; typedef std::future UploadPartOutcomeCallable; @@ -521,6 +525,7 @@ namespace Aws typedef std::function&) > PutObjectRetentionResponseReceivedHandler; typedef std::function&) > PutObjectTaggingResponseReceivedHandler; typedef std::function&) > PutPublicAccessBlockResponseReceivedHandler; + typedef std::function&) > RenameObjectResponseReceivedHandler; typedef std::function&) > RestoreObjectResponseReceivedHandler; typedef std::function&) > SelectObjectContentResponseReceivedHandler; typedef std::function&) > UploadPartResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h index cda8011fd2e..0bd7b947cf5 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/DeleteBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model DeleteBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                    The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                                    + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + DeleteBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h index 43d8b489d2e..2dda7075436 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetBucketIntelligentTieringConfigurationRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -69,6 +71,20 @@ namespace Model GetBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                    The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                                    + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + GetBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -90,6 +106,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h index 871cdcbf5f0..e6350e72ac2 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/GetObjectAttributesParts.h @@ -98,14 +98,15 @@ namespace Model /** *

                                    A container for elements related to a particular part. A response can contain * zero or more Parts elements.

                                    • General - * purpose buckets - For GetObjectAttributes, if a additional + * purpose buckets - For GetObjectAttributes, if an additional * checksum (including x-amz-checksum-crc32, * x-amz-checksum-crc32c, x-amz-checksum-sha1, or * x-amz-checksum-sha256) isn't applied to the object specified in the - * request, the response doesn't return Part.

                                    • - * Directory buckets - For GetObjectAttributes, no matter - * whether a additional checksum is applied to the object specified in the request, - * the response returns Part.

                                    + * request, the response doesn't return the Part element.

                                  • + *
                                  • Directory buckets - For GetObjectAttributes, + * regardless of whether an additional checksum is applied to the object specified + * in the request, the response returns the Part element.

                                  • + *
                                  */ inline const Aws::Vector& GetParts() const { return m_parts; } inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h index 56f92105047..b7ad682ae10 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/HeadObjectResult.h @@ -521,6 +521,19 @@ namespace Model inline HeadObjectResult& WithPartsCount(int value) { SetPartsCount(value); return *this;} ///@} + ///@{ + /** + *

                                  The number of tags, if any, on the object, when you have the relevant + * permission to read object tags.

                                  You can use GetObjectTagging + * to retrieve the tag set associated with an object.

                                  This + * functionality is not supported for directory buckets.

                                  + */ + inline int GetTagCount() const { return m_tagCount; } + inline void SetTagCount(int value) { m_tagCountHasBeenSet = true; m_tagCount = value; } + inline HeadObjectResult& WithTagCount(int value) { SetTagCount(value); return *this;} + ///@} + ///@{ /** *

                                  The Object Lock mode, if any, that's in effect for this object. This header @@ -688,6 +701,9 @@ namespace Model int m_partsCount{0}; bool m_partsCountHasBeenSet = false; + int m_tagCount{0}; + bool m_tagCountHasBeenSet = false; + ObjectLockMode m_objectLockMode{ObjectLockMode::NOT_SET}; bool m_objectLockModeHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h index 2217f11f54f..29a005eef2b 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListBucketIntelligentTieringConfigurationsRequest.h @@ -38,6 +38,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model ListBucketIntelligentTieringConfigurationsRequest& WithContinuationToken(ContinuationTokenT&& value) { SetContinuationToken(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                  The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                                  + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + ListBucketIntelligentTieringConfigurationsRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } @@ -91,6 +107,9 @@ namespace Model Aws::String m_continuationToken; bool m_continuationTokenHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + Aws::Map m_customizedAccessLogTag; bool m_customizedAccessLogTagHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h index 81fb333aa96..6d8c2e20046 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/ListObjectsV2Result.h @@ -176,8 +176,7 @@ namespace Model /** *

                                  If ContinuationToken was sent with the request, it is included * in the response. You can use the returned ContinuationToken for - * pagination of the list response. You can use this ContinuationToken - * for pagination of the list results.

                                  + * pagination of the list response.

                                  */ inline const Aws::String& GetContinuationToken() const { return m_continuationToken; } template diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h index 8ddaa21807b..7b2999c47b5 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/Owner.h @@ -23,6 +23,15 @@ namespace Model { /** + *

                                  End of support notice: Beginning October 1, 2025, Amazon S3 will + * stop returning DisplayName. Update your applications to use + * canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web + * Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as + * a direct replacement of DisplayName.

                                  This change affects + * the following Amazon Web Services Regions: US East (N. Virginia) Region, US West + * (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) + * Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe + * (Ireland) Region, and South America (São Paulo) Region.

                                  *

                                  Container for the owner's display name and ID.

                                  See Also:

                                  AWS API * Reference

                                  diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h index 11b0e695242..a360c28341b 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/PutBucketIntelligentTieringConfigurationRequest.h @@ -39,6 +39,8 @@ namespace Model AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override; /** * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. @@ -70,6 +72,20 @@ namespace Model PutBucketIntelligentTieringConfigurationRequest& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                  The account ID of the expected bucket owner. If the account ID that you + * provide does not match the actual owner of the bucket, the request fails with + * the HTTP status code 403 Forbidden (access denied).

                                  + */ + inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; } + inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } + template + void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward(value); } + template + PutBucketIntelligentTieringConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward(value)); return *this;} + ///@} + ///@{ /** *

                                  Container for S3 Intelligent-Tiering configuration.

                                  @@ -103,6 +119,9 @@ namespace Model Aws::String m_id; bool m_idHasBeenSet = false; + Aws::String m_expectedBucketOwner; + bool m_expectedBucketOwnerHasBeenSet = false; + IntelligentTieringConfiguration m_intelligentTieringConfiguration; bool m_intelligentTieringConfigurationHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h new file mode 100644 index 00000000000..7481baabcae --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectRequest.h @@ -0,0 +1,286 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace S3 +{ +namespace Model +{ + + /** + */ + class RenameObjectRequest : public S3Request + { + public: + AWS_S3_API RenameObjectRequest() = default; + + // 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 "RenameObject"; } + + AWS_S3_API Aws::String SerializePayload() const override; + + AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + /** + * Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation. + */ + AWS_S3_API EndpointParameters GetEndpointContextParams() const override; + + ///@{ + /** + *

                                  The bucket name of the directory bucket containing the object.

                                  You + * must use virtual-hosted-style requests in the format + * Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style + * requests are not supported. Directory bucket names must be unique in the chosen + * Availability Zone. Bucket names must follow the format + * bucket-base-name--zone-id--x-s3 (for example, + * amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket + * naming restrictions, see Directory + * bucket naming rules in the Amazon S3 User Guide.

                                  + */ + inline const Aws::String& GetBucket() const { return m_bucket; } + inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } + template + void SetBucket(BucketT&& value) { m_bucketHasBeenSet = true; m_bucket = std::forward(value); } + template + RenameObjectRequest& WithBucket(BucketT&& value) { SetBucket(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Key name of the object to rename.

                                  + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + RenameObjectRequest& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Specifies the source for the rename operation. The value must be URL + * encoded.

                                  + */ + inline const Aws::String& GetRenameSource() const { return m_renameSource; } + inline bool RenameSourceHasBeenSet() const { return m_renameSourceHasBeenSet; } + template + void SetRenameSource(RenameSourceT&& value) { m_renameSourceHasBeenSet = true; m_renameSource = std::forward(value); } + template + RenameObjectRequest& WithRenameSource(RenameSourceT&& value) { SetRenameSource(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object only if the ETag (entity tag) value provided during the + * operation matches the ETag of the object in S3. The If-Match header + * field makes the request method conditional on ETags. If the ETag values do not + * match, the operation returns a 412 Precondition Failed error.

                                  + *

                                  Expects the ETag value as a string.

                                  + */ + inline const Aws::String& GetDestinationIfMatch() const { return m_destinationIfMatch; } + inline bool DestinationIfMatchHasBeenSet() const { return m_destinationIfMatchHasBeenSet; } + template + void SetDestinationIfMatch(DestinationIfMatchT&& value) { m_destinationIfMatchHasBeenSet = true; m_destinationIfMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfMatch(DestinationIfMatchT&& value) { SetDestinationIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object only if the destination does not already exist in the + * specified directory bucket. If the object does exist when you send a request + * with If-None-Match:*, the S3 API will return a 412 + * Precondition Failed error, preventing an overwrite. The + * If-None-Match header prevents overwrites of existing data by + * validating that there's not an object with the same key name already in your + * directory bucket.

                                  Expects the * character (asterisk).

                                  + */ + inline const Aws::String& GetDestinationIfNoneMatch() const { return m_destinationIfNoneMatch; } + inline bool DestinationIfNoneMatchHasBeenSet() const { return m_destinationIfNoneMatchHasBeenSet; } + template + void SetDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { m_destinationIfNoneMatchHasBeenSet = true; m_destinationIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfNoneMatch(DestinationIfNoneMatchT&& value) { SetDestinationIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object if the destination exists and if it has been modified + * since the specified time.

                                  + */ + inline const Aws::Utils::DateTime& GetDestinationIfModifiedSince() const { return m_destinationIfModifiedSince; } + inline bool DestinationIfModifiedSinceHasBeenSet() const { return m_destinationIfModifiedSinceHasBeenSet; } + template + void SetDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { m_destinationIfModifiedSinceHasBeenSet = true; m_destinationIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfModifiedSince(DestinationIfModifiedSinceT&& value) { SetDestinationIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object if it hasn't been modified since the specified time.

                                  + */ + inline const Aws::Utils::DateTime& GetDestinationIfUnmodifiedSince() const { return m_destinationIfUnmodifiedSince; } + inline bool DestinationIfUnmodifiedSinceHasBeenSet() const { return m_destinationIfUnmodifiedSinceHasBeenSet; } + template + void SetDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { m_destinationIfUnmodifiedSinceHasBeenSet = true; m_destinationIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithDestinationIfUnmodifiedSince(DestinationIfUnmodifiedSinceT&& value) { SetDestinationIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object if the source exists and if its entity tag (ETag) matches + * the specified ETag.

                                  + */ + inline const Aws::String& GetSourceIfMatch() const { return m_sourceIfMatch; } + inline bool SourceIfMatchHasBeenSet() const { return m_sourceIfMatchHasBeenSet; } + template + void SetSourceIfMatch(SourceIfMatchT&& value) { m_sourceIfMatchHasBeenSet = true; m_sourceIfMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfMatch(SourceIfMatchT&& value) { SetSourceIfMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object if the source exists and if its entity tag (ETag) is + * different than the specified ETag. If an asterisk (*) character is + * provided, the operation will fail and return a 412 Precondition + * Failed error.

                                  + */ + inline const Aws::String& GetSourceIfNoneMatch() const { return m_sourceIfNoneMatch; } + inline bool SourceIfNoneMatchHasBeenSet() const { return m_sourceIfNoneMatchHasBeenSet; } + template + void SetSourceIfNoneMatch(SourceIfNoneMatchT&& value) { m_sourceIfNoneMatchHasBeenSet = true; m_sourceIfNoneMatch = std::forward(value); } + template + RenameObjectRequest& WithSourceIfNoneMatch(SourceIfNoneMatchT&& value) { SetSourceIfNoneMatch(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object if the source exists and if it has been modified since the + * specified time.

                                  + */ + inline const Aws::Utils::DateTime& GetSourceIfModifiedSince() const { return m_sourceIfModifiedSince; } + inline bool SourceIfModifiedSinceHasBeenSet() const { return m_sourceIfModifiedSinceHasBeenSet; } + template + void SetSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { m_sourceIfModifiedSinceHasBeenSet = true; m_sourceIfModifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfModifiedSince(SourceIfModifiedSinceT&& value) { SetSourceIfModifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  Renames the object if the source exists and hasn't been modified since the + * specified time.

                                  + */ + inline const Aws::Utils::DateTime& GetSourceIfUnmodifiedSince() const { return m_sourceIfUnmodifiedSince; } + inline bool SourceIfUnmodifiedSinceHasBeenSet() const { return m_sourceIfUnmodifiedSinceHasBeenSet; } + template + void SetSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { m_sourceIfUnmodifiedSinceHasBeenSet = true; m_sourceIfUnmodifiedSince = std::forward(value); } + template + RenameObjectRequest& WithSourceIfUnmodifiedSince(SourceIfUnmodifiedSinceT&& value) { SetSourceIfUnmodifiedSince(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                  A unique string with a max of 64 ASCII characters in the ASCII range of 33 - + * 126. RenameObject supports idempotency using a client token. To + * make an idempotent API request using RenameObject, specify a client + * token in the request. You should not reuse the same client token for other API + * requests. If you retry a request that completed successfully using the same + * client token and the same parameters, the retry succeeds without performing any + * further actions. If you retry a successful request using the same client token, + * but one or more of the parameters are different, the retry fails and an + * IdempotentParameterMismatch error is returned.

                                  + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + RenameObjectRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; } + inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; } + template> + void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::forward(value); } + template> + RenameObjectRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { SetCustomizedAccessLogTag(std::forward(value)); return *this;} + template + RenameObjectRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) { + m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::String m_bucket; + bool m_bucketHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_renameSource; + bool m_renameSourceHasBeenSet = false; + + Aws::String m_destinationIfMatch; + bool m_destinationIfMatchHasBeenSet = false; + + Aws::String m_destinationIfNoneMatch; + bool m_destinationIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfModifiedSince{}; + bool m_destinationIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_destinationIfUnmodifiedSince{}; + bool m_destinationIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_sourceIfMatch; + bool m_sourceIfMatchHasBeenSet = false; + + Aws::String m_sourceIfNoneMatch; + bool m_sourceIfNoneMatchHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfModifiedSince{}; + bool m_sourceIfModifiedSinceHasBeenSet = false; + + Aws::Utils::DateTime m_sourceIfUnmodifiedSince{}; + bool m_sourceIfUnmodifiedSinceHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Map m_customizedAccessLogTag; + bool m_customizedAccessLogTagHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h new file mode 100644 index 00000000000..e76a19e3a2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/model/RenameObjectResult.h @@ -0,0 +1,51 @@ +/** + * 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 S3 +{ +namespace Model +{ + class RenameObjectResult + { + public: + AWS_S3_API RenameObjectResult() = default; + AWS_S3_API RenameObjectResult(const Aws::AmazonWebServiceResult& result); + AWS_S3_API RenameObjectResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + RenameObjectResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace S3 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp b/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp index 0134be223a8..9950ebde650 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp @@ -116,6 +116,7 @@ #include #include #include +#include #include #include #include @@ -4358,6 +4359,58 @@ PutPublicAccessBlockOutcome S3Client::PutPublicAccessBlock(const PutPublicAccess {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +RenameObjectOutcome S3Client::RenameObject(const RenameObjectRequest& request) const +{ + AWS_OPERATION_GUARD(RenameObject); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.BucketHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Bucket, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Bucket]", false)); + } + if (!request.KeyHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: Key, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Key]", false)); + } + if (!request.RenameSourceHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("RenameObject", "Required field: RenameSource, is not set"); + return RenameObjectOutcome(Aws::Client::AWSError(S3Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RenameSource]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RenameObject, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RenameObject, 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( + [&]()-> RenameObjectOutcome { + 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, RenameObject, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + Aws::StringStream ss; + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetKey()); + ss.str("?renameObject"); + endpointResolutionOutcome.GetResult().SetQueryString(ss.str()); + request.SetServiceSpecificParameters( + [&]() -> std::shared_ptr { + Aws::Map params; + params.emplace("bucketName", request.GetBucket()); + ServiceSpecificParameters serviceSpecificParameters{params}; + return Aws::MakeShared(ALLOCATION_TAG, serviceSpecificParameters); + }()); + return RenameObjectOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RestoreObjectOutcome S3Client::RestoreObject(const RestoreObjectRequest& request) const { AWS_OPERATION_GUARD(RestoreObject); diff --git a/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp b/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp index 75c76396cc8..eafbb8303cd 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3Errors.cpp @@ -28,12 +28,13 @@ namespace S3ErrorMapper static const int NO_SUCH_UPLOAD_HASH = HashingUtils::HashString("NoSuchUpload"); static const int ENCRYPTION_TYPE_MISMATCH_HASH = HashingUtils::HashString("EncryptionTypeMismatch"); +static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); static const int BUCKET_ALREADY_OWNED_BY_YOU_HASH = HashingUtils::HashString("BucketAlreadyOwnedByYou"); static const int INVALID_WRITE_OFFSET_HASH = HashingUtils::HashString("InvalidWriteOffset"); static const int OBJECT_ALREADY_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectAlreadyInActiveTierError"); static const int NO_SUCH_BUCKET_HASH = HashingUtils::HashString("NoSuchBucket"); static const int TOO_MANY_PARTS_HASH = HashingUtils::HashString("TooManyParts"); -static const int INVALID_REQUEST_HASH = HashingUtils::HashString("InvalidRequest"); +static const int IDEMPOTENCY_PARAMETER_MISMATCH_HASH = HashingUtils::HashString("IdempotencyParameterMismatch"); static const int NO_SUCH_KEY_HASH = HashingUtils::HashString("NoSuchKey"); static const int OBJECT_NOT_IN_ACTIVE_TIER_HASH = HashingUtils::HashString("ObjectNotInActiveTierError"); static const int BUCKET_ALREADY_EXISTS_HASH = HashingUtils::HashString("BucketAlreadyExists"); @@ -52,6 +53,10 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3Errors::ENCRYPTION_TYPE_MISMATCH), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INVALID_REQUEST_HASH) + { + return AWSError(static_cast(S3Errors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + } else if (hashCode == BUCKET_ALREADY_OWNED_BY_YOU_HASH) { return AWSError(static_cast(S3Errors::BUCKET_ALREADY_OWNED_BY_YOU), RetryableType::NOT_RETRYABLE); @@ -72,9 +77,9 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(S3Errors::TOO_MANY_PARTS), RetryableType::NOT_RETRYABLE); } - else if (hashCode == INVALID_REQUEST_HASH) + else if (hashCode == IDEMPOTENCY_PARAMETER_MISMATCH_HASH) { - return AWSError(static_cast(S3Errors::INVALID_REQUEST), RetryableType::NOT_RETRYABLE); + return AWSError(static_cast(S3Errors::IDEMPOTENCY_PARAMETER_MISMATCH), RetryableType::NOT_RETRYABLE); } else if (hashCode == NO_SUCH_KEY_HASH) { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp index 296de9a0996..7510d4ba098 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/DeleteBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void DeleteBucketIntelligentTieringConfigurationRequest::AddQueryStringParameter } } +Aws::Http::HeaderValueCollection DeleteBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} DeleteBucketIntelligentTieringConfigurationRequest::EndpointParameters DeleteBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp index ffe0fed84ae..77bb62acfea 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/GetBucketIntelligentTieringConfigurationRequest.cpp @@ -71,6 +71,19 @@ void GetBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection GetBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} GetBucketIntelligentTieringConfigurationRequest::EndpointParameters GetBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp b/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp index 33790d20a3b..0976a160180 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/HeadObjectResult.cpp @@ -282,6 +282,13 @@ HeadObjectResult& HeadObjectResult::operator =(const Aws::AmazonWebServiceResult m_partsCountHasBeenSet = true; } + const auto& tagCountIter = headers.find("x-amz-tagging-count"); + if(tagCountIter != headers.end()) + { + m_tagCount = StringUtils::ConvertToInt32(tagCountIter->second.c_str()); + m_tagCountHasBeenSet = true; + } + const auto& objectLockModeIter = headers.find("x-amz-object-lock-mode"); if(objectLockModeIter != headers.end()) { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp index 379c1f71ed3..f1f02c27fc2 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/ListBucketIntelligentTieringConfigurationsRequest.cpp @@ -71,6 +71,19 @@ void ListBucketIntelligentTieringConfigurationsRequest::AddQueryStringParameters } } +Aws::Http::HeaderValueCollection ListBucketIntelligentTieringConfigurationsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} ListBucketIntelligentTieringConfigurationsRequest::EndpointParameters ListBucketIntelligentTieringConfigurationsRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp index d603aa1416e..c4998c079d9 100644 --- a/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/model/PutBucketIntelligentTieringConfigurationRequest.cpp @@ -82,6 +82,19 @@ void PutBucketIntelligentTieringConfigurationRequest::AddQueryStringParameters(U } } +Aws::Http::HeaderValueCollection PutBucketIntelligentTieringConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_expectedBucketOwnerHasBeenSet) + { + ss << m_expectedBucketOwner; + headers.emplace("x-amz-expected-bucket-owner", ss.str()); + ss.str(""); + } + + return headers; +} PutBucketIntelligentTieringConfigurationRequest::EndpointParameters PutBucketIntelligentTieringConfigurationRequest::GetEndpointContextParams() const { diff --git a/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp new file mode 100644 index 00000000000..7b2e5b6fcc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectRequest.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws::Http; + + +Aws::String RenameObjectRequest::SerializePayload() const +{ + return {}; +} + +void RenameObjectRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(!m_customizedAccessLogTag.empty()) + { + // only accept customized LogTag which starts with "x-" + Aws::Map collectedLogTags; + for(const auto& entry: m_customizedAccessLogTag) + { + if (!entry.first.empty() && !entry.second.empty() && entry.first.substr(0, 2) == "x-") + { + collectedLogTags.emplace(entry.first, entry.second); + } + } + + if (!collectedLogTags.empty()) + { + uri.AddQueryStringParameter(collectedLogTags); + } + } +} + +Aws::Http::HeaderValueCollection RenameObjectRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + Aws::StringStream ss; + if(m_renameSourceHasBeenSet) + { + ss << m_renameSource; + headers.emplace("x-amz-rename-source", ss.str()); + ss.str(""); + } + + if(m_destinationIfMatchHasBeenSet) + { + ss << m_destinationIfMatch; + headers.emplace("if-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfNoneMatchHasBeenSet) + { + ss << m_destinationIfNoneMatch; + headers.emplace("if-none-match", ss.str()); + ss.str(""); + } + + if(m_destinationIfModifiedSinceHasBeenSet) + { + headers.emplace("if-modified-since", m_destinationIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_destinationIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("if-unmodified-since", m_destinationIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfMatchHasBeenSet) + { + ss << m_sourceIfMatch; + headers.emplace("x-amz-rename-source-if-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfNoneMatchHasBeenSet) + { + ss << m_sourceIfNoneMatch; + headers.emplace("x-amz-rename-source-if-none-match", ss.str()); + ss.str(""); + } + + if(m_sourceIfModifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-modified-since", m_sourceIfModifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_sourceIfUnmodifiedSinceHasBeenSet) + { + headers.emplace("x-amz-rename-source-if-unmodified-since", m_sourceIfUnmodifiedSince.ToGmtString(Aws::Utils::DateFormat::RFC822)); + } + + if(m_clientTokenHasBeenSet) + { + ss << m_clientToken; + headers.emplace("x-amz-client-token", ss.str()); + ss.str(""); + } + + return headers; +} + +RenameObjectRequest::EndpointParameters RenameObjectRequest::GetEndpointContextParams() const +{ + EndpointParameters parameters; + // Operation context parameters + if (BucketHasBeenSet()) { + parameters.emplace_back(Aws::String("Bucket"), this->GetBucket(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + if (KeyHasBeenSet()) { + parameters.emplace_back(Aws::String("Key"), this->GetKey(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); + } + return parameters; +} diff --git a/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp new file mode 100644 index 00000000000..dbfb74aef61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3/source/model/RenameObjectResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::S3::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; +using namespace Aws; + +RenameObjectResult::RenameObjectResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +RenameObjectResult& RenameObjectResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode resultNode = xmlDocument.GetRootElement(); + + if(!resultNode.IsNull()) + { + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amz-request-id"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h index 33446ca2fa9..81f3959201c 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h @@ -583,9 +583,12 @@ namespace S3Tables * information, see S3 * Tables maintenance in the Amazon Simple Storage Service User - * Guide.

                                  Permissions

                                  You must have the + * Guide.

                                  Permissions
                                  • You must have the * s3tables:GetTableMaintenanceConfiguration permission to use this - * operation.

                                  See Also:

                                • You must have the + * s3tables:GetTableData permission to use set the compaction strategy + * to sort or zorder.

                                + *

                                See Also:

                                AWS * API Reference

                                */ diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h index 74d97b54dcc..5156caad263 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionSettings.h @@ -5,6 +5,8 @@ #pragma once #include +#include +#include namespace Aws { @@ -45,10 +47,24 @@ namespace Model inline void SetTargetFileSizeMB(int value) { m_targetFileSizeMBHasBeenSet = true; m_targetFileSizeMB = value; } inline IcebergCompactionSettings& WithTargetFileSizeMB(int value) { SetTargetFileSizeMB(value); return *this;} ///@} + + ///@{ + /** + *

                                The compaction strategy to use for the table. This determines how files are + * selected and combined during compaction operations.

                                + */ + inline IcebergCompactionStrategy GetStrategy() const { return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(IcebergCompactionStrategy value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline IcebergCompactionSettings& WithStrategy(IcebergCompactionStrategy value) { SetStrategy(value); return *this;} + ///@} private: int m_targetFileSizeMB{0}; bool m_targetFileSizeMBHasBeenSet = false; + + IcebergCompactionStrategy m_strategy{IcebergCompactionStrategy::NOT_SET}; + bool m_strategyHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h new file mode 100644 index 00000000000..c28cb3a6e90 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/model/IcebergCompactionStrategy.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace S3Tables +{ +namespace Model +{ + enum class IcebergCompactionStrategy + { + NOT_SET, + auto_, + binpack, + sort, + z_order + }; + +namespace IcebergCompactionStrategyMapper +{ +AWS_S3TABLES_API IcebergCompactionStrategy GetIcebergCompactionStrategyForName(const Aws::String& name); + +AWS_S3TABLES_API Aws::String GetNameForIcebergCompactionStrategy(IcebergCompactionStrategy value); +} // namespace IcebergCompactionStrategyMapper +} // namespace Model +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp index 3423fc4669c..6fb04096d95 100644 --- a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionSettings.cpp @@ -30,6 +30,11 @@ IcebergCompactionSettings& IcebergCompactionSettings::operator =(JsonView jsonVa m_targetFileSizeMB = jsonValue.GetInteger("targetFileSizeMB"); m_targetFileSizeMBHasBeenSet = true; } + if(jsonValue.ValueExists("strategy")) + { + m_strategy = IcebergCompactionStrategyMapper::GetIcebergCompactionStrategyForName(jsonValue.GetString("strategy")); + m_strategyHasBeenSet = true; + } return *this; } @@ -43,6 +48,11 @@ JsonValue IcebergCompactionSettings::Jsonize() const } + if(m_strategyHasBeenSet) + { + payload.WithString("strategy", IcebergCompactionStrategyMapper::GetNameForIcebergCompactionStrategy(m_strategy)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp new file mode 100644 index 00000000000..0833bb90551 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/model/IcebergCompactionStrategy.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace S3Tables + { + namespace Model + { + namespace IcebergCompactionStrategyMapper + { + + static const int auto__HASH = HashingUtils::HashString("auto"); + static const int binpack_HASH = HashingUtils::HashString("binpack"); + static const int sort_HASH = HashingUtils::HashString("sort"); + static const int z_order_HASH = HashingUtils::HashString("z-order"); + + + IcebergCompactionStrategy GetIcebergCompactionStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == auto__HASH) + { + return IcebergCompactionStrategy::auto_; + } + else if (hashCode == binpack_HASH) + { + return IcebergCompactionStrategy::binpack; + } + else if (hashCode == sort_HASH) + { + return IcebergCompactionStrategy::sort; + } + else if (hashCode == z_order_HASH) + { + return IcebergCompactionStrategy::z_order; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IcebergCompactionStrategy::NOT_SET; + } + + Aws::String GetNameForIcebergCompactionStrategy(IcebergCompactionStrategy enumValue) + { + switch(enumValue) + { + case IcebergCompactionStrategy::NOT_SET: + return {}; + case IcebergCompactionStrategy::auto_: + return "auto"; + case IcebergCompactionStrategy::binpack: + return "binpack"; + case IcebergCompactionStrategy::sort: + return "sort"; + case IcebergCompactionStrategy::z_order: + return "z-order"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IcebergCompactionStrategyMapper + } // namespace Model + } // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h new file mode 100644 index 00000000000..e7f980a345d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnCreateTemplateProvider.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                The CloudFormation template provider configuration for creating + * infrastructure resources.

                                See Also:

                                AWS + * API Reference

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

                                A unique identifier for the template within the project.

                                + */ + inline const Aws::String& GetTemplateName() const { return m_templateName; } + inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } + template + void SetTemplateName(TemplateNameT&& value) { m_templateNameHasBeenSet = true; m_templateName = std::forward(value); } + template + CfnCreateTemplateProvider& WithTemplateName(TemplateNameT&& value) { SetTemplateName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon S3 URL of the CloudFormation template.

                                + */ + inline const Aws::String& GetTemplateURL() const { return m_templateURL; } + inline bool TemplateURLHasBeenSet() const { return m_templateURLHasBeenSet; } + template + void SetTemplateURL(TemplateURLT&& value) { m_templateURLHasBeenSet = true; m_templateURL = std::forward(value); } + template + CfnCreateTemplateProvider& WithTemplateURL(TemplateURLT&& value) { SetTemplateURL(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The IAM role that CloudFormation assumes when creating the stack.

                                + */ + inline const Aws::String& GetRoleARN() const { return m_roleARN; } + inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } + template + void SetRoleARN(RoleARNT&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::forward(value); } + template + CfnCreateTemplateProvider& WithRoleARN(RoleARNT&& value) { SetRoleARN(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                An array of CloudFormation stack parameters.

                                + */ + inline const Aws::Vector& GetParameters() const { return m_parameters; } + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + template> + void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward(value); } + template> + CfnCreateTemplateProvider& WithParameters(ParametersT&& value) { SetParameters(std::forward(value)); return *this;} + template + CfnCreateTemplateProvider& AddParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_templateName; + bool m_templateNameHasBeenSet = false; + + Aws::String m_templateURL; + bool m_templateURLHasBeenSet = false; + + Aws::String m_roleARN; + bool m_roleARNHasBeenSet = false; + + Aws::Vector m_parameters; + bool m_parametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h new file mode 100644 index 00000000000..6c9515885d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackCreateParameter.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                A key-value pair that represents a parameter for the CloudFormation stack. + *

                                See Also:

                                AWS + * API Reference

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

                                The name of the CloudFormation parameter.

                                + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + CfnStackCreateParameter& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The value of the CloudFormation parameter.

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

                                Details about the CloudFormation stack.

                                See Also:

                                AWS + * API Reference

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

                                The name of the CloudFormation stack.

                                + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CfnStackDetail& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The unique identifier of the CloudFormation stack.

                                + */ + inline const Aws::String& GetId() const { return m_id; } + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + template + void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward(value); } + template + CfnStackDetail& WithId(IdT&& value) { SetId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                A human-readable message about the stack's current status.

                                + */ + inline const Aws::String& GetStatusMessage() const { return m_statusMessage; } + inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } + template + void SetStatusMessage(StatusMessageT&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::forward(value); } + template + CfnStackDetail& WithStatusMessage(StatusMessageT&& value) { SetStatusMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_statusMessage; + bool m_statusMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h new file mode 100644 index 00000000000..91492e2bcbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnStackParameter.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                A key-value pair representing a parameter used in the CloudFormation stack. + *

                                See Also:

                                AWS + * API Reference

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

                                The name of the CloudFormation parameter.

                                + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + CfnStackParameter& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The value of the CloudFormation parameter.

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

                                A key-value pair representing a parameter used in the CloudFormation stack. + *

                                See Also:

                                AWS + * API Reference

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

                                The name of the CloudFormation parameter.

                                + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + CfnStackUpdateParameter& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The value of the CloudFormation parameter.

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

                                Details about a CloudFormation template provider configuration and + * associated provisioning information.

                                See Also:

                                AWS + * API Reference

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

                                The unique identifier of the template within the project.

                                + */ + inline const Aws::String& GetTemplateName() const { return m_templateName; } + inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } + template + void SetTemplateName(TemplateNameT&& value) { m_templateNameHasBeenSet = true; m_templateName = std::forward(value); } + template + CfnTemplateProviderDetail& WithTemplateName(TemplateNameT&& value) { SetTemplateName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon S3 URL of the CloudFormation template.

                                + */ + inline const Aws::String& GetTemplateURL() const { return m_templateURL; } + inline bool TemplateURLHasBeenSet() const { return m_templateURLHasBeenSet; } + template + void SetTemplateURL(TemplateURLT&& value) { m_templateURLHasBeenSet = true; m_templateURL = std::forward(value); } + template + CfnTemplateProviderDetail& WithTemplateURL(TemplateURLT&& value) { SetTemplateURL(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The IAM role used by CloudFormation to create the stack.

                                + */ + inline const Aws::String& GetRoleARN() const { return m_roleARN; } + inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } + template + void SetRoleARN(RoleARNT&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::forward(value); } + template + CfnTemplateProviderDetail& WithRoleARN(RoleARNT&& value) { SetRoleARN(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                An array of CloudFormation stack parameters.

                                + */ + inline const Aws::Vector& GetParameters() const { return m_parameters; } + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + template> + void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward(value); } + template> + CfnTemplateProviderDetail& WithParameters(ParametersT&& value) { SetParameters(std::forward(value)); return *this;} + template + CfnTemplateProviderDetail& AddParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Information about the CloudFormation stack created by the template provider. + *

                                + */ + inline const CfnStackDetail& GetStackDetail() const { return m_stackDetail; } + inline bool StackDetailHasBeenSet() const { return m_stackDetailHasBeenSet; } + template + void SetStackDetail(StackDetailT&& value) { m_stackDetailHasBeenSet = true; m_stackDetail = std::forward(value); } + template + CfnTemplateProviderDetail& WithStackDetail(StackDetailT&& value) { SetStackDetail(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_templateName; + bool m_templateNameHasBeenSet = false; + + Aws::String m_templateURL; + bool m_templateURLHasBeenSet = false; + + Aws::String m_roleARN; + bool m_roleARNHasBeenSet = false; + + Aws::Vector m_parameters; + bool m_parametersHasBeenSet = false; + + CfnStackDetail m_stackDetail; + bool m_stackDetailHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h new file mode 100644 index 00000000000..b8414491aa9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CfnUpdateTemplateProvider.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                Contains configuration details for updating an existing CloudFormation + * template provider in the project.

                                See Also:

                                AWS + * API Reference

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

                                The unique identifier of the template to update within the project.

                                + */ + inline const Aws::String& GetTemplateName() const { return m_templateName; } + inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } + template + void SetTemplateName(TemplateNameT&& value) { m_templateNameHasBeenSet = true; m_templateName = std::forward(value); } + template + CfnUpdateTemplateProvider& WithTemplateName(TemplateNameT&& value) { SetTemplateName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon S3 URL of the CloudFormation template.

                                + */ + inline const Aws::String& GetTemplateURL() const { return m_templateURL; } + inline bool TemplateURLHasBeenSet() const { return m_templateURLHasBeenSet; } + template + void SetTemplateURL(TemplateURLT&& value) { m_templateURLHasBeenSet = true; m_templateURL = std::forward(value); } + template + CfnUpdateTemplateProvider& WithTemplateURL(TemplateURLT&& value) { SetTemplateURL(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                An array of CloudFormation stack parameters.

                                + */ + inline const Aws::Vector& GetParameters() const { return m_parameters; } + inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } + template> + void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward(value); } + template> + CfnUpdateTemplateProvider& WithParameters(ParametersT&& value) { SetParameters(std::forward(value)); return *this;} + template + CfnUpdateTemplateProvider& AddParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_templateName; + bool m_templateNameHasBeenSet = false; + + Aws::String m_templateURL; + bool m_templateURLHasBeenSet = false; + + Aws::Vector m_parameters; + bool m_parametersHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h index 3bba76cba2f..2768c7acc34 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ClusterInstanceType.h @@ -74,6 +74,7 @@ namespace Model ml_g6e_48xlarge, ml_p5e_48xlarge, ml_p5en_48xlarge, + ml_p6_b200_48xlarge, ml_trn2_48xlarge, ml_c6i_large, ml_c6i_xlarge, diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h index 43a191e6ea1..2986e6d042e 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateProjectRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -95,6 +96,21 @@ namespace Model template CreateProjectRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                                An array of template provider configurations for creating infrastructure + * resources for the project.

                                + */ + inline const Aws::Vector& GetTemplateProviders() const { return m_templateProviders; } + inline bool TemplateProvidersHasBeenSet() const { return m_templateProvidersHasBeenSet; } + template> + void SetTemplateProviders(TemplateProvidersT&& value) { m_templateProvidersHasBeenSet = true; m_templateProviders = std::forward(value); } + template> + CreateProjectRequest& WithTemplateProviders(TemplateProvidersT&& value) { SetTemplateProviders(std::forward(value)); return *this;} + template + CreateProjectRequest& AddTemplateProviders(TemplateProvidersT&& value) { m_templateProvidersHasBeenSet = true; m_templateProviders.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_projectName; @@ -108,6 +124,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + Aws::Vector m_templateProviders; + bool m_templateProvidersHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h new file mode 100644 index 00000000000..dc9c82a7810 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateTemplateProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                Contains configuration details for a template provider. Only one type of + * template provider can be specified.

                                See Also:

                                AWS + * API Reference

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

                                The CloudFormation template provider configuration for creating + * infrastructure resources.

                                + */ + inline const CfnCreateTemplateProvider& GetCfnTemplateProvider() const { return m_cfnTemplateProvider; } + inline bool CfnTemplateProviderHasBeenSet() const { return m_cfnTemplateProviderHasBeenSet; } + template + void SetCfnTemplateProvider(CfnTemplateProviderT&& value) { m_cfnTemplateProviderHasBeenSet = true; m_cfnTemplateProvider = std::forward(value); } + template + CreateTemplateProvider& WithCfnTemplateProvider(CfnTemplateProviderT&& value) { SetCfnTemplateProvider(std::forward(value)); return *this;} + ///@} + private: + + CfnCreateTemplateProvider m_cfnTemplateProvider; + bool m_cfnTemplateProviderHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h index 7fc163da599..dfe7ea145c9 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeProjectResult.h @@ -9,8 +9,10 @@ #include #include #include +#include #include #include +#include #include namespace Aws @@ -115,6 +117,19 @@ namespace Model inline DescribeProjectResult& WithProjectStatus(ProjectStatus value) { SetProjectStatus(value); return *this;} ///@} + ///@{ + /** + *

                                An array of template providers associated with the project.

                                + */ + inline const Aws::Vector& GetTemplateProviderDetails() const { return m_templateProviderDetails; } + template> + void SetTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails = std::forward(value); } + template> + DescribeProjectResult& WithTemplateProviderDetails(TemplateProviderDetailsT&& value) { SetTemplateProviderDetails(std::forward(value)); return *this;} + template + DescribeProjectResult& AddTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ inline const UserContext& GetCreatedBy() const { return m_createdBy; } @@ -186,6 +201,9 @@ namespace Model ProjectStatus m_projectStatus{ProjectStatus::NOT_SET}; bool m_projectStatusHasBeenSet = false; + Aws::Vector m_templateProviderDetails; + bool m_templateProviderDetailsHasBeenSet = false; + UserContext m_createdBy; bool m_createdByHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProcessingInstanceType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProcessingInstanceType.h index 39f4114b790..8cb32dd5c1f 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProcessingInstanceType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProcessingInstanceType.h @@ -108,7 +108,34 @@ namespace Model ml_c6i_12xlarge, ml_c6i_16xlarge, ml_c6i_24xlarge, - ml_c6i_32xlarge + ml_c6i_32xlarge, + ml_m7i_large, + ml_m7i_xlarge, + ml_m7i_2xlarge, + ml_m7i_4xlarge, + ml_m7i_8xlarge, + ml_m7i_12xlarge, + ml_m7i_16xlarge, + ml_m7i_24xlarge, + ml_m7i_48xlarge, + ml_c7i_large, + ml_c7i_xlarge, + ml_c7i_2xlarge, + ml_c7i_4xlarge, + ml_c7i_8xlarge, + ml_c7i_12xlarge, + ml_c7i_16xlarge, + ml_c7i_24xlarge, + ml_c7i_48xlarge, + ml_r7i_large, + ml_r7i_xlarge, + ml_r7i_2xlarge, + ml_r7i_4xlarge, + ml_r7i_8xlarge, + ml_r7i_12xlarge, + ml_r7i_16xlarge, + ml_r7i_24xlarge, + ml_r7i_48xlarge }; namespace ProcessingInstanceTypeMapper diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProductionVariantInstanceType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProductionVariantInstanceType.h index a16dade836f..b8923c36510 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProductionVariantInstanceType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ProductionVariantInstanceType.h @@ -239,7 +239,46 @@ namespace Model ml_r7i_12xlarge, ml_r7i_16xlarge, ml_r7i_24xlarge, - ml_r7i_48xlarge + ml_r7i_48xlarge, + ml_c8g_medium, + ml_c8g_large, + ml_c8g_xlarge, + ml_c8g_2xlarge, + ml_c8g_4xlarge, + ml_c8g_8xlarge, + ml_c8g_12xlarge, + ml_c8g_16xlarge, + ml_c8g_24xlarge, + ml_c8g_48xlarge, + ml_r7gd_medium, + ml_r7gd_large, + ml_r7gd_xlarge, + ml_r7gd_2xlarge, + ml_r7gd_4xlarge, + ml_r7gd_8xlarge, + ml_r7gd_12xlarge, + ml_r7gd_16xlarge, + ml_m8g_medium, + ml_m8g_large, + ml_m8g_xlarge, + ml_m8g_2xlarge, + ml_m8g_4xlarge, + ml_m8g_8xlarge, + ml_m8g_12xlarge, + ml_m8g_16xlarge, + ml_m8g_24xlarge, + ml_m8g_48xlarge, + ml_c6in_large, + ml_c6in_xlarge, + ml_c6in_2xlarge, + ml_c6in_4xlarge, + ml_c6in_8xlarge, + ml_c6in_12xlarge, + ml_c6in_16xlarge, + ml_c6in_24xlarge, + ml_c6in_32xlarge, + ml_p6_b200_48xlarge, + ml_p6e_gb200_36xlarge }; namespace ProductionVariantInstanceTypeMapper diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h index 143436f81ae..64de6d3738a 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/Project.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -147,6 +148,20 @@ namespace Model Project& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                An array of template providers associated with the project.

                                + */ + inline const Aws::Vector& GetTemplateProviderDetails() const { return m_templateProviderDetails; } + inline bool TemplateProviderDetailsHasBeenSet() const { return m_templateProviderDetailsHasBeenSet; } + template> + void SetTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails = std::forward(value); } + template> + Project& WithTemplateProviderDetails(TemplateProviderDetailsT&& value) { SetTemplateProviderDetails(std::forward(value)); return *this;} + template + Project& AddTemplateProviderDetails(TemplateProviderDetailsT&& value) { m_templateProviderDetailsHasBeenSet = true; m_templateProviderDetails.emplace_back(std::forward(value)); return *this; } + ///@} + ///@{ /** *

                                An array of key-value pairs. You can use tags to categorize your Amazon Web @@ -215,6 +230,9 @@ namespace Model Aws::Utils::DateTime m_creationTime{}; bool m_creationTimeHasBeenSet = false; + Aws::Vector m_templateProviderDetails; + bool m_templateProviderDetailsHasBeenSet = false; + Aws::Vector m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h index 4ffd4c7fa6a..b2a84009586 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ResourceConfig.h @@ -44,20 +44,7 @@ namespace Model ///@{ /** - *

                                The ML compute instance type.

                                SageMaker Training on Amazon - * Elastic Compute Cloud (EC2) P4de instances is in preview release starting - * December 9th, 2022.

                                Amazon EC2 P4de - * instances (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB - * high-performance HBM2e GPU memory, which accelerate the speed of training ML - * models that need to be trained on large datasets of high-resolution data. In - * this preview release, Amazon SageMaker supports ML training jobs on P4de - * instances (ml.p4de.24xlarge) to reduce model training time. The - * ml.p4de.24xlarge instances are available in the following Amazon - * Web Services Regions.

                                • US East (N. Virginia) (us-east-1)

                                  - *
                                • US West (Oregon) (us-west-2)

                                To request quota - * limit increase and start using P4de instances, contact the SageMaker Training - * service team through your account team.

                                + *

                                The ML compute instance type.

                                */ inline TrainingInstanceType GetInstanceType() const { return m_instanceType; } inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataSource.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataSource.h index f9d15960ffa..cd2e53126a4 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataSource.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataSource.h @@ -54,7 +54,11 @@ namespace Model * identifies an object that is an augmented manifest file in JSON lines format. * This file contains the data you want to use for model training. * AugmentedManifestFile can only be used if the Channel's input mode - * is Pipe.

                                + * is Pipe.

                                If you choose Converse, + * S3Uri identifies an Amazon S3 location that contains data formatted + * according to Converse format. This format structures conversational messages + * with specific roles and content types used for training and fine-tuning + * foundational models.

                                */ inline S3DataType GetS3DataType() const { return m_s3DataType; } inline bool S3DataTypeHasBeenSet() const { return m_s3DataTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataType.h index e3c90a03250..0397f36f05e 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/S3DataType.h @@ -18,7 +18,8 @@ namespace Model NOT_SET, ManifestFile, S3Prefix, - AugmentedManifestFile + AugmentedManifestFile, + Converse }; namespace S3DataTypeMapper diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h new file mode 100644 index 00000000000..22220e2880b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TemplateProviderDetail.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                Details about a template provider configuration and associated provisioning + * information.

                                See Also:

                                AWS + * API Reference

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

                                Details about a CloudFormation template provider configuration and + * associated provisioning information.

                                + */ + inline const CfnTemplateProviderDetail& GetCfnTemplateProviderDetail() const { return m_cfnTemplateProviderDetail; } + inline bool CfnTemplateProviderDetailHasBeenSet() const { return m_cfnTemplateProviderDetailHasBeenSet; } + template + void SetCfnTemplateProviderDetail(CfnTemplateProviderDetailT&& value) { m_cfnTemplateProviderDetailHasBeenSet = true; m_cfnTemplateProviderDetail = std::forward(value); } + template + TemplateProviderDetail& WithCfnTemplateProviderDetail(CfnTemplateProviderDetailT&& value) { SetCfnTemplateProviderDetail(std::forward(value)); return *this;} + ///@} + private: + + CfnTemplateProviderDetail m_cfnTemplateProviderDetail; + bool m_cfnTemplateProviderDetailHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h index 88e093a0f44..78e69b87ddf 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h @@ -124,7 +124,34 @@ namespace Model ml_r5_12xlarge, ml_r5_16xlarge, ml_r5_24xlarge, - ml_p6_b200_48xlarge + ml_p6_b200_48xlarge, + ml_m7i_large, + ml_m7i_xlarge, + ml_m7i_2xlarge, + ml_m7i_4xlarge, + ml_m7i_8xlarge, + ml_m7i_12xlarge, + ml_m7i_16xlarge, + ml_m7i_24xlarge, + ml_m7i_48xlarge, + ml_c7i_large, + ml_c7i_xlarge, + ml_c7i_2xlarge, + ml_c7i_4xlarge, + ml_c7i_8xlarge, + ml_c7i_12xlarge, + ml_c7i_16xlarge, + ml_c7i_24xlarge, + ml_c7i_48xlarge, + ml_r7i_large, + ml_r7i_xlarge, + ml_r7i_2xlarge, + ml_r7i_4xlarge, + ml_r7i_8xlarge, + ml_r7i_12xlarge, + ml_r7i_16xlarge, + ml_r7i_24xlarge, + ml_r7i_48xlarge }; namespace TrainingInstanceTypeMapper diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h index c7a7eec274b..f41c7def21b 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateProjectRequest.h @@ -10,6 +10,7 @@ #include #include #include +#include #include namespace Aws @@ -99,6 +100,20 @@ namespace Model template UpdateProjectRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } ///@} + + ///@{ + /** + *

                                The template providers to update in the project.

                                + */ + inline const Aws::Vector& GetTemplateProvidersToUpdate() const { return m_templateProvidersToUpdate; } + inline bool TemplateProvidersToUpdateHasBeenSet() const { return m_templateProvidersToUpdateHasBeenSet; } + template> + void SetTemplateProvidersToUpdate(TemplateProvidersToUpdateT&& value) { m_templateProvidersToUpdateHasBeenSet = true; m_templateProvidersToUpdate = std::forward(value); } + template> + UpdateProjectRequest& WithTemplateProvidersToUpdate(TemplateProvidersToUpdateT&& value) { SetTemplateProvidersToUpdate(std::forward(value)); return *this;} + template + UpdateProjectRequest& AddTemplateProvidersToUpdate(TemplateProvidersToUpdateT&& value) { m_templateProvidersToUpdateHasBeenSet = true; m_templateProvidersToUpdate.emplace_back(std::forward(value)); return *this; } + ///@} private: Aws::String m_projectName; @@ -112,6 +127,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + Aws::Vector m_templateProvidersToUpdate; + bool m_templateProvidersToUpdateHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h new file mode 100644 index 00000000000..b4b9dbb222d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateTemplateProvider.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

                                Contains configuration details for updating an existing template provider in + * the project.

                                See Also:

                                AWS + * API Reference

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

                                The CloudFormation template provider configuration to update.

                                + */ + inline const CfnUpdateTemplateProvider& GetCfnTemplateProvider() const { return m_cfnTemplateProvider; } + inline bool CfnTemplateProviderHasBeenSet() const { return m_cfnTemplateProviderHasBeenSet; } + template + void SetCfnTemplateProvider(CfnTemplateProviderT&& value) { m_cfnTemplateProviderHasBeenSet = true; m_cfnTemplateProvider = std::forward(value); } + template + UpdateTemplateProvider& WithCfnTemplateProvider(CfnTemplateProviderT&& value) { SetCfnTemplateProvider(std::forward(value)); return *this;} + ///@} + private: + + CfnUpdateTemplateProvider m_cfnTemplateProvider; + bool m_cfnTemplateProviderHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp new file mode 100644 index 00000000000..04d7db0ef51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnCreateTemplateProvider.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnCreateTemplateProvider::CfnCreateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnCreateTemplateProvider& CfnCreateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TemplateName")) + { + m_templateName = jsonValue.GetString("TemplateName"); + m_templateNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TemplateURL")) + { + m_templateURL = jsonValue.GetString("TemplateURL"); + m_templateURLHasBeenSet = true; + } + if(jsonValue.ValueExists("RoleARN")) + { + m_roleARN = jsonValue.GetString("RoleARN"); + m_roleARNHasBeenSet = true; + } + if(jsonValue.ValueExists("Parameters")) + { + Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); + } + m_parametersHasBeenSet = true; + } + return *this; +} + +JsonValue CfnCreateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_templateNameHasBeenSet) + { + payload.WithString("TemplateName", m_templateName); + + } + + if(m_templateURLHasBeenSet) + { + payload.WithString("TemplateURL", m_templateURL); + + } + + if(m_roleARNHasBeenSet) + { + payload.WithString("RoleARN", m_roleARN); + + } + + if(m_parametersHasBeenSet) + { + Aws::Utils::Array parametersJsonList(m_parameters.size()); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); + } + payload.WithArray("Parameters", std::move(parametersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp new file mode 100644 index 00000000000..59b2ef02000 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackCreateParameter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackCreateParameter::CfnStackCreateParameter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackCreateParameter& CfnStackCreateParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackCreateParameter::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.cpp new file mode 100644 index 00000000000..b31b334518d --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackDetail.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 SageMaker +{ +namespace Model +{ + +CfnStackDetail::CfnStackDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackDetail& CfnStackDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + m_idHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusMessage")) + { + m_statusMessage = jsonValue.GetString("StatusMessage"); + m_statusMessageHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackDetail::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_statusMessageHasBeenSet) + { + payload.WithString("StatusMessage", m_statusMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp new file mode 100644 index 00000000000..a8106502740 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackParameter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackParameter::CfnStackParameter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackParameter& CfnStackParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackParameter::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp new file mode 100644 index 00000000000..d619b03bb81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnStackUpdateParameter.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnStackUpdateParameter::CfnStackUpdateParameter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnStackUpdateParameter& CfnStackUpdateParameter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue CfnStackUpdateParameter::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp new file mode 100644 index 00000000000..6d32622d02f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnTemplateProviderDetail.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnTemplateProviderDetail::CfnTemplateProviderDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnTemplateProviderDetail& CfnTemplateProviderDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TemplateName")) + { + m_templateName = jsonValue.GetString("TemplateName"); + m_templateNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TemplateURL")) + { + m_templateURL = jsonValue.GetString("TemplateURL"); + m_templateURLHasBeenSet = true; + } + if(jsonValue.ValueExists("RoleARN")) + { + m_roleARN = jsonValue.GetString("RoleARN"); + m_roleARNHasBeenSet = true; + } + if(jsonValue.ValueExists("Parameters")) + { + Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); + } + m_parametersHasBeenSet = true; + } + if(jsonValue.ValueExists("StackDetail")) + { + m_stackDetail = jsonValue.GetObject("StackDetail"); + m_stackDetailHasBeenSet = true; + } + return *this; +} + +JsonValue CfnTemplateProviderDetail::Jsonize() const +{ + JsonValue payload; + + if(m_templateNameHasBeenSet) + { + payload.WithString("TemplateName", m_templateName); + + } + + if(m_templateURLHasBeenSet) + { + payload.WithString("TemplateURL", m_templateURL); + + } + + if(m_roleARNHasBeenSet) + { + payload.WithString("RoleARN", m_roleARN); + + } + + if(m_parametersHasBeenSet) + { + Aws::Utils::Array parametersJsonList(m_parameters.size()); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); + } + payload.WithArray("Parameters", std::move(parametersJsonList)); + + } + + if(m_stackDetailHasBeenSet) + { + payload.WithObject("StackDetail", m_stackDetail.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp new file mode 100644 index 00000000000..55ceae3a341 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CfnUpdateTemplateProvider.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CfnUpdateTemplateProvider::CfnUpdateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +CfnUpdateTemplateProvider& CfnUpdateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TemplateName")) + { + m_templateName = jsonValue.GetString("TemplateName"); + m_templateNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TemplateURL")) + { + m_templateURL = jsonValue.GetString("TemplateURL"); + m_templateURLHasBeenSet = true; + } + if(jsonValue.ValueExists("Parameters")) + { + Aws::Utils::Array parametersJsonList = jsonValue.GetArray("Parameters"); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + m_parameters.push_back(parametersJsonList[parametersIndex].AsObject()); + } + m_parametersHasBeenSet = true; + } + return *this; +} + +JsonValue CfnUpdateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_templateNameHasBeenSet) + { + payload.WithString("TemplateName", m_templateName); + + } + + if(m_templateURLHasBeenSet) + { + payload.WithString("TemplateURL", m_templateURL); + + } + + if(m_parametersHasBeenSet) + { + Aws::Utils::Array parametersJsonList(m_parameters.size()); + for(unsigned parametersIndex = 0; parametersIndex < parametersJsonList.GetLength(); ++parametersIndex) + { + parametersJsonList[parametersIndex].AsObject(m_parameters[parametersIndex].Jsonize()); + } + payload.WithArray("Parameters", std::move(parametersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp index acae0f03b68..389d8c2cb4c 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ClusterInstanceType.cpp @@ -78,6 +78,7 @@ namespace Aws static const int ml_g6e_48xlarge_HASH = HashingUtils::HashString("ml.g6e.48xlarge"); static const int ml_p5e_48xlarge_HASH = HashingUtils::HashString("ml.p5e.48xlarge"); static const int ml_p5en_48xlarge_HASH = HashingUtils::HashString("ml.p5en.48xlarge"); + static const int ml_p6_b200_48xlarge_HASH = HashingUtils::HashString("ml.p6-b200.48xlarge"); static const int ml_trn2_48xlarge_HASH = HashingUtils::HashString("ml.trn2.48xlarge"); static const int ml_c6i_large_HASH = HashingUtils::HashString("ml.c6i.large"); static const int ml_c6i_xlarge_HASH = HashingUtils::HashString("ml.c6i.xlarge"); @@ -368,6 +369,10 @@ namespace Aws { return ClusterInstanceType::ml_p5en_48xlarge; } + else if (hashCode == ml_p6_b200_48xlarge_HASH) + { + return ClusterInstanceType::ml_p6_b200_48xlarge; + } else if (hashCode == ml_trn2_48xlarge_HASH) { return ClusterInstanceType::ml_trn2_48xlarge; @@ -712,6 +717,8 @@ namespace Aws return "ml.p5e.48xlarge"; case ClusterInstanceType::ml_p5en_48xlarge: return "ml.p5en.48xlarge"; + case ClusterInstanceType::ml_p6_b200_48xlarge: + return "ml.p6-b200.48xlarge"; case ClusterInstanceType::ml_trn2_48xlarge: return "ml.trn2.48xlarge"; case ClusterInstanceType::ml_c6i_large: diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp index 07a983d0676..f74db84c899 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateProjectRequest.cpp @@ -45,6 +45,17 @@ Aws::String CreateProjectRequest::SerializePayload() const } + if(m_templateProvidersHasBeenSet) + { + Aws::Utils::Array templateProvidersJsonList(m_templateProviders.size()); + for(unsigned templateProvidersIndex = 0; templateProvidersIndex < templateProvidersJsonList.GetLength(); ++templateProvidersIndex) + { + templateProvidersJsonList[templateProvidersIndex].AsObject(m_templateProviders[templateProvidersIndex].Jsonize()); + } + payload.WithArray("TemplateProviders", std::move(templateProvidersJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp new file mode 100644 index 00000000000..54ce77719f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateTemplateProvider.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +CreateTemplateProvider::CreateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +CreateTemplateProvider& CreateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CfnTemplateProvider")) + { + m_cfnTemplateProvider = jsonValue.GetObject("CfnTemplateProvider"); + m_cfnTemplateProviderHasBeenSet = true; + } + return *this; +} + +JsonValue CreateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_cfnTemplateProviderHasBeenSet) + { + payload.WithObject("CfnTemplateProvider", m_cfnTemplateProvider.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp index b95accb2928..4e3bdbfe5f2 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeProjectResult.cpp @@ -60,6 +60,15 @@ DescribeProjectResult& DescribeProjectResult::operator =(const Aws::AmazonWebSer m_projectStatus = ProjectStatusMapper::GetProjectStatusForName(jsonValue.GetString("ProjectStatus")); m_projectStatusHasBeenSet = true; } + if(jsonValue.ValueExists("TemplateProviderDetails")) + { + Aws::Utils::Array templateProviderDetailsJsonList = jsonValue.GetArray("TemplateProviderDetails"); + for(unsigned templateProviderDetailsIndex = 0; templateProviderDetailsIndex < templateProviderDetailsJsonList.GetLength(); ++templateProviderDetailsIndex) + { + m_templateProviderDetails.push_back(templateProviderDetailsJsonList[templateProviderDetailsIndex].AsObject()); + } + m_templateProviderDetailsHasBeenSet = true; + } if(jsonValue.ValueExists("CreatedBy")) { m_createdBy = jsonValue.GetObject("CreatedBy"); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ProcessingInstanceType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ProcessingInstanceType.cpp index 9a3c05ced29..186fac297a1 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/ProcessingInstanceType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ProcessingInstanceType.cpp @@ -113,6 +113,33 @@ namespace Aws static const int ml_c6i_16xlarge_HASH = HashingUtils::HashString("ml.c6i.16xlarge"); static const int ml_c6i_24xlarge_HASH = HashingUtils::HashString("ml.c6i.24xlarge"); static const int ml_c6i_32xlarge_HASH = HashingUtils::HashString("ml.c6i.32xlarge"); + static const int ml_m7i_large_HASH = HashingUtils::HashString("ml.m7i.large"); + static const int ml_m7i_xlarge_HASH = HashingUtils::HashString("ml.m7i.xlarge"); + static const int ml_m7i_2xlarge_HASH = HashingUtils::HashString("ml.m7i.2xlarge"); + static const int ml_m7i_4xlarge_HASH = HashingUtils::HashString("ml.m7i.4xlarge"); + static const int ml_m7i_8xlarge_HASH = HashingUtils::HashString("ml.m7i.8xlarge"); + static const int ml_m7i_12xlarge_HASH = HashingUtils::HashString("ml.m7i.12xlarge"); + static const int ml_m7i_16xlarge_HASH = HashingUtils::HashString("ml.m7i.16xlarge"); + static const int ml_m7i_24xlarge_HASH = HashingUtils::HashString("ml.m7i.24xlarge"); + static const int ml_m7i_48xlarge_HASH = HashingUtils::HashString("ml.m7i.48xlarge"); + static const int ml_c7i_large_HASH = HashingUtils::HashString("ml.c7i.large"); + static const int ml_c7i_xlarge_HASH = HashingUtils::HashString("ml.c7i.xlarge"); + static const int ml_c7i_2xlarge_HASH = HashingUtils::HashString("ml.c7i.2xlarge"); + static const int ml_c7i_4xlarge_HASH = HashingUtils::HashString("ml.c7i.4xlarge"); + static const int ml_c7i_8xlarge_HASH = HashingUtils::HashString("ml.c7i.8xlarge"); + static const int ml_c7i_12xlarge_HASH = HashingUtils::HashString("ml.c7i.12xlarge"); + static const int ml_c7i_16xlarge_HASH = HashingUtils::HashString("ml.c7i.16xlarge"); + static const int ml_c7i_24xlarge_HASH = HashingUtils::HashString("ml.c7i.24xlarge"); + static const int ml_c7i_48xlarge_HASH = HashingUtils::HashString("ml.c7i.48xlarge"); + static const int ml_r7i_large_HASH = HashingUtils::HashString("ml.r7i.large"); + static const int ml_r7i_xlarge_HASH = HashingUtils::HashString("ml.r7i.xlarge"); + static const int ml_r7i_2xlarge_HASH = HashingUtils::HashString("ml.r7i.2xlarge"); + static const int ml_r7i_4xlarge_HASH = HashingUtils::HashString("ml.r7i.4xlarge"); + static const int ml_r7i_8xlarge_HASH = HashingUtils::HashString("ml.r7i.8xlarge"); + static const int ml_r7i_12xlarge_HASH = HashingUtils::HashString("ml.r7i.12xlarge"); + static const int ml_r7i_16xlarge_HASH = HashingUtils::HashString("ml.r7i.16xlarge"); + static const int ml_r7i_24xlarge_HASH = HashingUtils::HashString("ml.r7i.24xlarge"); + static const int ml_r7i_48xlarge_HASH = HashingUtils::HashString("ml.r7i.48xlarge"); ProcessingInstanceType GetProcessingInstanceTypeForName(const Aws::String& name) @@ -490,6 +517,114 @@ namespace Aws { return ProcessingInstanceType::ml_c6i_32xlarge; } + else if (hashCode == ml_m7i_large_HASH) + { + return ProcessingInstanceType::ml_m7i_large; + } + else if (hashCode == ml_m7i_xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_xlarge; + } + else if (hashCode == ml_m7i_2xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_2xlarge; + } + else if (hashCode == ml_m7i_4xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_4xlarge; + } + else if (hashCode == ml_m7i_8xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_8xlarge; + } + else if (hashCode == ml_m7i_12xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_12xlarge; + } + else if (hashCode == ml_m7i_16xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_16xlarge; + } + else if (hashCode == ml_m7i_24xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_24xlarge; + } + else if (hashCode == ml_m7i_48xlarge_HASH) + { + return ProcessingInstanceType::ml_m7i_48xlarge; + } + else if (hashCode == ml_c7i_large_HASH) + { + return ProcessingInstanceType::ml_c7i_large; + } + else if (hashCode == ml_c7i_xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_xlarge; + } + else if (hashCode == ml_c7i_2xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_2xlarge; + } + else if (hashCode == ml_c7i_4xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_4xlarge; + } + else if (hashCode == ml_c7i_8xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_8xlarge; + } + else if (hashCode == ml_c7i_12xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_12xlarge; + } + else if (hashCode == ml_c7i_16xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_16xlarge; + } + else if (hashCode == ml_c7i_24xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_24xlarge; + } + else if (hashCode == ml_c7i_48xlarge_HASH) + { + return ProcessingInstanceType::ml_c7i_48xlarge; + } + else if (hashCode == ml_r7i_large_HASH) + { + return ProcessingInstanceType::ml_r7i_large; + } + else if (hashCode == ml_r7i_xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_xlarge; + } + else if (hashCode == ml_r7i_2xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_2xlarge; + } + else if (hashCode == ml_r7i_4xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_4xlarge; + } + else if (hashCode == ml_r7i_8xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_8xlarge; + } + else if (hashCode == ml_r7i_12xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_12xlarge; + } + else if (hashCode == ml_r7i_16xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_16xlarge; + } + else if (hashCode == ml_r7i_24xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_24xlarge; + } + else if (hashCode == ml_r7i_48xlarge_HASH) + { + return ProcessingInstanceType::ml_r7i_48xlarge; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -692,6 +827,60 @@ namespace Aws return "ml.c6i.24xlarge"; case ProcessingInstanceType::ml_c6i_32xlarge: return "ml.c6i.32xlarge"; + case ProcessingInstanceType::ml_m7i_large: + return "ml.m7i.large"; + case ProcessingInstanceType::ml_m7i_xlarge: + return "ml.m7i.xlarge"; + case ProcessingInstanceType::ml_m7i_2xlarge: + return "ml.m7i.2xlarge"; + case ProcessingInstanceType::ml_m7i_4xlarge: + return "ml.m7i.4xlarge"; + case ProcessingInstanceType::ml_m7i_8xlarge: + return "ml.m7i.8xlarge"; + case ProcessingInstanceType::ml_m7i_12xlarge: + return "ml.m7i.12xlarge"; + case ProcessingInstanceType::ml_m7i_16xlarge: + return "ml.m7i.16xlarge"; + case ProcessingInstanceType::ml_m7i_24xlarge: + return "ml.m7i.24xlarge"; + case ProcessingInstanceType::ml_m7i_48xlarge: + return "ml.m7i.48xlarge"; + case ProcessingInstanceType::ml_c7i_large: + return "ml.c7i.large"; + case ProcessingInstanceType::ml_c7i_xlarge: + return "ml.c7i.xlarge"; + case ProcessingInstanceType::ml_c7i_2xlarge: + return "ml.c7i.2xlarge"; + case ProcessingInstanceType::ml_c7i_4xlarge: + return "ml.c7i.4xlarge"; + case ProcessingInstanceType::ml_c7i_8xlarge: + return "ml.c7i.8xlarge"; + case ProcessingInstanceType::ml_c7i_12xlarge: + return "ml.c7i.12xlarge"; + case ProcessingInstanceType::ml_c7i_16xlarge: + return "ml.c7i.16xlarge"; + case ProcessingInstanceType::ml_c7i_24xlarge: + return "ml.c7i.24xlarge"; + case ProcessingInstanceType::ml_c7i_48xlarge: + return "ml.c7i.48xlarge"; + case ProcessingInstanceType::ml_r7i_large: + return "ml.r7i.large"; + case ProcessingInstanceType::ml_r7i_xlarge: + return "ml.r7i.xlarge"; + case ProcessingInstanceType::ml_r7i_2xlarge: + return "ml.r7i.2xlarge"; + case ProcessingInstanceType::ml_r7i_4xlarge: + return "ml.r7i.4xlarge"; + case ProcessingInstanceType::ml_r7i_8xlarge: + return "ml.r7i.8xlarge"; + case ProcessingInstanceType::ml_r7i_12xlarge: + return "ml.r7i.12xlarge"; + case ProcessingInstanceType::ml_r7i_16xlarge: + return "ml.r7i.16xlarge"; + case ProcessingInstanceType::ml_r7i_24xlarge: + return "ml.r7i.24xlarge"; + case ProcessingInstanceType::ml_r7i_48xlarge: + return "ml.r7i.48xlarge"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ProductionVariantInstanceType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ProductionVariantInstanceType.cpp index ebda423251b..d93a5a9a27d 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/ProductionVariantInstanceType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ProductionVariantInstanceType.cpp @@ -244,6 +244,45 @@ namespace Aws static const int ml_r7i_16xlarge_HASH = HashingUtils::HashString("ml.r7i.16xlarge"); static const int ml_r7i_24xlarge_HASH = HashingUtils::HashString("ml.r7i.24xlarge"); static const int ml_r7i_48xlarge_HASH = HashingUtils::HashString("ml.r7i.48xlarge"); + static const int ml_c8g_medium_HASH = HashingUtils::HashString("ml.c8g.medium"); + static const int ml_c8g_large_HASH = HashingUtils::HashString("ml.c8g.large"); + static const int ml_c8g_xlarge_HASH = HashingUtils::HashString("ml.c8g.xlarge"); + static const int ml_c8g_2xlarge_HASH = HashingUtils::HashString("ml.c8g.2xlarge"); + static const int ml_c8g_4xlarge_HASH = HashingUtils::HashString("ml.c8g.4xlarge"); + static const int ml_c8g_8xlarge_HASH = HashingUtils::HashString("ml.c8g.8xlarge"); + static const int ml_c8g_12xlarge_HASH = HashingUtils::HashString("ml.c8g.12xlarge"); + static const int ml_c8g_16xlarge_HASH = HashingUtils::HashString("ml.c8g.16xlarge"); + static const int ml_c8g_24xlarge_HASH = HashingUtils::HashString("ml.c8g.24xlarge"); + static const int ml_c8g_48xlarge_HASH = HashingUtils::HashString("ml.c8g.48xlarge"); + static const int ml_r7gd_medium_HASH = HashingUtils::HashString("ml.r7gd.medium"); + static const int ml_r7gd_large_HASH = HashingUtils::HashString("ml.r7gd.large"); + static const int ml_r7gd_xlarge_HASH = HashingUtils::HashString("ml.r7gd.xlarge"); + static const int ml_r7gd_2xlarge_HASH = HashingUtils::HashString("ml.r7gd.2xlarge"); + static const int ml_r7gd_4xlarge_HASH = HashingUtils::HashString("ml.r7gd.4xlarge"); + static const int ml_r7gd_8xlarge_HASH = HashingUtils::HashString("ml.r7gd.8xlarge"); + static const int ml_r7gd_12xlarge_HASH = HashingUtils::HashString("ml.r7gd.12xlarge"); + static const int ml_r7gd_16xlarge_HASH = HashingUtils::HashString("ml.r7gd.16xlarge"); + static const int ml_m8g_medium_HASH = HashingUtils::HashString("ml.m8g.medium"); + static const int ml_m8g_large_HASH = HashingUtils::HashString("ml.m8g.large"); + static const int ml_m8g_xlarge_HASH = HashingUtils::HashString("ml.m8g.xlarge"); + static const int ml_m8g_2xlarge_HASH = HashingUtils::HashString("ml.m8g.2xlarge"); + static const int ml_m8g_4xlarge_HASH = HashingUtils::HashString("ml.m8g.4xlarge"); + static const int ml_m8g_8xlarge_HASH = HashingUtils::HashString("ml.m8g.8xlarge"); + static const int ml_m8g_12xlarge_HASH = HashingUtils::HashString("ml.m8g.12xlarge"); + static const int ml_m8g_16xlarge_HASH = HashingUtils::HashString("ml.m8g.16xlarge"); + static const int ml_m8g_24xlarge_HASH = HashingUtils::HashString("ml.m8g.24xlarge"); + static const int ml_m8g_48xlarge_HASH = HashingUtils::HashString("ml.m8g.48xlarge"); + static const int ml_c6in_large_HASH = HashingUtils::HashString("ml.c6in.large"); + static const int ml_c6in_xlarge_HASH = HashingUtils::HashString("ml.c6in.xlarge"); + static const int ml_c6in_2xlarge_HASH = HashingUtils::HashString("ml.c6in.2xlarge"); + static const int ml_c6in_4xlarge_HASH = HashingUtils::HashString("ml.c6in.4xlarge"); + static const int ml_c6in_8xlarge_HASH = HashingUtils::HashString("ml.c6in.8xlarge"); + static const int ml_c6in_12xlarge_HASH = HashingUtils::HashString("ml.c6in.12xlarge"); + static const int ml_c6in_16xlarge_HASH = HashingUtils::HashString("ml.c6in.16xlarge"); + static const int ml_c6in_24xlarge_HASH = HashingUtils::HashString("ml.c6in.24xlarge"); + static const int ml_c6in_32xlarge_HASH = HashingUtils::HashString("ml.c6in.32xlarge"); + static const int ml_p6_b200_48xlarge_HASH = HashingUtils::HashString("ml.p6-b200.48xlarge"); + static const int ml_p6e_gb200_36xlarge_HASH = HashingUtils::HashString("ml.p6e-gb200.36xlarge"); /* The if-else chains in this file are converted into a jump table by the compiler, @@ -1376,6 +1415,205 @@ namespace Aws enumValue = ProductionVariantInstanceType::ml_r7i_48xlarge; return true; } + else if (hashCode == ml_c8g_medium_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_medium; + return true; + } + else if (hashCode == ml_c8g_large_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_large; + return true; + } + else if (hashCode == ml_c8g_xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_xlarge; + return true; + } + else if (hashCode == ml_c8g_2xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_2xlarge; + return true; + } + else if (hashCode == ml_c8g_4xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_4xlarge; + return true; + } + else if (hashCode == ml_c8g_8xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_8xlarge; + return true; + } + else if (hashCode == ml_c8g_12xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_12xlarge; + return true; + } + else if (hashCode == ml_c8g_16xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_16xlarge; + return true; + } + else if (hashCode == ml_c8g_24xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_24xlarge; + return true; + } + else if (hashCode == ml_c8g_48xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c8g_48xlarge; + return true; + } + else if (hashCode == ml_r7gd_medium_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_medium; + return true; + } + else if (hashCode == ml_r7gd_large_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_large; + return true; + } + else if (hashCode == ml_r7gd_xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_xlarge; + return true; + } + else if (hashCode == ml_r7gd_2xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_2xlarge; + return true; + } + else if (hashCode == ml_r7gd_4xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_4xlarge; + return true; + } + else if (hashCode == ml_r7gd_8xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_8xlarge; + return true; + } + else if (hashCode == ml_r7gd_12xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_12xlarge; + return true; + } + else if (hashCode == ml_r7gd_16xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_r7gd_16xlarge; + return true; + } + else if (hashCode == ml_m8g_medium_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_medium; + return true; + } + else if (hashCode == ml_m8g_large_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_large; + return true; + } + return false; + } + static bool GetEnumForNameHelper2(int hashCode, ProductionVariantInstanceType& enumValue) + { + if (hashCode == ml_m8g_xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_xlarge; + return true; + } + else if (hashCode == ml_m8g_2xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_2xlarge; + return true; + } + else if (hashCode == ml_m8g_4xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_4xlarge; + return true; + } + else if (hashCode == ml_m8g_8xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_8xlarge; + return true; + } + else if (hashCode == ml_m8g_12xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_12xlarge; + return true; + } + else if (hashCode == ml_m8g_16xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_16xlarge; + return true; + } + else if (hashCode == ml_m8g_24xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_24xlarge; + return true; + } + else if (hashCode == ml_m8g_48xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_m8g_48xlarge; + return true; + } + else if (hashCode == ml_c6in_large_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_large; + return true; + } + else if (hashCode == ml_c6in_xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_xlarge; + return true; + } + else if (hashCode == ml_c6in_2xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_2xlarge; + return true; + } + else if (hashCode == ml_c6in_4xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_4xlarge; + return true; + } + else if (hashCode == ml_c6in_8xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_8xlarge; + return true; + } + else if (hashCode == ml_c6in_12xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_12xlarge; + return true; + } + else if (hashCode == ml_c6in_16xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_16xlarge; + return true; + } + else if (hashCode == ml_c6in_24xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_24xlarge; + return true; + } + else if (hashCode == ml_c6in_32xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_c6in_32xlarge; + return true; + } + else if (hashCode == ml_p6_b200_48xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_p6_b200_48xlarge; + return true; + } + else if (hashCode == ml_p6e_gb200_36xlarge_HASH) + { + enumValue = ProductionVariantInstanceType::ml_p6e_gb200_36xlarge; + return true; + } return false; } @@ -2063,6 +2301,131 @@ namespace Aws case ProductionVariantInstanceType::ml_r7i_48xlarge: value = "ml.r7i.48xlarge"; return true; + case ProductionVariantInstanceType::ml_c8g_medium: + value = "ml.c8g.medium"; + return true; + case ProductionVariantInstanceType::ml_c8g_large: + value = "ml.c8g.large"; + return true; + case ProductionVariantInstanceType::ml_c8g_xlarge: + value = "ml.c8g.xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_2xlarge: + value = "ml.c8g.2xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_4xlarge: + value = "ml.c8g.4xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_8xlarge: + value = "ml.c8g.8xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_12xlarge: + value = "ml.c8g.12xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_16xlarge: + value = "ml.c8g.16xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_24xlarge: + value = "ml.c8g.24xlarge"; + return true; + case ProductionVariantInstanceType::ml_c8g_48xlarge: + value = "ml.c8g.48xlarge"; + return true; + case ProductionVariantInstanceType::ml_r7gd_medium: + value = "ml.r7gd.medium"; + return true; + case ProductionVariantInstanceType::ml_r7gd_large: + value = "ml.r7gd.large"; + return true; + case ProductionVariantInstanceType::ml_r7gd_xlarge: + value = "ml.r7gd.xlarge"; + return true; + case ProductionVariantInstanceType::ml_r7gd_2xlarge: + value = "ml.r7gd.2xlarge"; + return true; + case ProductionVariantInstanceType::ml_r7gd_4xlarge: + value = "ml.r7gd.4xlarge"; + return true; + case ProductionVariantInstanceType::ml_r7gd_8xlarge: + value = "ml.r7gd.8xlarge"; + return true; + case ProductionVariantInstanceType::ml_r7gd_12xlarge: + value = "ml.r7gd.12xlarge"; + return true; + case ProductionVariantInstanceType::ml_r7gd_16xlarge: + value = "ml.r7gd.16xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_medium: + value = "ml.m8g.medium"; + return true; + case ProductionVariantInstanceType::ml_m8g_large: + value = "ml.m8g.large"; + return true; + default: + return false; + } + } + static bool GetNameForEnumHelper2(ProductionVariantInstanceType enumValue, Aws::String& value) + { + switch(enumValue) + { + case ProductionVariantInstanceType::ml_m8g_xlarge: + value = "ml.m8g.xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_2xlarge: + value = "ml.m8g.2xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_4xlarge: + value = "ml.m8g.4xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_8xlarge: + value = "ml.m8g.8xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_12xlarge: + value = "ml.m8g.12xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_16xlarge: + value = "ml.m8g.16xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_24xlarge: + value = "ml.m8g.24xlarge"; + return true; + case ProductionVariantInstanceType::ml_m8g_48xlarge: + value = "ml.m8g.48xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_large: + value = "ml.c6in.large"; + return true; + case ProductionVariantInstanceType::ml_c6in_xlarge: + value = "ml.c6in.xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_2xlarge: + value = "ml.c6in.2xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_4xlarge: + value = "ml.c6in.4xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_8xlarge: + value = "ml.c6in.8xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_12xlarge: + value = "ml.c6in.12xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_16xlarge: + value = "ml.c6in.16xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_24xlarge: + value = "ml.c6in.24xlarge"; + return true; + case ProductionVariantInstanceType::ml_c6in_32xlarge: + value = "ml.c6in.32xlarge"; + return true; + case ProductionVariantInstanceType::ml_p6_b200_48xlarge: + value = "ml.p6-b200.48xlarge"; + return true; + case ProductionVariantInstanceType::ml_p6e_gb200_36xlarge: + value = "ml.p6e-gb200.36xlarge"; + return true; default: return false; } @@ -2080,6 +2443,10 @@ namespace Aws { return enumValue; } + else if (GetEnumForNameHelper2(hashCode, enumValue)) + { + return enumValue; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -2101,6 +2468,10 @@ namespace Aws { return value; } + else if (GetNameForEnumHelper2(enumValue, value)) + { + return value; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp index 6d127192316..72d2552a1bd 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/Project.cpp @@ -70,6 +70,15 @@ Project& Project::operator =(JsonView jsonValue) m_creationTime = jsonValue.GetDouble("CreationTime"); m_creationTimeHasBeenSet = true; } + if(jsonValue.ValueExists("TemplateProviderDetails")) + { + Aws::Utils::Array templateProviderDetailsJsonList = jsonValue.GetArray("TemplateProviderDetails"); + for(unsigned templateProviderDetailsIndex = 0; templateProviderDetailsIndex < templateProviderDetailsJsonList.GetLength(); ++templateProviderDetailsIndex) + { + m_templateProviderDetails.push_back(templateProviderDetailsJsonList[templateProviderDetailsIndex].AsObject()); + } + m_templateProviderDetailsHasBeenSet = true; + } if(jsonValue.ValueExists("Tags")) { Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); @@ -148,6 +157,17 @@ JsonValue Project::Jsonize() const payload.WithDouble("CreationTime", m_creationTime.SecondsWithMSPrecision()); } + if(m_templateProviderDetailsHasBeenSet) + { + Aws::Utils::Array templateProviderDetailsJsonList(m_templateProviderDetails.size()); + for(unsigned templateProviderDetailsIndex = 0; templateProviderDetailsIndex < templateProviderDetailsJsonList.GetLength(); ++templateProviderDetailsIndex) + { + templateProviderDetailsJsonList[templateProviderDetailsIndex].AsObject(m_templateProviderDetails[templateProviderDetailsIndex].Jsonize()); + } + payload.WithArray("TemplateProviderDetails", std::move(templateProviderDetailsJsonList)); + + } + if(m_tagsHasBeenSet) { Aws::Utils::Array tagsJsonList(m_tags.size()); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/S3DataType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/S3DataType.cpp index 81cb904cf08..a56d8ffccab 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/S3DataType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/S3DataType.cpp @@ -23,6 +23,7 @@ namespace Aws static const int ManifestFile_HASH = HashingUtils::HashString("ManifestFile"); static const int S3Prefix_HASH = HashingUtils::HashString("S3Prefix"); static const int AugmentedManifestFile_HASH = HashingUtils::HashString("AugmentedManifestFile"); + static const int Converse_HASH = HashingUtils::HashString("Converse"); S3DataType GetS3DataTypeForName(const Aws::String& name) @@ -40,6 +41,10 @@ namespace Aws { return S3DataType::AugmentedManifestFile; } + else if (hashCode == Converse_HASH) + { + return S3DataType::Converse; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -62,6 +67,8 @@ namespace Aws return "S3Prefix"; case S3DataType::AugmentedManifestFile: return "AugmentedManifestFile"; + case S3DataType::Converse: + return "Converse"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp new file mode 100644 index 00000000000..880ee42f275 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/TemplateProviderDetail.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +TemplateProviderDetail::TemplateProviderDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +TemplateProviderDetail& TemplateProviderDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CfnTemplateProviderDetail")) + { + m_cfnTemplateProviderDetail = jsonValue.GetObject("CfnTemplateProviderDetail"); + m_cfnTemplateProviderDetailHasBeenSet = true; + } + return *this; +} + +JsonValue TemplateProviderDetail::Jsonize() const +{ + JsonValue payload; + + if(m_cfnTemplateProviderDetailHasBeenSet) + { + payload.WithObject("CfnTemplateProviderDetail", m_cfnTemplateProviderDetail.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp index 7f7046e73fa..9264481e8c9 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp @@ -129,690 +129,1193 @@ namespace Aws static const int ml_r5_16xlarge_HASH = HashingUtils::HashString("ml.r5.16xlarge"); static const int ml_r5_24xlarge_HASH = HashingUtils::HashString("ml.r5.24xlarge"); static const int ml_p6_b200_48xlarge_HASH = HashingUtils::HashString("ml.p6-b200.48xlarge"); + static const int ml_m7i_large_HASH = HashingUtils::HashString("ml.m7i.large"); + static const int ml_m7i_xlarge_HASH = HashingUtils::HashString("ml.m7i.xlarge"); + static const int ml_m7i_2xlarge_HASH = HashingUtils::HashString("ml.m7i.2xlarge"); + static const int ml_m7i_4xlarge_HASH = HashingUtils::HashString("ml.m7i.4xlarge"); + static const int ml_m7i_8xlarge_HASH = HashingUtils::HashString("ml.m7i.8xlarge"); + static const int ml_m7i_12xlarge_HASH = HashingUtils::HashString("ml.m7i.12xlarge"); + static const int ml_m7i_16xlarge_HASH = HashingUtils::HashString("ml.m7i.16xlarge"); + static const int ml_m7i_24xlarge_HASH = HashingUtils::HashString("ml.m7i.24xlarge"); + static const int ml_m7i_48xlarge_HASH = HashingUtils::HashString("ml.m7i.48xlarge"); + static const int ml_c7i_large_HASH = HashingUtils::HashString("ml.c7i.large"); + static const int ml_c7i_xlarge_HASH = HashingUtils::HashString("ml.c7i.xlarge"); + static const int ml_c7i_2xlarge_HASH = HashingUtils::HashString("ml.c7i.2xlarge"); + static const int ml_c7i_4xlarge_HASH = HashingUtils::HashString("ml.c7i.4xlarge"); + static const int ml_c7i_8xlarge_HASH = HashingUtils::HashString("ml.c7i.8xlarge"); + static const int ml_c7i_12xlarge_HASH = HashingUtils::HashString("ml.c7i.12xlarge"); + static const int ml_c7i_16xlarge_HASH = HashingUtils::HashString("ml.c7i.16xlarge"); + static const int ml_c7i_24xlarge_HASH = HashingUtils::HashString("ml.c7i.24xlarge"); + static const int ml_c7i_48xlarge_HASH = HashingUtils::HashString("ml.c7i.48xlarge"); + static const int ml_r7i_large_HASH = HashingUtils::HashString("ml.r7i.large"); + static const int ml_r7i_xlarge_HASH = HashingUtils::HashString("ml.r7i.xlarge"); + static const int ml_r7i_2xlarge_HASH = HashingUtils::HashString("ml.r7i.2xlarge"); + static const int ml_r7i_4xlarge_HASH = HashingUtils::HashString("ml.r7i.4xlarge"); + static const int ml_r7i_8xlarge_HASH = HashingUtils::HashString("ml.r7i.8xlarge"); + static const int ml_r7i_12xlarge_HASH = HashingUtils::HashString("ml.r7i.12xlarge"); + static const int ml_r7i_16xlarge_HASH = HashingUtils::HashString("ml.r7i.16xlarge"); + static const int ml_r7i_24xlarge_HASH = HashingUtils::HashString("ml.r7i.24xlarge"); + static const int ml_r7i_48xlarge_HASH = HashingUtils::HashString("ml.r7i.48xlarge"); - - TrainingInstanceType GetTrainingInstanceTypeForName(const Aws::String& name) + /* + The if-else chains in this file are converted into a jump table by the compiler, + which allows constant time lookup. The chain has been broken into helper functions + because MSVC has a maximum of 122 chained if-else blocks. + */ + static bool GetEnumForNameHelper0(int hashCode, TrainingInstanceType& enumValue) { - int hashCode = HashingUtils::HashString(name.c_str()); if (hashCode == ml_m4_xlarge_HASH) { - return TrainingInstanceType::ml_m4_xlarge; + enumValue = TrainingInstanceType::ml_m4_xlarge; + return true; } else if (hashCode == ml_m4_2xlarge_HASH) { - return TrainingInstanceType::ml_m4_2xlarge; + enumValue = TrainingInstanceType::ml_m4_2xlarge; + return true; } else if (hashCode == ml_m4_4xlarge_HASH) { - return TrainingInstanceType::ml_m4_4xlarge; + enumValue = TrainingInstanceType::ml_m4_4xlarge; + return true; } else if (hashCode == ml_m4_10xlarge_HASH) { - return TrainingInstanceType::ml_m4_10xlarge; + enumValue = TrainingInstanceType::ml_m4_10xlarge; + return true; } else if (hashCode == ml_m4_16xlarge_HASH) { - return TrainingInstanceType::ml_m4_16xlarge; + enumValue = TrainingInstanceType::ml_m4_16xlarge; + return true; } else if (hashCode == ml_g4dn_xlarge_HASH) { - return TrainingInstanceType::ml_g4dn_xlarge; + enumValue = TrainingInstanceType::ml_g4dn_xlarge; + return true; } else if (hashCode == ml_g4dn_2xlarge_HASH) { - return TrainingInstanceType::ml_g4dn_2xlarge; + enumValue = TrainingInstanceType::ml_g4dn_2xlarge; + return true; } else if (hashCode == ml_g4dn_4xlarge_HASH) { - return TrainingInstanceType::ml_g4dn_4xlarge; + enumValue = TrainingInstanceType::ml_g4dn_4xlarge; + return true; } else if (hashCode == ml_g4dn_8xlarge_HASH) { - return TrainingInstanceType::ml_g4dn_8xlarge; + enumValue = TrainingInstanceType::ml_g4dn_8xlarge; + return true; } else if (hashCode == ml_g4dn_12xlarge_HASH) { - return TrainingInstanceType::ml_g4dn_12xlarge; + enumValue = TrainingInstanceType::ml_g4dn_12xlarge; + return true; } else if (hashCode == ml_g4dn_16xlarge_HASH) { - return TrainingInstanceType::ml_g4dn_16xlarge; + enumValue = TrainingInstanceType::ml_g4dn_16xlarge; + return true; } else if (hashCode == ml_m5_large_HASH) { - return TrainingInstanceType::ml_m5_large; + enumValue = TrainingInstanceType::ml_m5_large; + return true; } else if (hashCode == ml_m5_xlarge_HASH) { - return TrainingInstanceType::ml_m5_xlarge; + enumValue = TrainingInstanceType::ml_m5_xlarge; + return true; } else if (hashCode == ml_m5_2xlarge_HASH) { - return TrainingInstanceType::ml_m5_2xlarge; + enumValue = TrainingInstanceType::ml_m5_2xlarge; + return true; } else if (hashCode == ml_m5_4xlarge_HASH) { - return TrainingInstanceType::ml_m5_4xlarge; + enumValue = TrainingInstanceType::ml_m5_4xlarge; + return true; } else if (hashCode == ml_m5_12xlarge_HASH) { - return TrainingInstanceType::ml_m5_12xlarge; + enumValue = TrainingInstanceType::ml_m5_12xlarge; + return true; } else if (hashCode == ml_m5_24xlarge_HASH) { - return TrainingInstanceType::ml_m5_24xlarge; + enumValue = TrainingInstanceType::ml_m5_24xlarge; + return true; } else if (hashCode == ml_c4_xlarge_HASH) { - return TrainingInstanceType::ml_c4_xlarge; + enumValue = TrainingInstanceType::ml_c4_xlarge; + return true; } else if (hashCode == ml_c4_2xlarge_HASH) { - return TrainingInstanceType::ml_c4_2xlarge; + enumValue = TrainingInstanceType::ml_c4_2xlarge; + return true; } else if (hashCode == ml_c4_4xlarge_HASH) { - return TrainingInstanceType::ml_c4_4xlarge; + enumValue = TrainingInstanceType::ml_c4_4xlarge; + return true; } else if (hashCode == ml_c4_8xlarge_HASH) { - return TrainingInstanceType::ml_c4_8xlarge; + enumValue = TrainingInstanceType::ml_c4_8xlarge; + return true; } else if (hashCode == ml_p2_xlarge_HASH) { - return TrainingInstanceType::ml_p2_xlarge; + enumValue = TrainingInstanceType::ml_p2_xlarge; + return true; } else if (hashCode == ml_p2_8xlarge_HASH) { - return TrainingInstanceType::ml_p2_8xlarge; + enumValue = TrainingInstanceType::ml_p2_8xlarge; + return true; } else if (hashCode == ml_p2_16xlarge_HASH) { - return TrainingInstanceType::ml_p2_16xlarge; + enumValue = TrainingInstanceType::ml_p2_16xlarge; + return true; } else if (hashCode == ml_p3_2xlarge_HASH) { - return TrainingInstanceType::ml_p3_2xlarge; + enumValue = TrainingInstanceType::ml_p3_2xlarge; + return true; } else if (hashCode == ml_p3_8xlarge_HASH) { - return TrainingInstanceType::ml_p3_8xlarge; + enumValue = TrainingInstanceType::ml_p3_8xlarge; + return true; } else if (hashCode == ml_p3_16xlarge_HASH) { - return TrainingInstanceType::ml_p3_16xlarge; + enumValue = TrainingInstanceType::ml_p3_16xlarge; + return true; } else if (hashCode == ml_p3dn_24xlarge_HASH) { - return TrainingInstanceType::ml_p3dn_24xlarge; + enumValue = TrainingInstanceType::ml_p3dn_24xlarge; + return true; } else if (hashCode == ml_p4d_24xlarge_HASH) { - return TrainingInstanceType::ml_p4d_24xlarge; + enumValue = TrainingInstanceType::ml_p4d_24xlarge; + return true; } else if (hashCode == ml_p4de_24xlarge_HASH) { - return TrainingInstanceType::ml_p4de_24xlarge; + enumValue = TrainingInstanceType::ml_p4de_24xlarge; + return true; } else if (hashCode == ml_p5_48xlarge_HASH) { - return TrainingInstanceType::ml_p5_48xlarge; + enumValue = TrainingInstanceType::ml_p5_48xlarge; + return true; } else if (hashCode == ml_p5e_48xlarge_HASH) { - return TrainingInstanceType::ml_p5e_48xlarge; + enumValue = TrainingInstanceType::ml_p5e_48xlarge; + return true; } else if (hashCode == ml_p5en_48xlarge_HASH) { - return TrainingInstanceType::ml_p5en_48xlarge; + enumValue = TrainingInstanceType::ml_p5en_48xlarge; + return true; } else if (hashCode == ml_c5_xlarge_HASH) { - return TrainingInstanceType::ml_c5_xlarge; + enumValue = TrainingInstanceType::ml_c5_xlarge; + return true; } else if (hashCode == ml_c5_2xlarge_HASH) { - return TrainingInstanceType::ml_c5_2xlarge; + enumValue = TrainingInstanceType::ml_c5_2xlarge; + return true; } else if (hashCode == ml_c5_4xlarge_HASH) { - return TrainingInstanceType::ml_c5_4xlarge; + enumValue = TrainingInstanceType::ml_c5_4xlarge; + return true; } else if (hashCode == ml_c5_9xlarge_HASH) { - return TrainingInstanceType::ml_c5_9xlarge; + enumValue = TrainingInstanceType::ml_c5_9xlarge; + return true; } else if (hashCode == ml_c5_18xlarge_HASH) { - return TrainingInstanceType::ml_c5_18xlarge; + enumValue = TrainingInstanceType::ml_c5_18xlarge; + return true; } else if (hashCode == ml_c5n_xlarge_HASH) { - return TrainingInstanceType::ml_c5n_xlarge; + enumValue = TrainingInstanceType::ml_c5n_xlarge; + return true; } else if (hashCode == ml_c5n_2xlarge_HASH) { - return TrainingInstanceType::ml_c5n_2xlarge; + enumValue = TrainingInstanceType::ml_c5n_2xlarge; + return true; } else if (hashCode == ml_c5n_4xlarge_HASH) { - return TrainingInstanceType::ml_c5n_4xlarge; + enumValue = TrainingInstanceType::ml_c5n_4xlarge; + return true; } else if (hashCode == ml_c5n_9xlarge_HASH) { - return TrainingInstanceType::ml_c5n_9xlarge; + enumValue = TrainingInstanceType::ml_c5n_9xlarge; + return true; } else if (hashCode == ml_c5n_18xlarge_HASH) { - return TrainingInstanceType::ml_c5n_18xlarge; + enumValue = TrainingInstanceType::ml_c5n_18xlarge; + return true; } else if (hashCode == ml_g5_xlarge_HASH) { - return TrainingInstanceType::ml_g5_xlarge; + enumValue = TrainingInstanceType::ml_g5_xlarge; + return true; } else if (hashCode == ml_g5_2xlarge_HASH) { - return TrainingInstanceType::ml_g5_2xlarge; + enumValue = TrainingInstanceType::ml_g5_2xlarge; + return true; } else if (hashCode == ml_g5_4xlarge_HASH) { - return TrainingInstanceType::ml_g5_4xlarge; + enumValue = TrainingInstanceType::ml_g5_4xlarge; + return true; } else if (hashCode == ml_g5_8xlarge_HASH) { - return TrainingInstanceType::ml_g5_8xlarge; + enumValue = TrainingInstanceType::ml_g5_8xlarge; + return true; } else if (hashCode == ml_g5_16xlarge_HASH) { - return TrainingInstanceType::ml_g5_16xlarge; + enumValue = TrainingInstanceType::ml_g5_16xlarge; + return true; } else if (hashCode == ml_g5_12xlarge_HASH) { - return TrainingInstanceType::ml_g5_12xlarge; + enumValue = TrainingInstanceType::ml_g5_12xlarge; + return true; } else if (hashCode == ml_g5_24xlarge_HASH) { - return TrainingInstanceType::ml_g5_24xlarge; + enumValue = TrainingInstanceType::ml_g5_24xlarge; + return true; } else if (hashCode == ml_g5_48xlarge_HASH) { - return TrainingInstanceType::ml_g5_48xlarge; + enumValue = TrainingInstanceType::ml_g5_48xlarge; + return true; } else if (hashCode == ml_g6_xlarge_HASH) { - return TrainingInstanceType::ml_g6_xlarge; + enumValue = TrainingInstanceType::ml_g6_xlarge; + return true; } else if (hashCode == ml_g6_2xlarge_HASH) { - return TrainingInstanceType::ml_g6_2xlarge; + enumValue = TrainingInstanceType::ml_g6_2xlarge; + return true; } else if (hashCode == ml_g6_4xlarge_HASH) { - return TrainingInstanceType::ml_g6_4xlarge; + enumValue = TrainingInstanceType::ml_g6_4xlarge; + return true; } else if (hashCode == ml_g6_8xlarge_HASH) { - return TrainingInstanceType::ml_g6_8xlarge; + enumValue = TrainingInstanceType::ml_g6_8xlarge; + return true; } else if (hashCode == ml_g6_16xlarge_HASH) { - return TrainingInstanceType::ml_g6_16xlarge; + enumValue = TrainingInstanceType::ml_g6_16xlarge; + return true; } else if (hashCode == ml_g6_12xlarge_HASH) { - return TrainingInstanceType::ml_g6_12xlarge; + enumValue = TrainingInstanceType::ml_g6_12xlarge; + return true; } else if (hashCode == ml_g6_24xlarge_HASH) { - return TrainingInstanceType::ml_g6_24xlarge; + enumValue = TrainingInstanceType::ml_g6_24xlarge; + return true; } else if (hashCode == ml_g6_48xlarge_HASH) { - return TrainingInstanceType::ml_g6_48xlarge; + enumValue = TrainingInstanceType::ml_g6_48xlarge; + return true; } else if (hashCode == ml_g6e_xlarge_HASH) { - return TrainingInstanceType::ml_g6e_xlarge; + enumValue = TrainingInstanceType::ml_g6e_xlarge; + return true; } else if (hashCode == ml_g6e_2xlarge_HASH) { - return TrainingInstanceType::ml_g6e_2xlarge; + enumValue = TrainingInstanceType::ml_g6e_2xlarge; + return true; } else if (hashCode == ml_g6e_4xlarge_HASH) { - return TrainingInstanceType::ml_g6e_4xlarge; + enumValue = TrainingInstanceType::ml_g6e_4xlarge; + return true; } else if (hashCode == ml_g6e_8xlarge_HASH) { - return TrainingInstanceType::ml_g6e_8xlarge; + enumValue = TrainingInstanceType::ml_g6e_8xlarge; + return true; } else if (hashCode == ml_g6e_16xlarge_HASH) { - return TrainingInstanceType::ml_g6e_16xlarge; + enumValue = TrainingInstanceType::ml_g6e_16xlarge; + return true; } else if (hashCode == ml_g6e_12xlarge_HASH) { - return TrainingInstanceType::ml_g6e_12xlarge; + enumValue = TrainingInstanceType::ml_g6e_12xlarge; + return true; } else if (hashCode == ml_g6e_24xlarge_HASH) { - return TrainingInstanceType::ml_g6e_24xlarge; + enumValue = TrainingInstanceType::ml_g6e_24xlarge; + return true; } else if (hashCode == ml_g6e_48xlarge_HASH) { - return TrainingInstanceType::ml_g6e_48xlarge; + enumValue = TrainingInstanceType::ml_g6e_48xlarge; + return true; } else if (hashCode == ml_trn1_2xlarge_HASH) { - return TrainingInstanceType::ml_trn1_2xlarge; + enumValue = TrainingInstanceType::ml_trn1_2xlarge; + return true; } else if (hashCode == ml_trn1_32xlarge_HASH) { - return TrainingInstanceType::ml_trn1_32xlarge; + enumValue = TrainingInstanceType::ml_trn1_32xlarge; + return true; } else if (hashCode == ml_trn1n_32xlarge_HASH) { - return TrainingInstanceType::ml_trn1n_32xlarge; + enumValue = TrainingInstanceType::ml_trn1n_32xlarge; + return true; } else if (hashCode == ml_trn2_48xlarge_HASH) { - return TrainingInstanceType::ml_trn2_48xlarge; + enumValue = TrainingInstanceType::ml_trn2_48xlarge; + return true; } else if (hashCode == ml_m6i_large_HASH) { - return TrainingInstanceType::ml_m6i_large; + enumValue = TrainingInstanceType::ml_m6i_large; + return true; } else if (hashCode == ml_m6i_xlarge_HASH) { - return TrainingInstanceType::ml_m6i_xlarge; + enumValue = TrainingInstanceType::ml_m6i_xlarge; + return true; } else if (hashCode == ml_m6i_2xlarge_HASH) { - return TrainingInstanceType::ml_m6i_2xlarge; + enumValue = TrainingInstanceType::ml_m6i_2xlarge; + return true; } else if (hashCode == ml_m6i_4xlarge_HASH) { - return TrainingInstanceType::ml_m6i_4xlarge; + enumValue = TrainingInstanceType::ml_m6i_4xlarge; + return true; } else if (hashCode == ml_m6i_8xlarge_HASH) { - return TrainingInstanceType::ml_m6i_8xlarge; + enumValue = TrainingInstanceType::ml_m6i_8xlarge; + return true; } else if (hashCode == ml_m6i_12xlarge_HASH) { - return TrainingInstanceType::ml_m6i_12xlarge; + enumValue = TrainingInstanceType::ml_m6i_12xlarge; + return true; } else if (hashCode == ml_m6i_16xlarge_HASH) { - return TrainingInstanceType::ml_m6i_16xlarge; + enumValue = TrainingInstanceType::ml_m6i_16xlarge; + return true; } else if (hashCode == ml_m6i_24xlarge_HASH) { - return TrainingInstanceType::ml_m6i_24xlarge; + enumValue = TrainingInstanceType::ml_m6i_24xlarge; + return true; } else if (hashCode == ml_m6i_32xlarge_HASH) { - return TrainingInstanceType::ml_m6i_32xlarge; + enumValue = TrainingInstanceType::ml_m6i_32xlarge; + return true; } else if (hashCode == ml_c6i_xlarge_HASH) { - return TrainingInstanceType::ml_c6i_xlarge; + enumValue = TrainingInstanceType::ml_c6i_xlarge; + return true; } else if (hashCode == ml_c6i_2xlarge_HASH) { - return TrainingInstanceType::ml_c6i_2xlarge; + enumValue = TrainingInstanceType::ml_c6i_2xlarge; + return true; } else if (hashCode == ml_c6i_8xlarge_HASH) { - return TrainingInstanceType::ml_c6i_8xlarge; + enumValue = TrainingInstanceType::ml_c6i_8xlarge; + return true; } else if (hashCode == ml_c6i_4xlarge_HASH) { - return TrainingInstanceType::ml_c6i_4xlarge; + enumValue = TrainingInstanceType::ml_c6i_4xlarge; + return true; } else if (hashCode == ml_c6i_12xlarge_HASH) { - return TrainingInstanceType::ml_c6i_12xlarge; + enumValue = TrainingInstanceType::ml_c6i_12xlarge; + return true; } else if (hashCode == ml_c6i_16xlarge_HASH) { - return TrainingInstanceType::ml_c6i_16xlarge; + enumValue = TrainingInstanceType::ml_c6i_16xlarge; + return true; } else if (hashCode == ml_c6i_24xlarge_HASH) { - return TrainingInstanceType::ml_c6i_24xlarge; + enumValue = TrainingInstanceType::ml_c6i_24xlarge; + return true; } else if (hashCode == ml_c6i_32xlarge_HASH) { - return TrainingInstanceType::ml_c6i_32xlarge; + enumValue = TrainingInstanceType::ml_c6i_32xlarge; + return true; } else if (hashCode == ml_r5d_large_HASH) { - return TrainingInstanceType::ml_r5d_large; + enumValue = TrainingInstanceType::ml_r5d_large; + return true; } else if (hashCode == ml_r5d_xlarge_HASH) { - return TrainingInstanceType::ml_r5d_xlarge; + enumValue = TrainingInstanceType::ml_r5d_xlarge; + return true; } else if (hashCode == ml_r5d_2xlarge_HASH) { - return TrainingInstanceType::ml_r5d_2xlarge; + enumValue = TrainingInstanceType::ml_r5d_2xlarge; + return true; } else if (hashCode == ml_r5d_4xlarge_HASH) { - return TrainingInstanceType::ml_r5d_4xlarge; + enumValue = TrainingInstanceType::ml_r5d_4xlarge; + return true; } else if (hashCode == ml_r5d_8xlarge_HASH) { - return TrainingInstanceType::ml_r5d_8xlarge; + enumValue = TrainingInstanceType::ml_r5d_8xlarge; + return true; } else if (hashCode == ml_r5d_12xlarge_HASH) { - return TrainingInstanceType::ml_r5d_12xlarge; + enumValue = TrainingInstanceType::ml_r5d_12xlarge; + return true; } else if (hashCode == ml_r5d_16xlarge_HASH) { - return TrainingInstanceType::ml_r5d_16xlarge; + enumValue = TrainingInstanceType::ml_r5d_16xlarge; + return true; } else if (hashCode == ml_r5d_24xlarge_HASH) { - return TrainingInstanceType::ml_r5d_24xlarge; + enumValue = TrainingInstanceType::ml_r5d_24xlarge; + return true; } else if (hashCode == ml_t3_medium_HASH) { - return TrainingInstanceType::ml_t3_medium; + enumValue = TrainingInstanceType::ml_t3_medium; + return true; } else if (hashCode == ml_t3_large_HASH) { - return TrainingInstanceType::ml_t3_large; + enumValue = TrainingInstanceType::ml_t3_large; + return true; } else if (hashCode == ml_t3_xlarge_HASH) { - return TrainingInstanceType::ml_t3_xlarge; + enumValue = TrainingInstanceType::ml_t3_xlarge; + return true; } else if (hashCode == ml_t3_2xlarge_HASH) { - return TrainingInstanceType::ml_t3_2xlarge; + enumValue = TrainingInstanceType::ml_t3_2xlarge; + return true; } else if (hashCode == ml_r5_large_HASH) { - return TrainingInstanceType::ml_r5_large; + enumValue = TrainingInstanceType::ml_r5_large; + return true; } else if (hashCode == ml_r5_xlarge_HASH) { - return TrainingInstanceType::ml_r5_xlarge; + enumValue = TrainingInstanceType::ml_r5_xlarge; + return true; } else if (hashCode == ml_r5_2xlarge_HASH) { - return TrainingInstanceType::ml_r5_2xlarge; + enumValue = TrainingInstanceType::ml_r5_2xlarge; + return true; } else if (hashCode == ml_r5_4xlarge_HASH) { - return TrainingInstanceType::ml_r5_4xlarge; + enumValue = TrainingInstanceType::ml_r5_4xlarge; + return true; } else if (hashCode == ml_r5_8xlarge_HASH) { - return TrainingInstanceType::ml_r5_8xlarge; + enumValue = TrainingInstanceType::ml_r5_8xlarge; + return true; } else if (hashCode == ml_r5_12xlarge_HASH) { - return TrainingInstanceType::ml_r5_12xlarge; + enumValue = TrainingInstanceType::ml_r5_12xlarge; + return true; } else if (hashCode == ml_r5_16xlarge_HASH) { - return TrainingInstanceType::ml_r5_16xlarge; + enumValue = TrainingInstanceType::ml_r5_16xlarge; + return true; } else if (hashCode == ml_r5_24xlarge_HASH) { - return TrainingInstanceType::ml_r5_24xlarge; + enumValue = TrainingInstanceType::ml_r5_24xlarge; + return true; } else if (hashCode == ml_p6_b200_48xlarge_HASH) { - return TrainingInstanceType::ml_p6_b200_48xlarge; + enumValue = TrainingInstanceType::ml_p6_b200_48xlarge; + return true; } - EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); - if(overflowContainer) + else if (hashCode == ml_m7i_large_HASH) { - overflowContainer->StoreOverflow(hashCode, name); - return static_cast(hashCode); + enumValue = TrainingInstanceType::ml_m7i_large; + return true; } - - return TrainingInstanceType::NOT_SET; + else if (hashCode == ml_m7i_xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_xlarge; + return true; + } + else if (hashCode == ml_m7i_2xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_2xlarge; + return true; + } + else if (hashCode == ml_m7i_4xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_4xlarge; + return true; + } + else if (hashCode == ml_m7i_8xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_8xlarge; + return true; + } + else if (hashCode == ml_m7i_12xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_12xlarge; + return true; + } + else if (hashCode == ml_m7i_16xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_16xlarge; + return true; + } + else if (hashCode == ml_m7i_24xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_24xlarge; + return true; + } + else if (hashCode == ml_m7i_48xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_m7i_48xlarge; + return true; + } + else if (hashCode == ml_c7i_large_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_large; + return true; + } + else if (hashCode == ml_c7i_xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_xlarge; + return true; + } + else if (hashCode == ml_c7i_2xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_2xlarge; + return true; + } + else if (hashCode == ml_c7i_4xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_4xlarge; + return true; + } + return false; + } + static bool GetEnumForNameHelper1(int hashCode, TrainingInstanceType& enumValue) + { + if (hashCode == ml_c7i_8xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_8xlarge; + return true; + } + else if (hashCode == ml_c7i_12xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_12xlarge; + return true; + } + else if (hashCode == ml_c7i_16xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_16xlarge; + return true; + } + else if (hashCode == ml_c7i_24xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_24xlarge; + return true; + } + else if (hashCode == ml_c7i_48xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_c7i_48xlarge; + return true; + } + else if (hashCode == ml_r7i_large_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_large; + return true; + } + else if (hashCode == ml_r7i_xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_xlarge; + return true; + } + else if (hashCode == ml_r7i_2xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_2xlarge; + return true; + } + else if (hashCode == ml_r7i_4xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_4xlarge; + return true; + } + else if (hashCode == ml_r7i_8xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_8xlarge; + return true; + } + else if (hashCode == ml_r7i_12xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_12xlarge; + return true; + } + else if (hashCode == ml_r7i_16xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_16xlarge; + return true; + } + else if (hashCode == ml_r7i_24xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_24xlarge; + return true; + } + else if (hashCode == ml_r7i_48xlarge_HASH) + { + enumValue = TrainingInstanceType::ml_r7i_48xlarge; + return true; + } + return false; } - Aws::String GetNameForTrainingInstanceType(TrainingInstanceType enumValue) + static bool GetNameForEnumHelper0(TrainingInstanceType enumValue, Aws::String& value) { switch(enumValue) { - case TrainingInstanceType::NOT_SET: - return {}; case TrainingInstanceType::ml_m4_xlarge: - return "ml.m4.xlarge"; + value = "ml.m4.xlarge"; + return true; case TrainingInstanceType::ml_m4_2xlarge: - return "ml.m4.2xlarge"; + value = "ml.m4.2xlarge"; + return true; case TrainingInstanceType::ml_m4_4xlarge: - return "ml.m4.4xlarge"; + value = "ml.m4.4xlarge"; + return true; case TrainingInstanceType::ml_m4_10xlarge: - return "ml.m4.10xlarge"; + value = "ml.m4.10xlarge"; + return true; case TrainingInstanceType::ml_m4_16xlarge: - return "ml.m4.16xlarge"; + value = "ml.m4.16xlarge"; + return true; case TrainingInstanceType::ml_g4dn_xlarge: - return "ml.g4dn.xlarge"; + value = "ml.g4dn.xlarge"; + return true; case TrainingInstanceType::ml_g4dn_2xlarge: - return "ml.g4dn.2xlarge"; + value = "ml.g4dn.2xlarge"; + return true; case TrainingInstanceType::ml_g4dn_4xlarge: - return "ml.g4dn.4xlarge"; + value = "ml.g4dn.4xlarge"; + return true; case TrainingInstanceType::ml_g4dn_8xlarge: - return "ml.g4dn.8xlarge"; + value = "ml.g4dn.8xlarge"; + return true; case TrainingInstanceType::ml_g4dn_12xlarge: - return "ml.g4dn.12xlarge"; + value = "ml.g4dn.12xlarge"; + return true; case TrainingInstanceType::ml_g4dn_16xlarge: - return "ml.g4dn.16xlarge"; + value = "ml.g4dn.16xlarge"; + return true; case TrainingInstanceType::ml_m5_large: - return "ml.m5.large"; + value = "ml.m5.large"; + return true; case TrainingInstanceType::ml_m5_xlarge: - return "ml.m5.xlarge"; + value = "ml.m5.xlarge"; + return true; case TrainingInstanceType::ml_m5_2xlarge: - return "ml.m5.2xlarge"; + value = "ml.m5.2xlarge"; + return true; case TrainingInstanceType::ml_m5_4xlarge: - return "ml.m5.4xlarge"; + value = "ml.m5.4xlarge"; + return true; case TrainingInstanceType::ml_m5_12xlarge: - return "ml.m5.12xlarge"; + value = "ml.m5.12xlarge"; + return true; case TrainingInstanceType::ml_m5_24xlarge: - return "ml.m5.24xlarge"; + value = "ml.m5.24xlarge"; + return true; case TrainingInstanceType::ml_c4_xlarge: - return "ml.c4.xlarge"; + value = "ml.c4.xlarge"; + return true; case TrainingInstanceType::ml_c4_2xlarge: - return "ml.c4.2xlarge"; + value = "ml.c4.2xlarge"; + return true; case TrainingInstanceType::ml_c4_4xlarge: - return "ml.c4.4xlarge"; + value = "ml.c4.4xlarge"; + return true; case TrainingInstanceType::ml_c4_8xlarge: - return "ml.c4.8xlarge"; + value = "ml.c4.8xlarge"; + return true; case TrainingInstanceType::ml_p2_xlarge: - return "ml.p2.xlarge"; + value = "ml.p2.xlarge"; + return true; case TrainingInstanceType::ml_p2_8xlarge: - return "ml.p2.8xlarge"; + value = "ml.p2.8xlarge"; + return true; case TrainingInstanceType::ml_p2_16xlarge: - return "ml.p2.16xlarge"; + value = "ml.p2.16xlarge"; + return true; case TrainingInstanceType::ml_p3_2xlarge: - return "ml.p3.2xlarge"; + value = "ml.p3.2xlarge"; + return true; case TrainingInstanceType::ml_p3_8xlarge: - return "ml.p3.8xlarge"; + value = "ml.p3.8xlarge"; + return true; case TrainingInstanceType::ml_p3_16xlarge: - return "ml.p3.16xlarge"; + value = "ml.p3.16xlarge"; + return true; case TrainingInstanceType::ml_p3dn_24xlarge: - return "ml.p3dn.24xlarge"; + value = "ml.p3dn.24xlarge"; + return true; case TrainingInstanceType::ml_p4d_24xlarge: - return "ml.p4d.24xlarge"; + value = "ml.p4d.24xlarge"; + return true; case TrainingInstanceType::ml_p4de_24xlarge: - return "ml.p4de.24xlarge"; + value = "ml.p4de.24xlarge"; + return true; case TrainingInstanceType::ml_p5_48xlarge: - return "ml.p5.48xlarge"; + value = "ml.p5.48xlarge"; + return true; case TrainingInstanceType::ml_p5e_48xlarge: - return "ml.p5e.48xlarge"; + value = "ml.p5e.48xlarge"; + return true; case TrainingInstanceType::ml_p5en_48xlarge: - return "ml.p5en.48xlarge"; + value = "ml.p5en.48xlarge"; + return true; case TrainingInstanceType::ml_c5_xlarge: - return "ml.c5.xlarge"; + value = "ml.c5.xlarge"; + return true; case TrainingInstanceType::ml_c5_2xlarge: - return "ml.c5.2xlarge"; + value = "ml.c5.2xlarge"; + return true; case TrainingInstanceType::ml_c5_4xlarge: - return "ml.c5.4xlarge"; + value = "ml.c5.4xlarge"; + return true; case TrainingInstanceType::ml_c5_9xlarge: - return "ml.c5.9xlarge"; + value = "ml.c5.9xlarge"; + return true; case TrainingInstanceType::ml_c5_18xlarge: - return "ml.c5.18xlarge"; + value = "ml.c5.18xlarge"; + return true; case TrainingInstanceType::ml_c5n_xlarge: - return "ml.c5n.xlarge"; + value = "ml.c5n.xlarge"; + return true; case TrainingInstanceType::ml_c5n_2xlarge: - return "ml.c5n.2xlarge"; + value = "ml.c5n.2xlarge"; + return true; case TrainingInstanceType::ml_c5n_4xlarge: - return "ml.c5n.4xlarge"; + value = "ml.c5n.4xlarge"; + return true; case TrainingInstanceType::ml_c5n_9xlarge: - return "ml.c5n.9xlarge"; + value = "ml.c5n.9xlarge"; + return true; case TrainingInstanceType::ml_c5n_18xlarge: - return "ml.c5n.18xlarge"; + value = "ml.c5n.18xlarge"; + return true; case TrainingInstanceType::ml_g5_xlarge: - return "ml.g5.xlarge"; + value = "ml.g5.xlarge"; + return true; case TrainingInstanceType::ml_g5_2xlarge: - return "ml.g5.2xlarge"; + value = "ml.g5.2xlarge"; + return true; case TrainingInstanceType::ml_g5_4xlarge: - return "ml.g5.4xlarge"; + value = "ml.g5.4xlarge"; + return true; case TrainingInstanceType::ml_g5_8xlarge: - return "ml.g5.8xlarge"; + value = "ml.g5.8xlarge"; + return true; case TrainingInstanceType::ml_g5_16xlarge: - return "ml.g5.16xlarge"; + value = "ml.g5.16xlarge"; + return true; case TrainingInstanceType::ml_g5_12xlarge: - return "ml.g5.12xlarge"; + value = "ml.g5.12xlarge"; + return true; case TrainingInstanceType::ml_g5_24xlarge: - return "ml.g5.24xlarge"; + value = "ml.g5.24xlarge"; + return true; case TrainingInstanceType::ml_g5_48xlarge: - return "ml.g5.48xlarge"; + value = "ml.g5.48xlarge"; + return true; case TrainingInstanceType::ml_g6_xlarge: - return "ml.g6.xlarge"; + value = "ml.g6.xlarge"; + return true; case TrainingInstanceType::ml_g6_2xlarge: - return "ml.g6.2xlarge"; + value = "ml.g6.2xlarge"; + return true; case TrainingInstanceType::ml_g6_4xlarge: - return "ml.g6.4xlarge"; + value = "ml.g6.4xlarge"; + return true; case TrainingInstanceType::ml_g6_8xlarge: - return "ml.g6.8xlarge"; + value = "ml.g6.8xlarge"; + return true; case TrainingInstanceType::ml_g6_16xlarge: - return "ml.g6.16xlarge"; + value = "ml.g6.16xlarge"; + return true; case TrainingInstanceType::ml_g6_12xlarge: - return "ml.g6.12xlarge"; + value = "ml.g6.12xlarge"; + return true; case TrainingInstanceType::ml_g6_24xlarge: - return "ml.g6.24xlarge"; + value = "ml.g6.24xlarge"; + return true; case TrainingInstanceType::ml_g6_48xlarge: - return "ml.g6.48xlarge"; + value = "ml.g6.48xlarge"; + return true; case TrainingInstanceType::ml_g6e_xlarge: - return "ml.g6e.xlarge"; + value = "ml.g6e.xlarge"; + return true; case TrainingInstanceType::ml_g6e_2xlarge: - return "ml.g6e.2xlarge"; + value = "ml.g6e.2xlarge"; + return true; case TrainingInstanceType::ml_g6e_4xlarge: - return "ml.g6e.4xlarge"; + value = "ml.g6e.4xlarge"; + return true; case TrainingInstanceType::ml_g6e_8xlarge: - return "ml.g6e.8xlarge"; + value = "ml.g6e.8xlarge"; + return true; case TrainingInstanceType::ml_g6e_16xlarge: - return "ml.g6e.16xlarge"; + value = "ml.g6e.16xlarge"; + return true; case TrainingInstanceType::ml_g6e_12xlarge: - return "ml.g6e.12xlarge"; + value = "ml.g6e.12xlarge"; + return true; case TrainingInstanceType::ml_g6e_24xlarge: - return "ml.g6e.24xlarge"; + value = "ml.g6e.24xlarge"; + return true; case TrainingInstanceType::ml_g6e_48xlarge: - return "ml.g6e.48xlarge"; + value = "ml.g6e.48xlarge"; + return true; case TrainingInstanceType::ml_trn1_2xlarge: - return "ml.trn1.2xlarge"; + value = "ml.trn1.2xlarge"; + return true; case TrainingInstanceType::ml_trn1_32xlarge: - return "ml.trn1.32xlarge"; + value = "ml.trn1.32xlarge"; + return true; case TrainingInstanceType::ml_trn1n_32xlarge: - return "ml.trn1n.32xlarge"; + value = "ml.trn1n.32xlarge"; + return true; case TrainingInstanceType::ml_trn2_48xlarge: - return "ml.trn2.48xlarge"; + value = "ml.trn2.48xlarge"; + return true; case TrainingInstanceType::ml_m6i_large: - return "ml.m6i.large"; + value = "ml.m6i.large"; + return true; case TrainingInstanceType::ml_m6i_xlarge: - return "ml.m6i.xlarge"; + value = "ml.m6i.xlarge"; + return true; case TrainingInstanceType::ml_m6i_2xlarge: - return "ml.m6i.2xlarge"; + value = "ml.m6i.2xlarge"; + return true; case TrainingInstanceType::ml_m6i_4xlarge: - return "ml.m6i.4xlarge"; + value = "ml.m6i.4xlarge"; + return true; case TrainingInstanceType::ml_m6i_8xlarge: - return "ml.m6i.8xlarge"; + value = "ml.m6i.8xlarge"; + return true; case TrainingInstanceType::ml_m6i_12xlarge: - return "ml.m6i.12xlarge"; + value = "ml.m6i.12xlarge"; + return true; case TrainingInstanceType::ml_m6i_16xlarge: - return "ml.m6i.16xlarge"; + value = "ml.m6i.16xlarge"; + return true; case TrainingInstanceType::ml_m6i_24xlarge: - return "ml.m6i.24xlarge"; + value = "ml.m6i.24xlarge"; + return true; case TrainingInstanceType::ml_m6i_32xlarge: - return "ml.m6i.32xlarge"; + value = "ml.m6i.32xlarge"; + return true; case TrainingInstanceType::ml_c6i_xlarge: - return "ml.c6i.xlarge"; + value = "ml.c6i.xlarge"; + return true; case TrainingInstanceType::ml_c6i_2xlarge: - return "ml.c6i.2xlarge"; + value = "ml.c6i.2xlarge"; + return true; case TrainingInstanceType::ml_c6i_8xlarge: - return "ml.c6i.8xlarge"; + value = "ml.c6i.8xlarge"; + return true; case TrainingInstanceType::ml_c6i_4xlarge: - return "ml.c6i.4xlarge"; + value = "ml.c6i.4xlarge"; + return true; case TrainingInstanceType::ml_c6i_12xlarge: - return "ml.c6i.12xlarge"; + value = "ml.c6i.12xlarge"; + return true; case TrainingInstanceType::ml_c6i_16xlarge: - return "ml.c6i.16xlarge"; + value = "ml.c6i.16xlarge"; + return true; case TrainingInstanceType::ml_c6i_24xlarge: - return "ml.c6i.24xlarge"; + value = "ml.c6i.24xlarge"; + return true; case TrainingInstanceType::ml_c6i_32xlarge: - return "ml.c6i.32xlarge"; + value = "ml.c6i.32xlarge"; + return true; case TrainingInstanceType::ml_r5d_large: - return "ml.r5d.large"; + value = "ml.r5d.large"; + return true; case TrainingInstanceType::ml_r5d_xlarge: - return "ml.r5d.xlarge"; + value = "ml.r5d.xlarge"; + return true; case TrainingInstanceType::ml_r5d_2xlarge: - return "ml.r5d.2xlarge"; + value = "ml.r5d.2xlarge"; + return true; case TrainingInstanceType::ml_r5d_4xlarge: - return "ml.r5d.4xlarge"; + value = "ml.r5d.4xlarge"; + return true; case TrainingInstanceType::ml_r5d_8xlarge: - return "ml.r5d.8xlarge"; + value = "ml.r5d.8xlarge"; + return true; case TrainingInstanceType::ml_r5d_12xlarge: - return "ml.r5d.12xlarge"; + value = "ml.r5d.12xlarge"; + return true; case TrainingInstanceType::ml_r5d_16xlarge: - return "ml.r5d.16xlarge"; + value = "ml.r5d.16xlarge"; + return true; case TrainingInstanceType::ml_r5d_24xlarge: - return "ml.r5d.24xlarge"; + value = "ml.r5d.24xlarge"; + return true; case TrainingInstanceType::ml_t3_medium: - return "ml.t3.medium"; + value = "ml.t3.medium"; + return true; case TrainingInstanceType::ml_t3_large: - return "ml.t3.large"; + value = "ml.t3.large"; + return true; case TrainingInstanceType::ml_t3_xlarge: - return "ml.t3.xlarge"; + value = "ml.t3.xlarge"; + return true; case TrainingInstanceType::ml_t3_2xlarge: - return "ml.t3.2xlarge"; + value = "ml.t3.2xlarge"; + return true; case TrainingInstanceType::ml_r5_large: - return "ml.r5.large"; + value = "ml.r5.large"; + return true; case TrainingInstanceType::ml_r5_xlarge: - return "ml.r5.xlarge"; + value = "ml.r5.xlarge"; + return true; case TrainingInstanceType::ml_r5_2xlarge: - return "ml.r5.2xlarge"; + value = "ml.r5.2xlarge"; + return true; case TrainingInstanceType::ml_r5_4xlarge: - return "ml.r5.4xlarge"; + value = "ml.r5.4xlarge"; + return true; case TrainingInstanceType::ml_r5_8xlarge: - return "ml.r5.8xlarge"; + value = "ml.r5.8xlarge"; + return true; case TrainingInstanceType::ml_r5_12xlarge: - return "ml.r5.12xlarge"; + value = "ml.r5.12xlarge"; + return true; case TrainingInstanceType::ml_r5_16xlarge: - return "ml.r5.16xlarge"; + value = "ml.r5.16xlarge"; + return true; case TrainingInstanceType::ml_r5_24xlarge: - return "ml.r5.24xlarge"; + value = "ml.r5.24xlarge"; + return true; case TrainingInstanceType::ml_p6_b200_48xlarge: - return "ml.p6-b200.48xlarge"; + value = "ml.p6-b200.48xlarge"; + return true; + case TrainingInstanceType::ml_m7i_large: + value = "ml.m7i.large"; + return true; + case TrainingInstanceType::ml_m7i_xlarge: + value = "ml.m7i.xlarge"; + return true; + case TrainingInstanceType::ml_m7i_2xlarge: + value = "ml.m7i.2xlarge"; + return true; + case TrainingInstanceType::ml_m7i_4xlarge: + value = "ml.m7i.4xlarge"; + return true; + case TrainingInstanceType::ml_m7i_8xlarge: + value = "ml.m7i.8xlarge"; + return true; + case TrainingInstanceType::ml_m7i_12xlarge: + value = "ml.m7i.12xlarge"; + return true; + case TrainingInstanceType::ml_m7i_16xlarge: + value = "ml.m7i.16xlarge"; + return true; + case TrainingInstanceType::ml_m7i_24xlarge: + value = "ml.m7i.24xlarge"; + return true; + case TrainingInstanceType::ml_m7i_48xlarge: + value = "ml.m7i.48xlarge"; + return true; + case TrainingInstanceType::ml_c7i_large: + value = "ml.c7i.large"; + return true; + case TrainingInstanceType::ml_c7i_xlarge: + value = "ml.c7i.xlarge"; + return true; + case TrainingInstanceType::ml_c7i_2xlarge: + value = "ml.c7i.2xlarge"; + return true; + case TrainingInstanceType::ml_c7i_4xlarge: + value = "ml.c7i.4xlarge"; + return true; + default: + return false; + } + } + static bool GetNameForEnumHelper1(TrainingInstanceType enumValue, Aws::String& value) + { + switch(enumValue) + { + case TrainingInstanceType::ml_c7i_8xlarge: + value = "ml.c7i.8xlarge"; + return true; + case TrainingInstanceType::ml_c7i_12xlarge: + value = "ml.c7i.12xlarge"; + return true; + case TrainingInstanceType::ml_c7i_16xlarge: + value = "ml.c7i.16xlarge"; + return true; + case TrainingInstanceType::ml_c7i_24xlarge: + value = "ml.c7i.24xlarge"; + return true; + case TrainingInstanceType::ml_c7i_48xlarge: + value = "ml.c7i.48xlarge"; + return true; + case TrainingInstanceType::ml_r7i_large: + value = "ml.r7i.large"; + return true; + case TrainingInstanceType::ml_r7i_xlarge: + value = "ml.r7i.xlarge"; + return true; + case TrainingInstanceType::ml_r7i_2xlarge: + value = "ml.r7i.2xlarge"; + return true; + case TrainingInstanceType::ml_r7i_4xlarge: + value = "ml.r7i.4xlarge"; + return true; + case TrainingInstanceType::ml_r7i_8xlarge: + value = "ml.r7i.8xlarge"; + return true; + case TrainingInstanceType::ml_r7i_12xlarge: + value = "ml.r7i.12xlarge"; + return true; + case TrainingInstanceType::ml_r7i_16xlarge: + value = "ml.r7i.16xlarge"; + return true; + case TrainingInstanceType::ml_r7i_24xlarge: + value = "ml.r7i.24xlarge"; + return true; + case TrainingInstanceType::ml_r7i_48xlarge: + value = "ml.r7i.48xlarge"; + return true; default: - EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); - if(overflowContainer) - { - return overflowContainer->RetrieveOverflow(static_cast(enumValue)); - } + return false; + } + } - return {}; + TrainingInstanceType GetTrainingInstanceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + TrainingInstanceType enumValue; + if (GetEnumForNameHelper0(hashCode, enumValue)) + { + return enumValue; + } + else if (GetEnumForNameHelper1(hashCode, enumValue)) + { + return enumValue; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TrainingInstanceType::NOT_SET; + } + + Aws::String GetNameForTrainingInstanceType(TrainingInstanceType enumValue) + { + Aws::String value; + if (GetNameForEnumHelper0(enumValue, value)) + { + return value; + } + else if (GetNameForEnumHelper1(enumValue, value)) + { + return value; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); } + + return {}; } } // namespace TrainingInstanceTypeMapper diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp index fd6d1172295..032e1948078 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateProjectRequest.cpp @@ -45,6 +45,17 @@ Aws::String UpdateProjectRequest::SerializePayload() const } + if(m_templateProvidersToUpdateHasBeenSet) + { + Aws::Utils::Array templateProvidersToUpdateJsonList(m_templateProvidersToUpdate.size()); + for(unsigned templateProvidersToUpdateIndex = 0; templateProvidersToUpdateIndex < templateProvidersToUpdateJsonList.GetLength(); ++templateProvidersToUpdateIndex) + { + templateProvidersToUpdateJsonList[templateProvidersToUpdateIndex].AsObject(m_templateProvidersToUpdate[templateProvidersToUpdateIndex].Jsonize()); + } + payload.WithArray("TemplateProvidersToUpdate", std::move(templateProvidersToUpdateJsonList)); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp new file mode 100644 index 00000000000..e0eee9bf64b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateTemplateProvider.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +UpdateTemplateProvider::UpdateTemplateProvider(JsonView jsonValue) +{ + *this = jsonValue; +} + +UpdateTemplateProvider& UpdateTemplateProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CfnTemplateProvider")) + { + m_cfnTemplateProvider = jsonValue.GetObject("CfnTemplateProvider"); + m_cfnTemplateProviderHasBeenSet = true; + } + return *this; +} + +JsonValue UpdateTemplateProvider::Jsonize() const +{ + JsonValue payload; + + if(m_cfnTemplateProviderHasBeenSet) + { + payload.WithObject("CfnTemplateProvider", m_cfnTemplateProvider.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h index fcfc641ea33..eead7166bb2 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h @@ -452,25 +452,27 @@ namespace SecurityHub } /** - *

                                Used by Security Hub customers to update information about their - * investigation into a finding. Requested by administrator accounts or member - * accounts. Administrator accounts can update findings for their account and their - * member accounts. Member accounts can update findings for their account.

                                - *

                                Updates from BatchUpdateFindings don't affect the value of - * UpdatedAt for a finding.

                                Administrator and member accounts - * can use BatchUpdateFindings to update the following finding fields - * and objects.

                                • Confidence

                                • - * Criticality

                                • Note

                                • - *

                                  RelatedFindings

                                • Severity

                                  - *
                                • Types

                                • - * UserDefinedFields

                                • + *

                                  Used by Security Hub customers to update information about their + * investigation into one or more findings. Requested by administrator accounts or + * member accounts. Administrator accounts can update findings for their account + * and their member accounts. A member account can update findings only for their + * own account. Administrator and member accounts can use this operation to update + * the following fields and objects for one or more findings:

                                  • + * Confidence

                                  • Criticality

                                  • + *
                                  • Note

                                  • RelatedFindings

                                    + *
                                  • Severity

                                  • Types

                                    + *
                                  • UserDefinedFields

                                  • * VerificationState

                                  • Workflow

                                    - *

                                  You can configure IAM policies to restrict access to fields and - * field values. For example, you might not want member accounts to be able to - * suppress findings or change the finding severity. See

                                If you use this operation to update a finding, your updates + * don’t affect the value for the UpdatedAt field of the finding. Also + * note that it can take several minutes for Security Hub to process your request + * and update each finding specified in the request.

                                You can configure IAM + * policies to restrict access to fields and field values. For example, you might + * not want member accounts to be able to suppress findings or change the finding + * severity. For more information see Configuring - * access to BatchUpdateFindings in the Security Hub User - * Guide.

                                See Also:

                                in the Security Hub User Guide. + *

                                See Also:

                                AWS * API Reference

                                */ @@ -494,6 +496,43 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::BatchUpdateFindings, request, handler, context); } + /** + *

                                Used by customers to update information about their investigation into a + * finding. Requested by delegated administrator accounts or member accounts. + * Delegated administrator accounts can update findings for their account and their + * member accounts. Member accounts can update findings for their account. + * BatchUpdateFindings and BatchUpdateFindingV2 both use + * securityhub:BatchUpdateFindings in the Action element + * of an IAM policy statement. You must have permission to perform the + * securityhub:BatchUpdateFindings action. Updates from + * BatchUpdateFindingsV2 don't affect the value of + * finding_info.modified_time, + * finding_info.modified_time_dt, time, time_dt for + * a finding. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::BatchUpdateFindingsV2Outcome BatchUpdateFindingsV2(const Model::BatchUpdateFindingsV2Request& request = {}) const; + + /** + * A Callable wrapper for BatchUpdateFindingsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchUpdateFindingsV2OutcomeCallable BatchUpdateFindingsV2Callable(const BatchUpdateFindingsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::BatchUpdateFindingsV2, request); + } + + /** + * An Async wrapper for BatchUpdateFindingsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchUpdateFindingsV2Async(const BatchUpdateFindingsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const BatchUpdateFindingsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::BatchUpdateFindingsV2, request, handler, context); + } + /** *

                                For a batch of security controls and standards, this operation updates the * enablement status of a control in a standard.

                                See Also:

                                Grants permission to complete the authorization based on input parameters. + * This API is in preview release and subject to change.

                                See Also:

                                + *
                                AWS + * API Reference

                                + */ + virtual Model::ConnectorRegistrationsV2Outcome ConnectorRegistrationsV2(const Model::ConnectorRegistrationsV2Request& request) const; + + /** + * A Callable wrapper for ConnectorRegistrationsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ConnectorRegistrationsV2OutcomeCallable ConnectorRegistrationsV2Callable(const ConnectorRegistrationsV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::ConnectorRegistrationsV2, request); + } + + /** + * An Async wrapper for ConnectorRegistrationsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ConnectorRegistrationsV2Async(const ConnectorRegistrationsV2RequestT& request, const ConnectorRegistrationsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::ConnectorRegistrationsV2, request, handler, context); + } + /** *

                                Creates a custom action target in Security Hub.

                                You can use custom * actions on findings and insights in Security Hub to trigger target actions in @@ -547,6 +613,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::CreateActionTarget, request, handler, context); } + /** + *

                                Enables aggregation across Amazon Web Services Regions. This API is in + * private preview and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::CreateAggregatorV2Outcome CreateAggregatorV2(const Model::CreateAggregatorV2Request& request) const; + + /** + * A Callable wrapper for CreateAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAggregatorV2OutcomeCallable CreateAggregatorV2Callable(const CreateAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateAggregatorV2, request); + } + + /** + * An Async wrapper for CreateAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAggregatorV2Async(const CreateAggregatorV2RequestT& request, const CreateAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateAggregatorV2, request, handler, context); + } + /** *

                                Creates an automation rule based on input parameters.

                                See * Also:

                                Creates a V2 automation rule. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::CreateAutomationRuleV2Outcome CreateAutomationRuleV2(const Model::CreateAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for CreateAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateAutomationRuleV2OutcomeCallable CreateAutomationRuleV2Callable(const CreateAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateAutomationRuleV2, request); + } + + /** + * An Async wrapper for CreateAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateAutomationRuleV2Async(const CreateAutomationRuleV2RequestT& request, const CreateAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateAutomationRuleV2, request, handler, context); + } + /** *

                                Creates a configuration policy with the defined configuration. Only the * Security Hub delegated administrator can invoke this operation from the home @@ -600,6 +718,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::CreateConfigurationPolicy, request, handler, context); } + /** + *

                                Grants permission to create a connectorV2 based on input parameters. This API + * is in preview release and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::CreateConnectorV2Outcome CreateConnectorV2(const Model::CreateConnectorV2Request& request) const; + + /** + * A Callable wrapper for CreateConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateConnectorV2OutcomeCallable CreateConnectorV2Callable(const CreateConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateConnectorV2, request); + } + + /** + * An Async wrapper for CreateConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateConnectorV2Async(const CreateConnectorV2RequestT& request, const CreateConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateConnectorV2, request, handler, context); + } + /** *

                                The aggregation Region is now called the home * Region.

                                Used to enable cross-Region aggregation. This @@ -713,6 +857,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::CreateMembers, request, handler, context); } + /** + *

                                Grants permission to create a ticket in the chosen ITSM based on finding + * information for the provided finding metadata UID. This API is in preview + * release and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::CreateTicketV2Outcome CreateTicketV2(const Model::CreateTicketV2Request& request) const; + + /** + * A Callable wrapper for CreateTicketV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateTicketV2OutcomeCallable CreateTicketV2Callable(const CreateTicketV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::CreateTicketV2, request); + } + + /** + * An Async wrapper for CreateTicketV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateTicketV2Async(const CreateTicketV2RequestT& request, const CreateTicketV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::CreateTicketV2, request, handler, context); + } + /** *

                                We recommend using Organizations instead of Security Hub invitations * to manage your member accounts. For information, see Deletes the Aggregator V2. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::DeleteAggregatorV2Outcome DeleteAggregatorV2(const Model::DeleteAggregatorV2Request& request) const; + + /** + * A Callable wrapper for DeleteAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAggregatorV2OutcomeCallable DeleteAggregatorV2Callable(const DeleteAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::DeleteAggregatorV2, request); + } + + /** + * An Async wrapper for DeleteAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAggregatorV2Async(const DeleteAggregatorV2RequestT& request, const DeleteAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::DeleteAggregatorV2, request, handler, context); + } + + /** + *

                                Deletes a V2 automation rule. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::DeleteAutomationRuleV2Outcome DeleteAutomationRuleV2(const Model::DeleteAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for DeleteAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteAutomationRuleV2OutcomeCallable DeleteAutomationRuleV2Callable(const DeleteAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::DeleteAutomationRuleV2, request); + } + + /** + * An Async wrapper for DeleteAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteAutomationRuleV2Async(const DeleteAutomationRuleV2RequestT& request, const DeleteAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::DeleteAutomationRuleV2, request, handler, context); + } + /** *

                                Deletes a configuration policy. Only the Security Hub delegated * administrator can invoke this operation from the home Region. For the deletion @@ -804,6 +1027,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::DeleteConfigurationPolicy, request, handler, context); } + /** + *

                                Grants permission to delete a connectorV2. This API is in preview release and + * subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::DeleteConnectorV2Outcome DeleteConnectorV2(const Model::DeleteConnectorV2Request& request) const; + + /** + * A Callable wrapper for DeleteConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteConnectorV2OutcomeCallable DeleteConnectorV2Callable(const DeleteConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::DeleteConnectorV2, request); + } + + /** + * An Async wrapper for DeleteConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteConnectorV2Async(const DeleteConnectorV2RequestT& request, const DeleteConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::DeleteConnectorV2, request, handler, context); + } + /** *

                                The aggregation Region is now called the home * Region.

                                Deletes a finding aggregator. When you delete the @@ -1034,6 +1283,58 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::DescribeProducts, request, handler, context); } + /** + *

                                Gets information about the product integration. This API is in private + * preview and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::DescribeProductsV2Outcome DescribeProductsV2(const Model::DescribeProductsV2Request& request = {}) const; + + /** + * A Callable wrapper for DescribeProductsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeProductsV2OutcomeCallable DescribeProductsV2Callable(const DescribeProductsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::DescribeProductsV2, request); + } + + /** + * An Async wrapper for DescribeProductsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeProductsV2Async(const DescribeProductsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeProductsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::DescribeProductsV2, request, handler, context); + } + + /** + *

                                Returns details about the service resource in your account. This API is in + * private preview and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::DescribeSecurityHubV2Outcome DescribeSecurityHubV2(const Model::DescribeSecurityHubV2Request& request = {}) const; + + /** + * A Callable wrapper for DescribeSecurityHubV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeSecurityHubV2OutcomeCallable DescribeSecurityHubV2Callable(const DescribeSecurityHubV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::DescribeSecurityHubV2, request); + } + + /** + * An Async wrapper for DescribeSecurityHubV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeSecurityHubV2Async(const DescribeSecurityHubV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeSecurityHubV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::DescribeSecurityHubV2, request, handler, context); + } + /** *

                                Returns a list of the available standards in Security Hub.

                                For each * standard, the results include the standard ARN, the name, and a description. @@ -1177,6 +1478,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::DisableSecurityHub, request, handler, context); } + /** + *

                                Disable the service for the current Amazon Web Services Region or specified + * Amazon Web Services Region. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::DisableSecurityHubV2Outcome DisableSecurityHubV2(const Model::DisableSecurityHubV2Request& request = {}) const; + + /** + * A Callable wrapper for DisableSecurityHubV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisableSecurityHubV2OutcomeCallable DisableSecurityHubV2Callable(const DisableSecurityHubV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::DisableSecurityHubV2, request); + } + + /** + * An Async wrapper for DisableSecurityHubV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisableSecurityHubV2Async(const DisableSecurityHubV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DisableSecurityHubV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::DisableSecurityHubV2, request, handler, context); + } + /** *

                                Disassociates the current Security Hub member account from the associated * administrator account.

                                This operation is only used by accounts that are @@ -1329,6 +1657,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::EnableSecurityHub, request, handler, context); } + /** + *

                                Enables the service in account for the current Amazon Web Services Region or + * specified Amazon Web Services Region. This API is in private preview and subject + * to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::EnableSecurityHubV2Outcome EnableSecurityHubV2(const Model::EnableSecurityHubV2Request& request = {}) const; + + /** + * A Callable wrapper for EnableSecurityHubV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::EnableSecurityHubV2OutcomeCallable EnableSecurityHubV2Callable(const EnableSecurityHubV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::EnableSecurityHubV2, request); + } + + /** + * An Async wrapper for EnableSecurityHubV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void EnableSecurityHubV2Async(const EnableSecurityHubV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const EnableSecurityHubV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::EnableSecurityHubV2, request, handler, context); + } + /** *

                                Provides the details for the Security Hub administrator account for the * current member account.

                                Can be used by both member accounts that are @@ -1357,6 +1712,58 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetAdministratorAccount, request, handler, context); } + /** + *

                                Returns the configuration of the specified Aggregator V2. This API is in + * private preview and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetAggregatorV2Outcome GetAggregatorV2(const Model::GetAggregatorV2Request& request) const; + + /** + * A Callable wrapper for GetAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAggregatorV2OutcomeCallable GetAggregatorV2Callable(const GetAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetAggregatorV2, request); + } + + /** + * An Async wrapper for GetAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAggregatorV2Async(const GetAggregatorV2RequestT& request, const GetAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetAggregatorV2, request, handler, context); + } + + /** + *

                                Returns an automation rule for the V2 service. This API is in private preview + * and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetAutomationRuleV2Outcome GetAutomationRuleV2(const Model::GetAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for GetAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetAutomationRuleV2OutcomeCallable GetAutomationRuleV2Callable(const GetAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetAutomationRuleV2, request); + } + + /** + * An Async wrapper for GetAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetAutomationRuleV2Async(const GetAutomationRuleV2RequestT& request, const GetAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetAutomationRuleV2, request, handler, context); + } + /** *

                                Provides information about a configuration policy. Only the Security Hub * delegated administrator can invoke this operation from the home Region. @@ -1412,6 +1819,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetConfigurationPolicyAssociation, request, handler, context); } + /** + *

                                Grants permission to retrieve details for a connectorV2 based on connector + * id. This API is in preview release and subject to change.

                                See + * Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetConnectorV2Outcome GetConnectorV2(const Model::GetConnectorV2Request& request) const; + + /** + * A Callable wrapper for GetConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetConnectorV2OutcomeCallable GetConnectorV2Callable(const GetConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetConnectorV2, request); + } + + /** + * An Async wrapper for GetConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetConnectorV2Async(const GetConnectorV2RequestT& request, const GetConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetConnectorV2, request, handler, context); + } + /** *

                                Returns a list of the standards that are currently enabled.

                                See * Also:

                                Returns history for a Security Hub finding in the last 90 days. The history - * includes changes made to any fields in the Amazon Web Services Security Finding - * Format (ASFF).

                                See Also:

                                Returns the history of a Security Hub finding for the past 90 days. The + * history includes changes made to any fields in the Amazon Web Services Security + * Finding Format (ASFF) except top-level timestamp fields, such as the + * CreatedAt and UpdatedAt fields.

                                This operation + * might return fewer results than the maximum number of results + * (MaxResults) specified in a request, even when more results are + * available. If this occurs, the response includes a NextToken value, + * which you should use to retrieve the next set of results in the response. The + * presence of a NextToken value in a response doesn't necessarily + * indicate that the results are incomplete. However, you should continue to + * specify a NextToken value until you receive a response that doesn't + * include this value.

                                See Also:

                                AWS * API Reference

                                */ @@ -1494,6 +1937,36 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetFindingHistory, request, handler, context); } + /** + *

                                Returns aggregated statistical data about findings. + * GetFindingStatisticsV2 use + * securityhub:GetAdhocInsightResults in the Action + * element of an IAM policy statement. You must have permission to perform the + * s action. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetFindingStatisticsV2Outcome GetFindingStatisticsV2(const Model::GetFindingStatisticsV2Request& request) const; + + /** + * A Callable wrapper for GetFindingStatisticsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetFindingStatisticsV2OutcomeCallable GetFindingStatisticsV2Callable(const GetFindingStatisticsV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetFindingStatisticsV2, request); + } + + /** + * An Async wrapper for GetFindingStatisticsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetFindingStatisticsV2Async(const GetFindingStatisticsV2RequestT& request, const GetFindingStatisticsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetFindingStatisticsV2, request, handler, context); + } + /** *

                                Returns a list of findings that match the specified criteria.

                                If * cross-Region aggregation is enabled, then when you call GetFindings @@ -1522,6 +1995,36 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::GetFindings, request, handler, context); } + /** + *

                                Return a list of findings that match the specified criteria. + * GetFindings and GetFindingsV2 both use + * securityhub:GetFindings in the Action element of an + * IAM policy statement. You must have permission to perform the + * securityhub:GetFindings action. This API is in private preview and + * subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetFindingsV2Outcome GetFindingsV2(const Model::GetFindingsV2Request& request = {}) const; + + /** + * A Callable wrapper for GetFindingsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetFindingsV2OutcomeCallable GetFindingsV2Callable(const GetFindingsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::GetFindingsV2, request); + } + + /** + * An Async wrapper for GetFindingsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetFindingsV2Async(const GetFindingsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GetFindingsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::GetFindingsV2, request, handler, context); + } + /** *

                                Lists the results of the Security Hub insight specified by the insight * ARN.

                                See Also:

                                Retrieves statistical information about Amazon Web Services resources and + * their associated security findings. This API is in private preview and subject + * to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetResourcesStatisticsV2Outcome GetResourcesStatisticsV2(const Model::GetResourcesStatisticsV2Request& request) const; + + /** + * A Callable wrapper for GetResourcesStatisticsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourcesStatisticsV2OutcomeCallable GetResourcesStatisticsV2Callable(const GetResourcesStatisticsV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::GetResourcesStatisticsV2, request); + } + + /** + * An Async wrapper for GetResourcesStatisticsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourcesStatisticsV2Async(const GetResourcesStatisticsV2RequestT& request, const GetResourcesStatisticsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::GetResourcesStatisticsV2, request, handler, context); + } + + /** + *

                                Returns a list of resources. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::GetResourcesV2Outcome GetResourcesV2(const Model::GetResourcesV2Request& request = {}) const; + + /** + * A Callable wrapper for GetResourcesV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetResourcesV2OutcomeCallable GetResourcesV2Callable(const GetResourcesV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::GetResourcesV2, request); + } + + /** + * An Async wrapper for GetResourcesV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetResourcesV2Async(const GetResourcesV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GetResourcesV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::GetResourcesV2, request, handler, context); + } + /** *

                                Retrieves the definition of a security control. The definition includes the * control title, description, Region availability, parameter definitions, and @@ -1700,6 +2256,32 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::InviteMembers, request, handler, context); } + /** + *

                                Retrieves a list of V2 aggregators. This API is in private preview and + * subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::ListAggregatorsV2Outcome ListAggregatorsV2(const Model::ListAggregatorsV2Request& request = {}) const; + + /** + * A Callable wrapper for ListAggregatorsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAggregatorsV2OutcomeCallable ListAggregatorsV2Callable(const ListAggregatorsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::ListAggregatorsV2, request); + } + + /** + * An Async wrapper for ListAggregatorsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAggregatorsV2Async(const ListAggregatorsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListAggregatorsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::ListAggregatorsV2, request, handler, context); + } + /** *

                                A list of automation rules and their metadata for the calling account. *

                                See Also:

                                Returns a list of automation rules and metadata for the calling account. This + * API is in private preview and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::ListAutomationRulesV2Outcome ListAutomationRulesV2(const Model::ListAutomationRulesV2Request& request = {}) const; + + /** + * A Callable wrapper for ListAutomationRulesV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListAutomationRulesV2OutcomeCallable ListAutomationRulesV2Callable(const ListAutomationRulesV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::ListAutomationRulesV2, request); + } + + /** + * An Async wrapper for ListAutomationRulesV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListAutomationRulesV2Async(const ListAutomationRulesV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListAutomationRulesV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::ListAutomationRulesV2, request, handler, context); + } + /** *

                                Lists the configuration policies that the Security Hub delegated * administrator has created for your organization. Only the delegated @@ -1781,6 +2389,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::ListConfigurationPolicyAssociations, request, handler, context); } + /** + *

                                Grants permission to retrieve a list of connectorsV2 and their metadata for + * the calling account. This API is in preview release and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::ListConnectorsV2Outcome ListConnectorsV2(const Model::ListConnectorsV2Request& request = {}) const; + + /** + * A Callable wrapper for ListConnectorsV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListConnectorsV2OutcomeCallable ListConnectorsV2Callable(const ListConnectorsV2RequestT& request = {}) const + { + return SubmitCallable(&SecurityHubClient::ListConnectorsV2, request); + } + + /** + * An Async wrapper for ListConnectorsV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListConnectorsV2Async(const ListConnectorsV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListConnectorsV2RequestT& request = {}) const + { + return SubmitAsync(&SecurityHubClient::ListConnectorsV2, request, handler, context); + } + /** *

                                Lists all findings-generating solutions (products) that you are subscribed to * receive findings from in Security Hub.

                                See Also:

                                Udpates the configuration for the Aggregator V2. This API is in private + * preview and subject to change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::UpdateAggregatorV2Outcome UpdateAggregatorV2(const Model::UpdateAggregatorV2Request& request) const; + + /** + * A Callable wrapper for UpdateAggregatorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAggregatorV2OutcomeCallable UpdateAggregatorV2Callable(const UpdateAggregatorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateAggregatorV2, request); + } + + /** + * An Async wrapper for UpdateAggregatorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAggregatorV2Async(const UpdateAggregatorV2RequestT& request, const UpdateAggregatorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateAggregatorV2, request, handler, context); + } + + /** + *

                                Updates a V2 automation rule. This API is in private preview and subject to + * change.

                                See Also:

                                AWS + * API Reference

                                + */ + virtual Model::UpdateAutomationRuleV2Outcome UpdateAutomationRuleV2(const Model::UpdateAutomationRuleV2Request& request) const; + + /** + * A Callable wrapper for UpdateAutomationRuleV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateAutomationRuleV2OutcomeCallable UpdateAutomationRuleV2Callable(const UpdateAutomationRuleV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateAutomationRuleV2, request); + } + + /** + * An Async wrapper for UpdateAutomationRuleV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateAutomationRuleV2Async(const UpdateAutomationRuleV2RequestT& request, const UpdateAutomationRuleV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateAutomationRuleV2, request, handler, context); + } + /** *

                                Updates a configuration policy. Only the Security Hub delegated * administrator can invoke this operation from the home Region.

                                See @@ -2165,6 +2852,33 @@ namespace SecurityHub return SubmitAsync(&SecurityHubClient::UpdateConfigurationPolicy, request, handler, context); } + /** + *

                                Grants permission to update a connectorV2 based on its id and input + * parameters. This API is in preview release and subject to change.

                                See + * Also:

                                AWS + * API Reference

                                + */ + virtual Model::UpdateConnectorV2Outcome UpdateConnectorV2(const Model::UpdateConnectorV2Request& request) const; + + /** + * A Callable wrapper for UpdateConnectorV2 that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateConnectorV2OutcomeCallable UpdateConnectorV2Callable(const UpdateConnectorV2RequestT& request) const + { + return SubmitCallable(&SecurityHubClient::UpdateConnectorV2, request); + } + + /** + * An Async wrapper for UpdateConnectorV2 that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateConnectorV2Async(const UpdateConnectorV2RequestT& request, const UpdateConnectorV2ResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&SecurityHubClient::UpdateConnectorV2, request, handler, context); + } + /** *

                                The aggregation Region is now called the home * Region.

                                Updates cross-Region aggregation settings. You can diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h index 2fa76286913..36a7a8da734 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubErrors.h @@ -47,7 +47,9 @@ enum class SecurityHubErrors UNKNOWN = 100, /////////////////////////////////////////////////////////////////////////////////////////// - INTERNAL= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL, + INTERNAL_SERVER, INVALID_ACCESS, INVALID_INPUT, LIMIT_EXCEEDED, diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h index ab5a5a56152..3ca974e7b76 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h @@ -29,16 +29,25 @@ #include #include #include +#include #include +#include #include +#include #include +#include #include +#include #include #include #include +#include #include #include +#include +#include #include +#include #include #include #include @@ -47,32 +56,46 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include #include #include +#include #include +#include +#include #include #include +#include #include #include #include +#include #include +#include #include #include #include #include +#include +#include #include #include +#include #include +#include #include #include +#include #include #include #include @@ -86,7 +109,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -95,27 +121,37 @@ #include #include #include +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include #include -#include +#include #include #include #include -#include #include -#include -#include #include -#include #include -#include -#include +#include #include /* End of service model headers required in SecurityHubClient header */ @@ -168,16 +204,25 @@ namespace Aws class BatchImportFindingsRequest; class BatchUpdateAutomationRulesRequest; class BatchUpdateFindingsRequest; + class BatchUpdateFindingsV2Request; class BatchUpdateStandardsControlAssociationsRequest; + class ConnectorRegistrationsV2Request; class CreateActionTargetRequest; + class CreateAggregatorV2Request; class CreateAutomationRuleRequest; + class CreateAutomationRuleV2Request; class CreateConfigurationPolicyRequest; + class CreateConnectorV2Request; class CreateFindingAggregatorRequest; class CreateInsightRequest; class CreateMembersRequest; + class CreateTicketV2Request; class DeclineInvitationsRequest; class DeleteActionTargetRequest; + class DeleteAggregatorV2Request; + class DeleteAutomationRuleV2Request; class DeleteConfigurationPolicyRequest; + class DeleteConnectorV2Request; class DeleteFindingAggregatorRequest; class DeleteInsightRequest; class DeleteInvitationsRequest; @@ -186,32 +231,46 @@ namespace Aws class DescribeHubRequest; class DescribeOrganizationConfigurationRequest; class DescribeProductsRequest; + class DescribeProductsV2Request; + class DescribeSecurityHubV2Request; class DescribeStandardsRequest; class DescribeStandardsControlsRequest; class DisableImportFindingsForProductRequest; class DisableOrganizationAdminAccountRequest; class DisableSecurityHubRequest; + class DisableSecurityHubV2Request; class DisassociateFromAdministratorAccountRequest; class DisassociateMembersRequest; class EnableImportFindingsForProductRequest; class EnableOrganizationAdminAccountRequest; class EnableSecurityHubRequest; + class EnableSecurityHubV2Request; class GetAdministratorAccountRequest; + class GetAggregatorV2Request; + class GetAutomationRuleV2Request; class GetConfigurationPolicyRequest; class GetConfigurationPolicyAssociationRequest; + class GetConnectorV2Request; class GetEnabledStandardsRequest; class GetFindingAggregatorRequest; class GetFindingHistoryRequest; + class GetFindingStatisticsV2Request; class GetFindingsRequest; + class GetFindingsV2Request; class GetInsightResultsRequest; class GetInsightsRequest; class GetInvitationsCountRequest; class GetMembersRequest; + class GetResourcesStatisticsV2Request; + class GetResourcesV2Request; class GetSecurityControlDefinitionRequest; class InviteMembersRequest; + class ListAggregatorsV2Request; class ListAutomationRulesRequest; + class ListAutomationRulesV2Request; class ListConfigurationPoliciesRequest; class ListConfigurationPolicyAssociationsRequest; + class ListConnectorsV2Request; class ListEnabledProductsForImportRequest; class ListFindingAggregatorsRequest; class ListInvitationsRequest; @@ -225,7 +284,10 @@ namespace Aws class TagResourceRequest; class UntagResourceRequest; class UpdateActionTargetRequest; + class UpdateAggregatorV2Request; + class UpdateAutomationRuleV2Request; class UpdateConfigurationPolicyRequest; + class UpdateConnectorV2Request; class UpdateFindingAggregatorRequest; class UpdateFindingsRequest; class UpdateInsightRequest; @@ -247,16 +309,25 @@ namespace Aws typedef Aws::Utils::Outcome BatchImportFindingsOutcome; typedef Aws::Utils::Outcome BatchUpdateAutomationRulesOutcome; typedef Aws::Utils::Outcome BatchUpdateFindingsOutcome; + typedef Aws::Utils::Outcome BatchUpdateFindingsV2Outcome; typedef Aws::Utils::Outcome BatchUpdateStandardsControlAssociationsOutcome; + typedef Aws::Utils::Outcome ConnectorRegistrationsV2Outcome; typedef Aws::Utils::Outcome CreateActionTargetOutcome; + typedef Aws::Utils::Outcome CreateAggregatorV2Outcome; typedef Aws::Utils::Outcome CreateAutomationRuleOutcome; + typedef Aws::Utils::Outcome CreateAutomationRuleV2Outcome; typedef Aws::Utils::Outcome CreateConfigurationPolicyOutcome; + typedef Aws::Utils::Outcome CreateConnectorV2Outcome; typedef Aws::Utils::Outcome CreateFindingAggregatorOutcome; typedef Aws::Utils::Outcome CreateInsightOutcome; typedef Aws::Utils::Outcome CreateMembersOutcome; + typedef Aws::Utils::Outcome CreateTicketV2Outcome; typedef Aws::Utils::Outcome DeclineInvitationsOutcome; typedef Aws::Utils::Outcome DeleteActionTargetOutcome; + typedef Aws::Utils::Outcome DeleteAggregatorV2Outcome; + typedef Aws::Utils::Outcome DeleteAutomationRuleV2Outcome; typedef Aws::Utils::Outcome DeleteConfigurationPolicyOutcome; + typedef Aws::Utils::Outcome DeleteConnectorV2Outcome; typedef Aws::Utils::Outcome DeleteFindingAggregatorOutcome; typedef Aws::Utils::Outcome DeleteInsightOutcome; typedef Aws::Utils::Outcome DeleteInvitationsOutcome; @@ -265,32 +336,46 @@ namespace Aws typedef Aws::Utils::Outcome DescribeHubOutcome; typedef Aws::Utils::Outcome DescribeOrganizationConfigurationOutcome; typedef Aws::Utils::Outcome DescribeProductsOutcome; + typedef Aws::Utils::Outcome DescribeProductsV2Outcome; + typedef Aws::Utils::Outcome DescribeSecurityHubV2Outcome; typedef Aws::Utils::Outcome DescribeStandardsOutcome; typedef Aws::Utils::Outcome DescribeStandardsControlsOutcome; typedef Aws::Utils::Outcome DisableImportFindingsForProductOutcome; typedef Aws::Utils::Outcome DisableOrganizationAdminAccountOutcome; typedef Aws::Utils::Outcome DisableSecurityHubOutcome; + typedef Aws::Utils::Outcome DisableSecurityHubV2Outcome; typedef Aws::Utils::Outcome DisassociateFromAdministratorAccountOutcome; typedef Aws::Utils::Outcome DisassociateMembersOutcome; typedef Aws::Utils::Outcome EnableImportFindingsForProductOutcome; typedef Aws::Utils::Outcome EnableOrganizationAdminAccountOutcome; typedef Aws::Utils::Outcome EnableSecurityHubOutcome; + typedef Aws::Utils::Outcome EnableSecurityHubV2Outcome; typedef Aws::Utils::Outcome GetAdministratorAccountOutcome; + typedef Aws::Utils::Outcome GetAggregatorV2Outcome; + typedef Aws::Utils::Outcome GetAutomationRuleV2Outcome; typedef Aws::Utils::Outcome GetConfigurationPolicyOutcome; typedef Aws::Utils::Outcome GetConfigurationPolicyAssociationOutcome; + typedef Aws::Utils::Outcome GetConnectorV2Outcome; typedef Aws::Utils::Outcome GetEnabledStandardsOutcome; typedef Aws::Utils::Outcome GetFindingAggregatorOutcome; typedef Aws::Utils::Outcome GetFindingHistoryOutcome; + typedef Aws::Utils::Outcome GetFindingStatisticsV2Outcome; typedef Aws::Utils::Outcome GetFindingsOutcome; + typedef Aws::Utils::Outcome GetFindingsV2Outcome; typedef Aws::Utils::Outcome GetInsightResultsOutcome; typedef Aws::Utils::Outcome GetInsightsOutcome; typedef Aws::Utils::Outcome GetInvitationsCountOutcome; typedef Aws::Utils::Outcome GetMembersOutcome; + typedef Aws::Utils::Outcome GetResourcesStatisticsV2Outcome; + typedef Aws::Utils::Outcome GetResourcesV2Outcome; typedef Aws::Utils::Outcome GetSecurityControlDefinitionOutcome; typedef Aws::Utils::Outcome InviteMembersOutcome; + typedef Aws::Utils::Outcome ListAggregatorsV2Outcome; typedef Aws::Utils::Outcome ListAutomationRulesOutcome; + typedef Aws::Utils::Outcome ListAutomationRulesV2Outcome; typedef Aws::Utils::Outcome ListConfigurationPoliciesOutcome; typedef Aws::Utils::Outcome ListConfigurationPolicyAssociationsOutcome; + typedef Aws::Utils::Outcome ListConnectorsV2Outcome; typedef Aws::Utils::Outcome ListEnabledProductsForImportOutcome; typedef Aws::Utils::Outcome ListFindingAggregatorsOutcome; typedef Aws::Utils::Outcome ListInvitationsOutcome; @@ -304,7 +389,10 @@ namespace Aws typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateActionTargetOutcome; + typedef Aws::Utils::Outcome UpdateAggregatorV2Outcome; + typedef Aws::Utils::Outcome UpdateAutomationRuleV2Outcome; typedef Aws::Utils::Outcome UpdateConfigurationPolicyOutcome; + typedef Aws::Utils::Outcome UpdateConnectorV2Outcome; typedef Aws::Utils::Outcome UpdateFindingAggregatorOutcome; typedef Aws::Utils::Outcome UpdateFindingsOutcome; typedef Aws::Utils::Outcome UpdateInsightOutcome; @@ -326,16 +414,25 @@ namespace Aws typedef std::future BatchImportFindingsOutcomeCallable; typedef std::future BatchUpdateAutomationRulesOutcomeCallable; typedef std::future BatchUpdateFindingsOutcomeCallable; + typedef std::future BatchUpdateFindingsV2OutcomeCallable; typedef std::future BatchUpdateStandardsControlAssociationsOutcomeCallable; + typedef std::future ConnectorRegistrationsV2OutcomeCallable; typedef std::future CreateActionTargetOutcomeCallable; + typedef std::future CreateAggregatorV2OutcomeCallable; typedef std::future CreateAutomationRuleOutcomeCallable; + typedef std::future CreateAutomationRuleV2OutcomeCallable; typedef std::future CreateConfigurationPolicyOutcomeCallable; + typedef std::future CreateConnectorV2OutcomeCallable; typedef std::future CreateFindingAggregatorOutcomeCallable; typedef std::future CreateInsightOutcomeCallable; typedef std::future CreateMembersOutcomeCallable; + typedef std::future CreateTicketV2OutcomeCallable; typedef std::future DeclineInvitationsOutcomeCallable; typedef std::future DeleteActionTargetOutcomeCallable; + typedef std::future DeleteAggregatorV2OutcomeCallable; + typedef std::future DeleteAutomationRuleV2OutcomeCallable; typedef std::future DeleteConfigurationPolicyOutcomeCallable; + typedef std::future DeleteConnectorV2OutcomeCallable; typedef std::future DeleteFindingAggregatorOutcomeCallable; typedef std::future DeleteInsightOutcomeCallable; typedef std::future DeleteInvitationsOutcomeCallable; @@ -344,32 +441,46 @@ namespace Aws typedef std::future DescribeHubOutcomeCallable; typedef std::future DescribeOrganizationConfigurationOutcomeCallable; typedef std::future DescribeProductsOutcomeCallable; + typedef std::future DescribeProductsV2OutcomeCallable; + typedef std::future DescribeSecurityHubV2OutcomeCallable; typedef std::future DescribeStandardsOutcomeCallable; typedef std::future DescribeStandardsControlsOutcomeCallable; typedef std::future DisableImportFindingsForProductOutcomeCallable; typedef std::future DisableOrganizationAdminAccountOutcomeCallable; typedef std::future DisableSecurityHubOutcomeCallable; + typedef std::future DisableSecurityHubV2OutcomeCallable; typedef std::future DisassociateFromAdministratorAccountOutcomeCallable; typedef std::future DisassociateMembersOutcomeCallable; typedef std::future EnableImportFindingsForProductOutcomeCallable; typedef std::future EnableOrganizationAdminAccountOutcomeCallable; typedef std::future EnableSecurityHubOutcomeCallable; + typedef std::future EnableSecurityHubV2OutcomeCallable; typedef std::future GetAdministratorAccountOutcomeCallable; + typedef std::future GetAggregatorV2OutcomeCallable; + typedef std::future GetAutomationRuleV2OutcomeCallable; typedef std::future GetConfigurationPolicyOutcomeCallable; typedef std::future GetConfigurationPolicyAssociationOutcomeCallable; + typedef std::future GetConnectorV2OutcomeCallable; typedef std::future GetEnabledStandardsOutcomeCallable; typedef std::future GetFindingAggregatorOutcomeCallable; typedef std::future GetFindingHistoryOutcomeCallable; + typedef std::future GetFindingStatisticsV2OutcomeCallable; typedef std::future GetFindingsOutcomeCallable; + typedef std::future GetFindingsV2OutcomeCallable; typedef std::future GetInsightResultsOutcomeCallable; typedef std::future GetInsightsOutcomeCallable; typedef std::future GetInvitationsCountOutcomeCallable; typedef std::future GetMembersOutcomeCallable; + typedef std::future GetResourcesStatisticsV2OutcomeCallable; + typedef std::future GetResourcesV2OutcomeCallable; typedef std::future GetSecurityControlDefinitionOutcomeCallable; typedef std::future InviteMembersOutcomeCallable; + typedef std::future ListAggregatorsV2OutcomeCallable; typedef std::future ListAutomationRulesOutcomeCallable; + typedef std::future ListAutomationRulesV2OutcomeCallable; typedef std::future ListConfigurationPoliciesOutcomeCallable; typedef std::future ListConfigurationPolicyAssociationsOutcomeCallable; + typedef std::future ListConnectorsV2OutcomeCallable; typedef std::future ListEnabledProductsForImportOutcomeCallable; typedef std::future ListFindingAggregatorsOutcomeCallable; typedef std::future ListInvitationsOutcomeCallable; @@ -383,7 +494,10 @@ namespace Aws typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateActionTargetOutcomeCallable; + typedef std::future UpdateAggregatorV2OutcomeCallable; + typedef std::future UpdateAutomationRuleV2OutcomeCallable; typedef std::future UpdateConfigurationPolicyOutcomeCallable; + typedef std::future UpdateConnectorV2OutcomeCallable; typedef std::future UpdateFindingAggregatorOutcomeCallable; typedef std::future UpdateFindingsOutcomeCallable; typedef std::future UpdateInsightOutcomeCallable; @@ -408,16 +522,25 @@ namespace Aws typedef std::function&) > BatchImportFindingsResponseReceivedHandler; typedef std::function&) > BatchUpdateAutomationRulesResponseReceivedHandler; typedef std::function&) > BatchUpdateFindingsResponseReceivedHandler; + typedef std::function&) > BatchUpdateFindingsV2ResponseReceivedHandler; typedef std::function&) > BatchUpdateStandardsControlAssociationsResponseReceivedHandler; + typedef std::function&) > ConnectorRegistrationsV2ResponseReceivedHandler; typedef std::function&) > CreateActionTargetResponseReceivedHandler; + typedef std::function&) > CreateAggregatorV2ResponseReceivedHandler; typedef std::function&) > CreateAutomationRuleResponseReceivedHandler; + typedef std::function&) > CreateAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > CreateConfigurationPolicyResponseReceivedHandler; + typedef std::function&) > CreateConnectorV2ResponseReceivedHandler; typedef std::function&) > CreateFindingAggregatorResponseReceivedHandler; typedef std::function&) > CreateInsightResponseReceivedHandler; typedef std::function&) > CreateMembersResponseReceivedHandler; + typedef std::function&) > CreateTicketV2ResponseReceivedHandler; typedef std::function&) > DeclineInvitationsResponseReceivedHandler; typedef std::function&) > DeleteActionTargetResponseReceivedHandler; + typedef std::function&) > DeleteAggregatorV2ResponseReceivedHandler; + typedef std::function&) > DeleteAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > DeleteConfigurationPolicyResponseReceivedHandler; + typedef std::function&) > DeleteConnectorV2ResponseReceivedHandler; typedef std::function&) > DeleteFindingAggregatorResponseReceivedHandler; typedef std::function&) > DeleteInsightResponseReceivedHandler; typedef std::function&) > DeleteInvitationsResponseReceivedHandler; @@ -426,32 +549,46 @@ namespace Aws typedef std::function&) > DescribeHubResponseReceivedHandler; typedef std::function&) > DescribeOrganizationConfigurationResponseReceivedHandler; typedef std::function&) > DescribeProductsResponseReceivedHandler; + typedef std::function&) > DescribeProductsV2ResponseReceivedHandler; + typedef std::function&) > DescribeSecurityHubV2ResponseReceivedHandler; typedef std::function&) > DescribeStandardsResponseReceivedHandler; typedef std::function&) > DescribeStandardsControlsResponseReceivedHandler; typedef std::function&) > DisableImportFindingsForProductResponseReceivedHandler; typedef std::function&) > DisableOrganizationAdminAccountResponseReceivedHandler; typedef std::function&) > DisableSecurityHubResponseReceivedHandler; + typedef std::function&) > DisableSecurityHubV2ResponseReceivedHandler; typedef std::function&) > DisassociateFromAdministratorAccountResponseReceivedHandler; typedef std::function&) > DisassociateMembersResponseReceivedHandler; typedef std::function&) > EnableImportFindingsForProductResponseReceivedHandler; typedef std::function&) > EnableOrganizationAdminAccountResponseReceivedHandler; typedef std::function&) > EnableSecurityHubResponseReceivedHandler; + typedef std::function&) > EnableSecurityHubV2ResponseReceivedHandler; typedef std::function&) > GetAdministratorAccountResponseReceivedHandler; + typedef std::function&) > GetAggregatorV2ResponseReceivedHandler; + typedef std::function&) > GetAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > GetConfigurationPolicyResponseReceivedHandler; typedef std::function&) > GetConfigurationPolicyAssociationResponseReceivedHandler; + typedef std::function&) > GetConnectorV2ResponseReceivedHandler; typedef std::function&) > GetEnabledStandardsResponseReceivedHandler; typedef std::function&) > GetFindingAggregatorResponseReceivedHandler; typedef std::function&) > GetFindingHistoryResponseReceivedHandler; + typedef std::function&) > GetFindingStatisticsV2ResponseReceivedHandler; typedef std::function&) > GetFindingsResponseReceivedHandler; + typedef std::function&) > GetFindingsV2ResponseReceivedHandler; typedef std::function&) > GetInsightResultsResponseReceivedHandler; typedef std::function&) > GetInsightsResponseReceivedHandler; typedef std::function&) > GetInvitationsCountResponseReceivedHandler; typedef std::function&) > GetMembersResponseReceivedHandler; + typedef std::function&) > GetResourcesStatisticsV2ResponseReceivedHandler; + typedef std::function&) > GetResourcesV2ResponseReceivedHandler; typedef std::function&) > GetSecurityControlDefinitionResponseReceivedHandler; typedef std::function&) > InviteMembersResponseReceivedHandler; + typedef std::function&) > ListAggregatorsV2ResponseReceivedHandler; typedef std::function&) > ListAutomationRulesResponseReceivedHandler; + typedef std::function&) > ListAutomationRulesV2ResponseReceivedHandler; typedef std::function&) > ListConfigurationPoliciesResponseReceivedHandler; typedef std::function&) > ListConfigurationPolicyAssociationsResponseReceivedHandler; + typedef std::function&) > ListConnectorsV2ResponseReceivedHandler; typedef std::function&) > ListEnabledProductsForImportResponseReceivedHandler; typedef std::function&) > ListFindingAggregatorsResponseReceivedHandler; typedef std::function&) > ListInvitationsResponseReceivedHandler; @@ -465,7 +602,10 @@ namespace Aws typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateActionTargetResponseReceivedHandler; + typedef std::function&) > UpdateAggregatorV2ResponseReceivedHandler; + typedef std::function&) > UpdateAutomationRuleV2ResponseReceivedHandler; typedef std::function&) > UpdateConfigurationPolicyResponseReceivedHandler; + typedef std::function&) > UpdateConnectorV2ResponseReceivedHandler; typedef std::function&) > UpdateFindingAggregatorResponseReceivedHandler; typedef std::function&) > UpdateFindingsResponseReceivedHandler; typedef std::function&) > UpdateInsightResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AggregatorV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AggregatorV2.h new file mode 100644 index 00000000000..d4491815bca --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AggregatorV2.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Specifies a cross-Region data aggregation configuration, including the + * aggregation Region and any linked Regions.

                                See Also:

                                AWS + * API Reference

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

                                The ARN of the aggregatorV2.

                                + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + AggregatorV2& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AllowedOperators.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AllowedOperators.h new file mode 100644 index 00000000000..c3b951c99b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AllowedOperators.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class AllowedOperators + { + NOT_SET, + AND, + OR + }; + +namespace AllowedOperatorsMapper +{ +AWS_SECURITYHUB_API AllowedOperators GetAllowedOperatorsForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForAllowedOperators(AllowedOperators value); +} // namespace AllowedOperatorsMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeObjectV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeObjectV2.h new file mode 100644 index 00000000000..94ced4a7c79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeObjectV2.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Allows you to customize security response workflows.

                                See Also:

                                + * AWS + * API Reference

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

                                The category of action to be executed by the automation rule.

                                + */ + inline AutomationRulesActionTypeV2 GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(AutomationRulesActionTypeV2 value) { m_typeHasBeenSet = true; m_type = value; } + inline AutomationRulesActionTypeObjectV2& WithType(AutomationRulesActionTypeV2 value) { SetType(value); return *this;} + ///@} + private: + + AutomationRulesActionTypeV2 m_type{AutomationRulesActionTypeV2::NOT_SET}; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeV2.h new file mode 100644 index 00000000000..d3d5b63af11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionTypeV2.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class AutomationRulesActionTypeV2 + { + NOT_SET, + FINDING_FIELDS_UPDATE, + EXTERNAL_INTEGRATION + }; + +namespace AutomationRulesActionTypeV2Mapper +{ +AWS_SECURITYHUB_API AutomationRulesActionTypeV2 GetAutomationRulesActionTypeV2ForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForAutomationRulesActionTypeV2(AutomationRulesActionTypeV2 value); +} // namespace AutomationRulesActionTypeV2Mapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionV2.h new file mode 100644 index 00000000000..2d8c0439109 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesActionV2.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Allows you to configure automated responses.

                                See Also:

                                AWS + * API Reference

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

                                The category of action to be executed by the automation rule.

                                + */ + inline AutomationRulesActionTypeV2 GetType() const { return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(AutomationRulesActionTypeV2 value) { m_typeHasBeenSet = true; m_type = value; } + inline AutomationRulesActionV2& WithType(AutomationRulesActionTypeV2 value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

                                The changes to be applied to fields in a security finding when an automation + * rule is triggered.

                                + */ + inline const AutomationRulesFindingFieldsUpdateV2& GetFindingFieldsUpdate() const { return m_findingFieldsUpdate; } + inline bool FindingFieldsUpdateHasBeenSet() const { return m_findingFieldsUpdateHasBeenSet; } + template + void SetFindingFieldsUpdate(FindingFieldsUpdateT&& value) { m_findingFieldsUpdateHasBeenSet = true; m_findingFieldsUpdate = std::forward(value); } + template + AutomationRulesActionV2& WithFindingFieldsUpdate(FindingFieldsUpdateT&& value) { SetFindingFieldsUpdate(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The settings for integrating automation rule actions with external systems or + * service.

                                + */ + inline const ExternalIntegrationConfiguration& GetExternalIntegrationConfiguration() const { return m_externalIntegrationConfiguration; } + inline bool ExternalIntegrationConfigurationHasBeenSet() const { return m_externalIntegrationConfigurationHasBeenSet; } + template + void SetExternalIntegrationConfiguration(ExternalIntegrationConfigurationT&& value) { m_externalIntegrationConfigurationHasBeenSet = true; m_externalIntegrationConfiguration = std::forward(value); } + template + AutomationRulesActionV2& WithExternalIntegrationConfiguration(ExternalIntegrationConfigurationT&& value) { SetExternalIntegrationConfiguration(std::forward(value)); return *this;} + ///@} + private: + + AutomationRulesActionTypeV2 m_type{AutomationRulesActionTypeV2::NOT_SET}; + bool m_typeHasBeenSet = false; + + AutomationRulesFindingFieldsUpdateV2 m_findingFieldsUpdate; + bool m_findingFieldsUpdateHasBeenSet = false; + + ExternalIntegrationConfiguration m_externalIntegrationConfiguration; + bool m_externalIntegrationConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesFindingFieldsUpdateV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesFindingFieldsUpdateV2.h new file mode 100644 index 00000000000..c3042f8755b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesFindingFieldsUpdateV2.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Allows you to define the structure for modifying specific fields in security + * findings.

                                See Also:

                                AWS + * API Reference

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

                                The severity level to be assigned to findings that match the automation rule + * criteria.

                                + */ + inline int GetSeverityId() const { return m_severityId; } + inline bool SeverityIdHasBeenSet() const { return m_severityIdHasBeenSet; } + inline void SetSeverityId(int value) { m_severityIdHasBeenSet = true; m_severityId = value; } + inline AutomationRulesFindingFieldsUpdateV2& WithSeverityId(int value) { SetSeverityId(value); return *this;} + ///@} + + ///@{ + /** + *

                                Notes or contextual information for findings that are modified by the + * automation rule.

                                + */ + inline const Aws::String& GetComment() const { return m_comment; } + inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } + template + void SetComment(CommentT&& value) { m_commentHasBeenSet = true; m_comment = std::forward(value); } + template + AutomationRulesFindingFieldsUpdateV2& WithComment(CommentT&& value) { SetComment(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The status to be applied to findings that match automation rule criteria.

                                + */ + inline int GetStatusId() const { return m_statusId; } + inline bool StatusIdHasBeenSet() const { return m_statusIdHasBeenSet; } + inline void SetStatusId(int value) { m_statusIdHasBeenSet = true; m_statusId = value; } + inline AutomationRulesFindingFieldsUpdateV2& WithStatusId(int value) { SetStatusId(value); return *this;} + ///@} + private: + + int m_severityId{0}; + bool m_severityIdHasBeenSet = false; + + Aws::String m_comment; + bool m_commentHasBeenSet = false; + + int m_statusId{0}; + bool m_statusIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesMetadataV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesMetadataV2.h new file mode 100644 index 00000000000..cd02f0ef8dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/AutomationRulesMetadataV2.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Includes essential metadata information about automation rules.

                                See + * Also:

                                AWS + * API Reference

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

                                The ARN of the automation rule.

                                + */ + inline const Aws::String& GetRuleArn() const { return m_ruleArn; } + inline bool RuleArnHasBeenSet() const { return m_ruleArnHasBeenSet; } + template + void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::forward(value); } + template + AutomationRulesMetadataV2& WithRuleArn(RuleArnT&& value) { SetRuleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The ID of the automation rule.

                                + */ + inline const Aws::String& GetRuleId() const { return m_ruleId; } + inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; } + template + void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::forward(value); } + template + AutomationRulesMetadataV2& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The value for the rule priority.

                                + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline AutomationRulesMetadataV2& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

                                The name of the automation rule.

                                + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + AutomationRulesMetadataV2& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The status of the automation rule.

                                + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline AutomationRulesMetadataV2& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                                An explanation for the purpose and funcitonality of the automation rule.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + AutomationRulesMetadataV2& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The list of action to be performed when the rule criteria is met.

                                + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + AutomationRulesMetadataV2& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + AutomationRulesMetadataV2& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The timestamp for when the automation rule was created.

                                + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + AutomationRulesMetadataV2& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The timestamp for the most recent modification to the automation rule.

                                + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + template + void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward(value); } + template + AutomationRulesMetadataV2& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleArn; + bool m_ruleArnHasBeenSet = false; + + Aws::String m_ruleId; + bool m_ruleIdHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt{}; + bool m_updatedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2ProcessedFinding.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2ProcessedFinding.h new file mode 100644 index 00000000000..5d70294316e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2ProcessedFinding.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The list of findings that were updated.

                                See Also:

                                AWS + * API Reference

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

                                The finding identifier of a processed finding.

                                + */ + inline const OcsfFindingIdentifier& GetFindingIdentifier() const { return m_findingIdentifier; } + inline bool FindingIdentifierHasBeenSet() const { return m_findingIdentifierHasBeenSet; } + template + void SetFindingIdentifier(FindingIdentifierT&& value) { m_findingIdentifierHasBeenSet = true; m_findingIdentifier = std::forward(value); } + template + BatchUpdateFindingsV2ProcessedFinding& WithFindingIdentifier(FindingIdentifierT&& value) { SetFindingIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The metadata.uid of a processed finding.

                                + */ + inline const Aws::String& GetMetadataUid() const { return m_metadataUid; } + inline bool MetadataUidHasBeenSet() const { return m_metadataUidHasBeenSet; } + template + void SetMetadataUid(MetadataUidT&& value) { m_metadataUidHasBeenSet = true; m_metadataUid = std::forward(value); } + template + BatchUpdateFindingsV2ProcessedFinding& WithMetadataUid(MetadataUidT&& value) { SetMetadataUid(std::forward(value)); return *this;} + ///@} + private: + + OcsfFindingIdentifier m_findingIdentifier; + bool m_findingIdentifierHasBeenSet = false; + + Aws::String m_metadataUid; + bool m_metadataUidHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Request.h new file mode 100644 index 00000000000..e1c0f0566ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Request.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class BatchUpdateFindingsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API BatchUpdateFindingsV2Request() = default; + + // 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 "BatchUpdateFindingsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The list of finding metadata.uid to indicate findings to update. + * Finding metadata.uid is a globally unique identifier associated + * with the finding. Customers cannot use MetadataUids together with + * FindingIdentifiers.

                                + */ + inline const Aws::Vector& GetMetadataUids() const { return m_metadataUids; } + inline bool MetadataUidsHasBeenSet() const { return m_metadataUidsHasBeenSet; } + template> + void SetMetadataUids(MetadataUidsT&& value) { m_metadataUidsHasBeenSet = true; m_metadataUids = std::forward(value); } + template> + BatchUpdateFindingsV2Request& WithMetadataUids(MetadataUidsT&& value) { SetMetadataUids(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Request& AddMetadataUids(MetadataUidsT&& value) { m_metadataUidsHasBeenSet = true; m_metadataUids.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Provides information to identify a specific V2 finding.

                                + */ + inline const Aws::Vector& GetFindingIdentifiers() const { return m_findingIdentifiers; } + inline bool FindingIdentifiersHasBeenSet() const { return m_findingIdentifiersHasBeenSet; } + template> + void SetFindingIdentifiers(FindingIdentifiersT&& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers = std::forward(value); } + template> + BatchUpdateFindingsV2Request& WithFindingIdentifiers(FindingIdentifiersT&& value) { SetFindingIdentifiers(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Request& AddFindingIdentifiers(FindingIdentifiersT&& value) { m_findingIdentifiersHasBeenSet = true; m_findingIdentifiers.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The updated value for a user provided comment about the finding. Minimum + * character length 1. Maximum character length 512.

                                + */ + inline const Aws::String& GetComment() const { return m_comment; } + inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } + template + void SetComment(CommentT&& value) { m_commentHasBeenSet = true; m_comment = std::forward(value); } + template + BatchUpdateFindingsV2Request& WithComment(CommentT&& value) { SetComment(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The updated value for the normalized severity identifier. The severity ID is + * an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 99]. When customer + * provides the updated severity ID, the string sibling severity will automatically + * be updated in the finding.

                                + */ + inline int GetSeverityId() const { return m_severityId; } + inline bool SeverityIdHasBeenSet() const { return m_severityIdHasBeenSet; } + inline void SetSeverityId(int value) { m_severityIdHasBeenSet = true; m_severityId = value; } + inline BatchUpdateFindingsV2Request& WithSeverityId(int value) { SetSeverityId(value); return *this;} + ///@} + + ///@{ + /** + *

                                The updated value for the normalized status identifier. The status ID is an + * integer with the allowed enum values [0, 1, 2, 3, 4, 5, 6, 99]. When customer + * provides the updated status ID, the string sibling status will automatically be + * updated in the finding.

                                + */ + inline int GetStatusId() const { return m_statusId; } + inline bool StatusIdHasBeenSet() const { return m_statusIdHasBeenSet; } + inline void SetStatusId(int value) { m_statusIdHasBeenSet = true; m_statusId = value; } + inline BatchUpdateFindingsV2Request& WithStatusId(int value) { SetStatusId(value); return *this;} + ///@} + private: + + Aws::Vector m_metadataUids; + bool m_metadataUidsHasBeenSet = false; + + Aws::Vector m_findingIdentifiers; + bool m_findingIdentifiersHasBeenSet = false; + + Aws::String m_comment; + bool m_commentHasBeenSet = false; + + int m_severityId{0}; + bool m_severityIdHasBeenSet = false; + + int m_statusId{0}; + bool m_statusIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Result.h new file mode 100644 index 00000000000..835247feaf0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2Result.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class BatchUpdateFindingsV2Result + { + public: + AWS_SECURITYHUB_API BatchUpdateFindingsV2Result() = default; + AWS_SECURITYHUB_API BatchUpdateFindingsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API BatchUpdateFindingsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The list of findings that were updated successfully.

                                + */ + inline const Aws::Vector& GetProcessedFindings() const { return m_processedFindings; } + template> + void SetProcessedFindings(ProcessedFindingsT&& value) { m_processedFindingsHasBeenSet = true; m_processedFindings = std::forward(value); } + template> + BatchUpdateFindingsV2Result& WithProcessedFindings(ProcessedFindingsT&& value) { SetProcessedFindings(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Result& AddProcessedFindings(ProcessedFindingsT&& value) { m_processedFindingsHasBeenSet = true; m_processedFindings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The list of V2 findings that were not updated.

                                + */ + inline const Aws::Vector& GetUnprocessedFindings() const { return m_unprocessedFindings; } + template> + void SetUnprocessedFindings(UnprocessedFindingsT&& value) { m_unprocessedFindingsHasBeenSet = true; m_unprocessedFindings = std::forward(value); } + template> + BatchUpdateFindingsV2Result& WithUnprocessedFindings(UnprocessedFindingsT&& value) { SetUnprocessedFindings(std::forward(value)); return *this;} + template + BatchUpdateFindingsV2Result& AddUnprocessedFindings(UnprocessedFindingsT&& value) { m_unprocessedFindingsHasBeenSet = true; m_unprocessedFindings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + BatchUpdateFindingsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_processedFindings; + bool m_processedFindingsHasBeenSet = false; + + Aws::Vector m_unprocessedFindings; + bool m_unprocessedFindingsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFinding.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFinding.h new file mode 100644 index 00000000000..eacf0c55579 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFinding.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The list of findings that were not updated.

                                See Also:

                                AWS + * API Reference

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

                                The finding identifier of an unprocessed finding.

                                + */ + inline const OcsfFindingIdentifier& GetFindingIdentifier() const { return m_findingIdentifier; } + inline bool FindingIdentifierHasBeenSet() const { return m_findingIdentifierHasBeenSet; } + template + void SetFindingIdentifier(FindingIdentifierT&& value) { m_findingIdentifierHasBeenSet = true; m_findingIdentifier = std::forward(value); } + template + BatchUpdateFindingsV2UnprocessedFinding& WithFindingIdentifier(FindingIdentifierT&& value) { SetFindingIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The metadata.uid of an unprocessed finding.

                                + */ + inline const Aws::String& GetMetadataUid() const { return m_metadataUid; } + inline bool MetadataUidHasBeenSet() const { return m_metadataUidHasBeenSet; } + template + void SetMetadataUid(MetadataUidT&& value) { m_metadataUidHasBeenSet = true; m_metadataUid = std::forward(value); } + template + BatchUpdateFindingsV2UnprocessedFinding& WithMetadataUid(MetadataUidT&& value) { SetMetadataUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Indicates the specific type of error preventing successful processing of a + * finding during a batch update operation.

                                + */ + inline BatchUpdateFindingsV2UnprocessedFindingErrorCode GetErrorCode() const { return m_errorCode; } + inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } + inline void SetErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } + inline BatchUpdateFindingsV2UnprocessedFinding& WithErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode value) { SetErrorCode(value); return *this;} + ///@} + + ///@{ + /** + *

                                A detailed description of why a finding could not be processed during a batch + * update operation.

                                + */ + inline const Aws::String& GetErrorMessage() const { return m_errorMessage; } + inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } + template + void SetErrorMessage(ErrorMessageT&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::forward(value); } + template + BatchUpdateFindingsV2UnprocessedFinding& WithErrorMessage(ErrorMessageT&& value) { SetErrorMessage(std::forward(value)); return *this;} + ///@} + private: + + OcsfFindingIdentifier m_findingIdentifier; + bool m_findingIdentifierHasBeenSet = false; + + Aws::String m_metadataUid; + bool m_metadataUidHasBeenSet = false; + + BatchUpdateFindingsV2UnprocessedFindingErrorCode m_errorCode{BatchUpdateFindingsV2UnprocessedFindingErrorCode::NOT_SET}; + bool m_errorCodeHasBeenSet = false; + + Aws::String m_errorMessage; + bool m_errorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.h new file mode 100644 index 00000000000..caf40a61adc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class BatchUpdateFindingsV2UnprocessedFindingErrorCode + { + NOT_SET, + ResourceNotFoundException, + ValidationException, + InternalServerException, + ConflictException + }; + +namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper +{ +AWS_SECURITYHUB_API BatchUpdateFindingsV2UnprocessedFindingErrorCode GetBatchUpdateFindingsV2UnprocessedFindingErrorCodeForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForBatchUpdateFindingsV2UnprocessedFindingErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode value); +} // namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CompositeFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CompositeFilter.h new file mode 100644 index 00000000000..6a0dd751983 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CompositeFilter.h @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables the creation of filtering criteria for security + * findings.

                                See Also:

                                AWS + * API Reference

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

                                Enables filtering based on string field values.

                                + */ + inline const Aws::Vector& GetStringFilters() const { return m_stringFilters; } + inline bool StringFiltersHasBeenSet() const { return m_stringFiltersHasBeenSet; } + template> + void SetStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters = std::forward(value); } + template> + CompositeFilter& WithStringFilters(StringFiltersT&& value) { SetStringFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on date and timestamp fields.

                                + */ + inline const Aws::Vector& GetDateFilters() const { return m_dateFilters; } + inline bool DateFiltersHasBeenSet() const { return m_dateFiltersHasBeenSet; } + template> + void SetDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters = std::forward(value); } + template> + CompositeFilter& WithDateFilters(DateFiltersT&& value) { SetDateFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on boolean field values.

                                + */ + inline const Aws::Vector& GetBooleanFilters() const { return m_booleanFilters; } + inline bool BooleanFiltersHasBeenSet() const { return m_booleanFiltersHasBeenSet; } + template> + void SetBooleanFilters(BooleanFiltersT&& value) { m_booleanFiltersHasBeenSet = true; m_booleanFilters = std::forward(value); } + template> + CompositeFilter& WithBooleanFilters(BooleanFiltersT&& value) { SetBooleanFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddBooleanFilters(BooleanFiltersT&& value) { m_booleanFiltersHasBeenSet = true; m_booleanFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on numerical field values.

                                + */ + inline const Aws::Vector& GetNumberFilters() const { return m_numberFilters; } + inline bool NumberFiltersHasBeenSet() const { return m_numberFiltersHasBeenSet; } + template> + void SetNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters = std::forward(value); } + template> + CompositeFilter& WithNumberFilters(NumberFiltersT&& value) { SetNumberFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on map field values.

                                + */ + inline const Aws::Vector& GetMapFilters() const { return m_mapFilters; } + inline bool MapFiltersHasBeenSet() const { return m_mapFiltersHasBeenSet; } + template> + void SetMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters = std::forward(value); } + template> + CompositeFilter& WithMapFilters(MapFiltersT&& value) { SetMapFilters(std::forward(value)); return *this;} + template + CompositeFilter& AddMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The logical operator used to combine multiple filter conditions.

                                + */ + inline AllowedOperators GetOperator() const { return m_operator; } + inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } + inline void SetOperator(AllowedOperators value) { m_operatorHasBeenSet = true; m_operator = value; } + inline CompositeFilter& WithOperator(AllowedOperators value) { SetOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_stringFilters; + bool m_stringFiltersHasBeenSet = false; + + Aws::Vector m_dateFilters; + bool m_dateFiltersHasBeenSet = false; + + Aws::Vector m_booleanFilters; + bool m_booleanFiltersHasBeenSet = false; + + Aws::Vector m_numberFilters; + bool m_numberFiltersHasBeenSet = false; + + Aws::Vector m_mapFilters; + bool m_mapFiltersHasBeenSet = false; + + AllowedOperators m_operator{AllowedOperators::NOT_SET}; + bool m_operatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConflictException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConflictException.h new file mode 100644 index 00000000000..59420edda82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConflictException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The request causes conflict with the current state of the service + * resource.

                                See Also:

                                AWS + * API Reference

                                + */ + class ConflictException + { + public: + AWS_SECURITYHUB_API ConflictException() = default; + AWS_SECURITYHUB_API ConflictException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ConflictException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ConflictException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + ConflictException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorAuthStatus.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorAuthStatus.h new file mode 100644 index 00000000000..685bee420bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorAuthStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectorAuthStatus + { + NOT_SET, + ACTIVE, + FAILED + }; + +namespace ConnectorAuthStatusMapper +{ +AWS_SECURITYHUB_API ConnectorAuthStatus GetConnectorAuthStatusForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectorAuthStatus(ConnectorAuthStatus value); +} // namespace ConnectorAuthStatusMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorProviderName.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorProviderName.h new file mode 100644 index 00000000000..aa5d72a539d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorProviderName.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectorProviderName + { + NOT_SET, + JIRA_CLOUD, + SERVICENOW + }; + +namespace ConnectorProviderNameMapper +{ +AWS_SECURITYHUB_API ConnectorProviderName GetConnectorProviderNameForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectorProviderName(ConnectorProviderName value); +} // namespace ConnectorProviderNameMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Request.h new file mode 100644 index 00000000000..8087c5290e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Request.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ConnectorRegistrationsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ConnectorRegistrationsV2Request() = default; + + // 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 "ConnectorRegistrationsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The authCode retrieved from authUrl to complete the OAuth 2.0 authorization + * code flow.

                                + */ + inline const Aws::String& GetAuthCode() const { return m_authCode; } + inline bool AuthCodeHasBeenSet() const { return m_authCodeHasBeenSet; } + template + void SetAuthCode(AuthCodeT&& value) { m_authCodeHasBeenSet = true; m_authCode = std::forward(value); } + template + ConnectorRegistrationsV2Request& WithAuthCode(AuthCodeT&& value) { SetAuthCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The authState retrieved from authUrl to complete the OAuth 2.0 authorization + * code flow.

                                + */ + inline const Aws::String& GetAuthState() const { return m_authState; } + inline bool AuthStateHasBeenSet() const { return m_authStateHasBeenSet; } + template + void SetAuthState(AuthStateT&& value) { m_authStateHasBeenSet = true; m_authState = std::forward(value); } + template + ConnectorRegistrationsV2Request& WithAuthState(AuthStateT&& value) { SetAuthState(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_authCode; + bool m_authCodeHasBeenSet = false; + + Aws::String m_authState; + bool m_authStateHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Result.h new file mode 100644 index 00000000000..c7ebf8212d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorRegistrationsV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ConnectorRegistrationsV2Result + { + public: + AWS_SECURITYHUB_API ConnectorRegistrationsV2Result() = default; + AWS_SECURITYHUB_API ConnectorRegistrationsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ConnectorRegistrationsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The Amazon Resource Name (ARN) of the connectorV2.

                                + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + ConnectorRegistrationsV2Result& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + ConnectorRegistrationsV2Result& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ConnectorRegistrationsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorStatus.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorStatus.h new file mode 100644 index 00000000000..cd92c89b294 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ConnectorStatus + { + NOT_SET, + CONNECTED, + FAILED_TO_CONNECT, + PENDING_CONFIGURATION, + PENDING_AUTHORIZATION + }; + +namespace ConnectorStatusMapper +{ +AWS_SECURITYHUB_API ConnectorStatus GetConnectorStatusForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForConnectorStatus(ConnectorStatus value); +} // namespace ConnectorStatusMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorSummary.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorSummary.h new file mode 100644 index 00000000000..8414f83c71c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ConnectorSummary.h @@ -0,0 +1,138 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                A condensed overview of the connectorV2..

                                See Also:

                                AWS + * API Reference

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

                                The Amazon Resource Name (ARN) of the connectorV2.

                                + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + inline bool ConnectorArnHasBeenSet() const { return m_connectorArnHasBeenSet; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + ConnectorSummary& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + ConnectorSummary& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Name field contains the user-defined name assigned to the integration + * connector. This helps identify and manage multiple connectors within Security + * Hub.

                                + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ConnectorSummary& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The description of the connectorV2.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + ConnectorSummary& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The connectorV2 third party provider configuration summary.

                                + */ + inline const ProviderSummary& GetProviderSummary() const { return m_providerSummary; } + inline bool ProviderSummaryHasBeenSet() const { return m_providerSummaryHasBeenSet; } + template + void SetProviderSummary(ProviderSummaryT&& value) { m_providerSummaryHasBeenSet = true; m_providerSummary = std::forward(value); } + template + ConnectorSummary& WithProviderSummary(ProviderSummaryT&& value) { SetProviderSummary(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                ISO 8601 UTC timestamp for the time create the connectorV2.

                                + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + ConnectorSummary& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ProviderSummary m_providerSummary; + bool m_providerSummaryHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Request.h new file mode 100644 index 00000000000..65dc913c968 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Request.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateAggregatorV2Request() = default; + + // 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 "CreateAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                Determines how Regions are linked to an Aggregator V2.

                                + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + inline bool RegionLinkingModeHasBeenSet() const { return m_regionLinkingModeHasBeenSet; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + CreateAggregatorV2Request& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The list of Regions that are linked to the aggregation Region.

                                + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + inline bool LinkedRegionsHasBeenSet() const { return m_linkedRegionsHasBeenSet; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + CreateAggregatorV2Request& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + CreateAggregatorV2Request& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                A list of key-value pairs to be applied to the AggregatorV2.

                                + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateAggregatorV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateAggregatorV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

                                A unique identifier used to ensure idempotency.

                                + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateAggregatorV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Result.h new file mode 100644 index 00000000000..5cf9866557a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAggregatorV2Result.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateAggregatorV2Result + { + public: + AWS_SECURITYHUB_API CreateAggregatorV2Result() = default; + AWS_SECURITYHUB_API CreateAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ARN of the AggregatorV2.

                                + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + CreateAggregatorV2Result& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon Web Services Region where data is aggregated.

                                + */ + inline const Aws::String& GetAggregationRegion() const { return m_aggregationRegion; } + template + void SetAggregationRegion(AggregationRegionT&& value) { m_aggregationRegionHasBeenSet = true; m_aggregationRegion = std::forward(value); } + template + CreateAggregatorV2Result& WithAggregationRegion(AggregationRegionT&& value) { SetAggregationRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Determines how Regions are linked to an Aggregator V2.

                                + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + CreateAggregatorV2Result& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The list of Regions that are linked to the aggregation Region.

                                + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + CreateAggregatorV2Result& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + CreateAggregatorV2Result& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_aggregationRegion; + bool m_aggregationRegionHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Request.h new file mode 100644 index 00000000000..14e61a36062 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Request.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateAutomationRuleV2Request() = default; + + // 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 "CreateAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The name of the V2 automation rule.

                                + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + CreateAutomationRuleV2Request& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The status of the V2 automation rule.

                                + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline CreateAutomationRuleV2Request& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                                A description of the V2 automation rule.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateAutomationRuleV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The value for the rule priority.

                                + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline CreateAutomationRuleV2Request& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

                                The filtering type and configuration of the automation rule.

                                + */ + inline const Criteria& GetCriteria() const { return m_criteria; } + inline bool CriteriaHasBeenSet() const { return m_criteriaHasBeenSet; } + template + void SetCriteria(CriteriaT&& value) { m_criteriaHasBeenSet = true; m_criteria = std::forward(value); } + template + CreateAutomationRuleV2Request& WithCriteria(CriteriaT&& value) { SetCriteria(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                A list of actions to be performed when the rule criteria is met.

                                + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + CreateAutomationRuleV2Request& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + CreateAutomationRuleV2Request& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                A list of key-value pairs associated with the V2 automation rule.

                                + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateAutomationRuleV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateAutomationRuleV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

                                A unique identifier used to ensure idempotency.

                                + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateAutomationRuleV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Criteria m_criteria; + bool m_criteriaHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Result.h new file mode 100644 index 00000000000..885852cbe03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateAutomationRuleV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API CreateAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API CreateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ARN of the V2 automation rule.

                                + */ + inline const Aws::String& GetRuleArn() const { return m_ruleArn; } + template + void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::forward(value); } + template + CreateAutomationRuleV2Result& WithRuleArn(RuleArnT&& value) { SetRuleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The ID of the V2 automation rule.

                                + */ + inline const Aws::String& GetRuleId() const { return m_ruleId; } + template + void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::forward(value); } + template + CreateAutomationRuleV2Result& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleArn; + bool m_ruleArnHasBeenSet = false; + + Aws::String m_ruleId; + bool m_ruleIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Request.h new file mode 100644 index 00000000000..07bd79e47a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Request.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateConnectorV2Request() = default; + + // 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 "CreateConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The unique name of the connectorV2.

                                + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + CreateConnectorV2Request& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The description of the connectorV2.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + CreateConnectorV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The third-party provider’s service configuration.

                                + */ + inline const ProviderConfiguration& GetProvider() const { return m_provider; } + inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; } + template + void SetProvider(ProviderT&& value) { m_providerHasBeenSet = true; m_provider = std::forward(value); } + template + CreateConnectorV2Request& WithProvider(ProviderT&& value) { SetProvider(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon Resource Name (ARN) of KMS key used to encrypt secrets for the + * connectorV2.

                                + */ + inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; } + inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } + template + void SetKmsKeyArn(KmsKeyArnT&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::forward(value); } + template + CreateConnectorV2Request& WithKmsKeyArn(KmsKeyArnT&& value) { SetKmsKeyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The tags to add to the connectorV2 when you create.

                                + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateConnectorV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateConnectorV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + + ///@{ + /** + *

                                A unique identifier used to ensure idempotency.

                                + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateConnectorV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ProviderConfiguration m_provider; + bool m_providerHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Result.h new file mode 100644 index 00000000000..e437b97bfe1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateConnectorV2Result.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateConnectorV2Result + { + public: + AWS_SECURITYHUB_API CreateConnectorV2Result() = default; + AWS_SECURITYHUB_API CreateConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The Amazon Resource Name (ARN) of the connectorV2.

                                + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + CreateConnectorV2Result& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + CreateConnectorV2Result& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Url provide to customers for OAuth auth code flow.

                                + */ + inline const Aws::String& GetAuthUrl() const { return m_authUrl; } + template + void SetAuthUrl(AuthUrlT&& value) { m_authUrlHasBeenSet = true; m_authUrl = std::forward(value); } + template + CreateConnectorV2Result& WithAuthUrl(AuthUrlT&& value) { SetAuthUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_authUrl; + bool m_authUrlHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Request.h new file mode 100644 index 00000000000..962a243c7ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Request.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class CreateTicketV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API CreateTicketV2Request() = default; + + // 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 "CreateTicketV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + CreateTicketV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The the unique ID for the finding.

                                + */ + inline const Aws::String& GetFindingMetadataUid() const { return m_findingMetadataUid; } + inline bool FindingMetadataUidHasBeenSet() const { return m_findingMetadataUidHasBeenSet; } + template + void SetFindingMetadataUid(FindingMetadataUidT&& value) { m_findingMetadataUidHasBeenSet = true; m_findingMetadataUid = std::forward(value); } + template + CreateTicketV2Request& WithFindingMetadataUid(FindingMetadataUidT&& value) { SetFindingMetadataUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The client idempotency token.

                                + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateTicketV2Request& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_findingMetadataUid; + bool m_findingMetadataUidHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Result.h new file mode 100644 index 00000000000..d46cda59935 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/CreateTicketV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class CreateTicketV2Result + { + public: + AWS_SECURITYHUB_API CreateTicketV2Result() = default; + AWS_SECURITYHUB_API CreateTicketV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API CreateTicketV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ID for the ticketv2.

                                + */ + inline const Aws::String& GetTicketId() const { return m_ticketId; } + template + void SetTicketId(TicketIdT&& value) { m_ticketIdHasBeenSet = true; m_ticketId = std::forward(value); } + template + CreateTicketV2Result& WithTicketId(TicketIdT&& value) { SetTicketId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The url to the created ticket.

                                + */ + inline const Aws::String& GetTicketSrcUrl() const { return m_ticketSrcUrl; } + template + void SetTicketSrcUrl(TicketSrcUrlT&& value) { m_ticketSrcUrlHasBeenSet = true; m_ticketSrcUrl = std::forward(value); } + template + CreateTicketV2Result& WithTicketSrcUrl(TicketSrcUrlT&& value) { SetTicketSrcUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateTicketV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ticketId; + bool m_ticketIdHasBeenSet = false; + + Aws::String m_ticketSrcUrl; + bool m_ticketSrcUrlHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Criteria.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Criteria.h new file mode 100644 index 00000000000..01590fbde08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/Criteria.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Defines the parameters and conditions used to evaluate and filter security + * findings.

                                See Also:

                                AWS + * API Reference

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

                                The filtering conditions that align with OCSF standards.

                                + */ + inline const OcsfFindingFilters& GetOcsfFindingCriteria() const { return m_ocsfFindingCriteria; } + inline bool OcsfFindingCriteriaHasBeenSet() const { return m_ocsfFindingCriteriaHasBeenSet; } + template + void SetOcsfFindingCriteria(OcsfFindingCriteriaT&& value) { m_ocsfFindingCriteriaHasBeenSet = true; m_ocsfFindingCriteria = std::forward(value); } + template + Criteria& WithOcsfFindingCriteria(OcsfFindingCriteriaT&& value) { SetOcsfFindingCriteria(std::forward(value)); return *this;} + ///@} + private: + + OcsfFindingFilters m_ocsfFindingCriteria; + bool m_ocsfFindingCriteriaHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Request.h new file mode 100644 index 00000000000..de4c7a66371 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Request.h @@ -0,0 +1,54 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class DeleteAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DeleteAggregatorV2Request() = default; + + // 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 "DeleteAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The ARN of the Aggregator V2.

                                + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + DeleteAggregatorV2Request& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Result.h new file mode 100644 index 00000000000..bc6a4114b8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAggregatorV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DeleteAggregatorV2Result + { + public: + AWS_SECURITYHUB_API DeleteAggregatorV2Result() = default; + AWS_SECURITYHUB_API DeleteAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DeleteAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Request.h new file mode 100644 index 00000000000..f051bd51863 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Request.h @@ -0,0 +1,54 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class DeleteAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DeleteAutomationRuleV2Request() = default; + + // 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 "DeleteAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The ARN of the V2 automation rule.

                                + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + DeleteAutomationRuleV2Request& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Result.h new file mode 100644 index 00000000000..8fde166b420 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteAutomationRuleV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DeleteAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API DeleteAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API DeleteAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DeleteAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Request.h new file mode 100644 index 00000000000..b13da5bdc33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Request.h @@ -0,0 +1,54 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class DeleteConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DeleteConnectorV2Request() = default; + + // 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 "DeleteConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + DeleteConnectorV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Result.h new file mode 100644 index 00000000000..c00d3913b47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DeleteConnectorV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DeleteConnectorV2Result + { + public: + AWS_SECURITYHUB_API DeleteConnectorV2Result() = default; + AWS_SECURITYHUB_API DeleteConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DeleteConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Request.h new file mode 100644 index 00000000000..4a0cc7982f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Request.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DescribeProductsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DescribeProductsV2Request() = default; + + // 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 "DescribeProductsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                                The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + DescribeProductsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to return.

                                + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline DescribeProductsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Result.h new file mode 100644 index 00000000000..349e8731bb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeProductsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DescribeProductsV2Result + { + public: + AWS_SECURITYHUB_API DescribeProductsV2Result() = default; + AWS_SECURITYHUB_API DescribeProductsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DescribeProductsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                Gets information about the product integration.

                                + */ + inline const Aws::Vector& GetProductsV2() const { return m_productsV2; } + template> + void SetProductsV2(ProductsV2T&& value) { m_productsV2HasBeenSet = true; m_productsV2 = std::forward(value); } + template> + DescribeProductsV2Result& WithProductsV2(ProductsV2T&& value) { SetProductsV2(std::forward(value)); return *this;} + template + DescribeProductsV2Result& AddProductsV2(ProductsV2T&& value) { m_productsV2HasBeenSet = true; m_productsV2.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + DescribeProductsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DescribeProductsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_productsV2; + bool m_productsV2HasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Request.h new file mode 100644 index 00000000000..b6a2c6611bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Request.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DescribeSecurityHubV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DescribeSecurityHubV2Request() = default; + + // 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 "DescribeSecurityHubV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Result.h new file mode 100644 index 00000000000..7c2a73d80b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DescribeSecurityHubV2Result.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DescribeSecurityHubV2Result + { + public: + AWS_SECURITYHUB_API DescribeSecurityHubV2Result() = default; + AWS_SECURITYHUB_API DescribeSecurityHubV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DescribeSecurityHubV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ARN of the service resource.

                                + */ + inline const Aws::String& GetHubV2Arn() const { return m_hubV2Arn; } + template + void SetHubV2Arn(HubV2ArnT&& value) { m_hubV2ArnHasBeenSet = true; m_hubV2Arn = std::forward(value); } + template + DescribeSecurityHubV2Result& WithHubV2Arn(HubV2ArnT&& value) { SetHubV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The date and time when the service was enabled in the account.

                                + */ + inline const Aws::String& GetSubscribedAt() const { return m_subscribedAt; } + template + void SetSubscribedAt(SubscribedAtT&& value) { m_subscribedAtHasBeenSet = true; m_subscribedAt = std::forward(value); } + template + DescribeSecurityHubV2Result& WithSubscribedAt(SubscribedAtT&& value) { SetSubscribedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DescribeSecurityHubV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_hubV2Arn; + bool m_hubV2ArnHasBeenSet = false; + + Aws::String m_subscribedAt; + bool m_subscribedAtHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h index f7a0fa3c7b6..5d186d99373 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableOrganizationAdminAccountRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -44,10 +45,24 @@ namespace Model template DisableOrganizationAdminAccountRequest& WithAdminAccountId(AdminAccountIdT&& value) { SetAdminAccountId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                                The feature for which the delegated admin account is disabled. Defaults to + * Security Hub if not specified.

                                + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline bool FeatureHasBeenSet() const { return m_featureHasBeenSet; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline DisableOrganizationAdminAccountRequest& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} private: Aws::String m_adminAccountId; bool m_adminAccountIdHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Request.h new file mode 100644 index 00000000000..8c78a5badc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Request.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class DisableSecurityHubV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API DisableSecurityHubV2Request() = default; + + // 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 "DisableSecurityHubV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Result.h new file mode 100644 index 00000000000..62019fdcd16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/DisableSecurityHubV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class DisableSecurityHubV2Result + { + public: + AWS_SECURITYHUB_API DisableSecurityHubV2Result() = default; + AWS_SECURITYHUB_API DisableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API DisableSecurityHubV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DisableSecurityHubV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h index faf98144e76..6d85fc980a7 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -44,10 +45,24 @@ namespace Model template EnableOrganizationAdminAccountRequest& WithAdminAccountId(AdminAccountIdT&& value) { SetAdminAccountId(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                                The feature for which the delegated admin account is enabled. Defaults to + * Security Hub if not specified.

                                + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline bool FeatureHasBeenSet() const { return m_featureHasBeenSet; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline EnableOrganizationAdminAccountRequest& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} private: Aws::String m_adminAccountId; bool m_adminAccountIdHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h index 344fe35bffd..d76c161dbc0 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableOrganizationAdminAccountResult.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -32,6 +33,28 @@ namespace Model AWS_SECURITYHUB_API EnableOrganizationAdminAccountResult& operator=(const Aws::AmazonWebServiceResult& result); + ///@{ + /** + *

                                The Amazon Web Services account identifier of the account to designate as the + * Security Hub administrator account.

                                + */ + inline const Aws::String& GetAdminAccountId() const { return m_adminAccountId; } + template + void SetAdminAccountId(AdminAccountIdT&& value) { m_adminAccountIdHasBeenSet = true; m_adminAccountId = std::forward(value); } + template + EnableOrganizationAdminAccountResult& WithAdminAccountId(AdminAccountIdT&& value) { SetAdminAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The feature where the delegated administrator is enabled. The default is + * Security Hub CSPM if no delegated administrator is specified in the request.

                                + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline EnableOrganizationAdminAccountResult& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -42,6 +65,12 @@ namespace Model ///@} private: + Aws::String m_adminAccountId; + bool m_adminAccountIdHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Request.h new file mode 100644 index 00000000000..321a820c12f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Request.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 +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class EnableSecurityHubV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API EnableSecurityHubV2Request() = default; + + // 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 "EnableSecurityHubV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The tags to add to the hub V2 resource when you enable Security Hub.

                                + */ + inline const Aws::Map& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + EnableSecurityHubV2Request& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + EnableSecurityHubV2Request& AddTags(TagsKeyT&& key, TagsValueT&& value) { + m_tagsHasBeenSet = true; m_tags.emplace(std::forward(key), std::forward(value)); return *this; + } + ///@} + private: + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Result.h new file mode 100644 index 00000000000..265204b0b0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/EnableSecurityHubV2Result.h @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class EnableSecurityHubV2Result + { + public: + AWS_SECURITYHUB_API EnableSecurityHubV2Result() = default; + AWS_SECURITYHUB_API EnableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API EnableSecurityHubV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ARN of the V2 resource that was created.

                                + */ + inline const Aws::String& GetHubV2Arn() const { return m_hubV2Arn; } + template + void SetHubV2Arn(HubV2ArnT&& value) { m_hubV2ArnHasBeenSet = true; m_hubV2Arn = std::forward(value); } + template + EnableSecurityHubV2Result& WithHubV2Arn(HubV2ArnT&& value) { SetHubV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + EnableSecurityHubV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_hubV2Arn; + bool m_hubV2ArnHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ExternalIntegrationConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ExternalIntegrationConfiguration.h new file mode 100644 index 00000000000..7b17643127f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ExternalIntegrationConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Defines the settings and parameters required for integrating external + * security tools and services.

                                See Also:

                                AWS + * API Reference

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

                                The ARN of the connector that establishes the integration.

                                + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + inline bool ConnectorArnHasBeenSet() const { return m_connectorArnHasBeenSet; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + ExternalIntegrationConfiguration& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Request.h new file mode 100644 index 00000000000..89317f43e7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Request.h @@ -0,0 +1,54 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class GetAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetAggregatorV2Request() = default; + + // 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 "GetAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The ARN of the Aggregator V2.

                                + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + GetAggregatorV2Request& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Result.h new file mode 100644 index 00000000000..7bcedbf49ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAggregatorV2Result.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetAggregatorV2Result + { + public: + AWS_SECURITYHUB_API GetAggregatorV2Result() = default; + AWS_SECURITYHUB_API GetAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ARN of the Aggregator V2.

                                + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + GetAggregatorV2Result& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon Web Services Region where data is aggregated.

                                + */ + inline const Aws::String& GetAggregationRegion() const { return m_aggregationRegion; } + template + void SetAggregationRegion(AggregationRegionT&& value) { m_aggregationRegionHasBeenSet = true; m_aggregationRegion = std::forward(value); } + template + GetAggregatorV2Result& WithAggregationRegion(AggregationRegionT&& value) { SetAggregationRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Determines how Regions are linked to an Aggregator V2.

                                + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + GetAggregatorV2Result& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The list of Regions that are linked to the aggregation Region.

                                + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + GetAggregatorV2Result& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + GetAggregatorV2Result& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_aggregationRegion; + bool m_aggregationRegionHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Request.h new file mode 100644 index 00000000000..92573440050 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Request.h @@ -0,0 +1,54 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class GetAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetAutomationRuleV2Request() = default; + + // 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 "GetAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The ARN of the V2 automation rule.

                                + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + GetAutomationRuleV2Request& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Result.h new file mode 100644 index 00000000000..ad2c7e00ba2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetAutomationRuleV2Result.h @@ -0,0 +1,194 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API GetAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API GetAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The ARN of the V2 automation rule.

                                + */ + inline const Aws::String& GetRuleArn() const { return m_ruleArn; } + template + void SetRuleArn(RuleArnT&& value) { m_ruleArnHasBeenSet = true; m_ruleArn = std::forward(value); } + template + GetAutomationRuleV2Result& WithRuleArn(RuleArnT&& value) { SetRuleArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The ID of the V2 automation rule.

                                + */ + inline const Aws::String& GetRuleId() const { return m_ruleId; } + template + void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::forward(value); } + template + GetAutomationRuleV2Result& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The value for the rule priority.

                                + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline GetAutomationRuleV2Result& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

                                The name of the V2 automation rule.

                                + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + GetAutomationRuleV2Result& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The status of the V2 automation automation rule.

                                + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline GetAutomationRuleV2Result& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                                A description of the automation rule.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetAutomationRuleV2Result& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The filtering type and configuration of the V2 automation rule.

                                + */ + inline const Criteria& GetCriteria() const { return m_criteria; } + template + void SetCriteria(CriteriaT&& value) { m_criteriaHasBeenSet = true; m_criteria = std::forward(value); } + template + GetAutomationRuleV2Result& WithCriteria(CriteriaT&& value) { SetCriteria(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                A list of actions performed when the rule criteria is met.

                                + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + GetAutomationRuleV2Result& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + GetAutomationRuleV2Result& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The timestamp when the V2 automation rule was created.

                                + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetAutomationRuleV2Result& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The timestamp when the V2 automation rule was updated.

                                + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; } + template + void SetUpdatedAt(UpdatedAtT&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::forward(value); } + template + GetAutomationRuleV2Result& WithUpdatedAt(UpdatedAtT&& value) { SetUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ruleArn; + bool m_ruleArnHasBeenSet = false; + + Aws::String m_ruleId; + bool m_ruleIdHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Criteria m_criteria; + bool m_criteriaHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt{}; + bool m_updatedAtHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Request.h new file mode 100644 index 00000000000..d84b1bee5de --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Request.h @@ -0,0 +1,54 @@ +/** + * 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 SecurityHub +{ +namespace Model +{ + + /** + */ + class GetConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetConnectorV2Request() = default; + + // 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 "GetConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + GetConnectorV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Result.h new file mode 100644 index 00000000000..8c33d567673 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetConnectorV2Result.h @@ -0,0 +1,181 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetConnectorV2Result + { + public: + AWS_SECURITYHUB_API GetConnectorV2Result() = default; + AWS_SECURITYHUB_API GetConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The Amazon Resource Name (ARN) of the connectorV2.

                                + */ + inline const Aws::String& GetConnectorArn() const { return m_connectorArn; } + template + void SetConnectorArn(ConnectorArnT&& value) { m_connectorArnHasBeenSet = true; m_connectorArn = std::forward(value); } + template + GetConnectorV2Result& WithConnectorArn(ConnectorArnT&& value) { SetConnectorArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The UUID of the connectorV2 to identify connectorV2 resource.

                                + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + GetConnectorV2Result& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The name of the connectorV2.

                                + */ + inline const Aws::String& GetName() const { return m_name; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + GetConnectorV2Result& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The description of the connectorV2.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + GetConnectorV2Result& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon Resource Name (ARN) of KMS key used for the connectorV2.

                                + */ + inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; } + template + void SetKmsKeyArn(KmsKeyArnT&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::forward(value); } + template + GetConnectorV2Result& WithKmsKeyArn(KmsKeyArnT&& value) { SetKmsKeyArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                ISO 8601 UTC timestamp for the time create the connectorV2.

                                + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; } + template + void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward(value); } + template + GetConnectorV2Result& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                ISO 8601 UTC timestamp for the time update the connectorV2 + * connectorStatus.

                                + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const { return m_lastUpdatedAt; } + template + void SetLastUpdatedAt(LastUpdatedAtT&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::forward(value); } + template + GetConnectorV2Result& WithLastUpdatedAt(LastUpdatedAtT&& value) { SetLastUpdatedAt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The current health status for connectorV2

                                + */ + inline const HealthCheck& GetHealth() const { return m_health; } + template + void SetHealth(HealthT&& value) { m_healthHasBeenSet = true; m_health = std::forward(value); } + template + GetConnectorV2Result& WithHealth(HealthT&& value) { SetHealth(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The third-party provider detail for a service configuration.

                                + */ + inline const ProviderDetail& GetProviderDetail() const { return m_providerDetail; } + template + void SetProviderDetail(ProviderDetailT&& value) { m_providerDetailHasBeenSet = true; m_providerDetail = std::forward(value); } + template + GetConnectorV2Result& WithProviderDetail(ProviderDetailT&& value) { SetProviderDetail(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorArn; + bool m_connectorArnHasBeenSet = false; + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_kmsKeyArn; + bool m_kmsKeyArnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt{}; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt{}; + bool m_lastUpdatedAtHasBeenSet = false; + + HealthCheck m_health; + bool m_healthHasBeenSet = false; + + ProviderDetail m_providerDetail; + bool m_providerDetailHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Request.h new file mode 100644 index 00000000000..9336eaf9344 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Request.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetFindingStatisticsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetFindingStatisticsV2Request() = default; + + // 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 "GetFindingStatisticsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                Specifies how security findings should be aggregated and organized in the + * statistical analysis. It can accept up to 5 groupBy fields in a + * single call.

                                + */ + inline const Aws::Vector& GetGroupByRules() const { return m_groupByRules; } + inline bool GroupByRulesHasBeenSet() const { return m_groupByRulesHasBeenSet; } + template> + void SetGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules = std::forward(value); } + template> + GetFindingStatisticsV2Request& WithGroupByRules(GroupByRulesT&& value) { SetGroupByRules(std::forward(value)); return *this;} + template + GetFindingStatisticsV2Request& AddGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Orders the aggregation count in descending or ascending order. Descending + * order is the default.

                                + */ + inline SortOrder GetSortOrder() const { return m_sortOrder; } + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + inline void SetSortOrder(SortOrder value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + inline GetFindingStatisticsV2Request& WithSortOrder(SortOrder value) { SetSortOrder(value); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to be returned.

                                + */ + inline int GetMaxStatisticResults() const { return m_maxStatisticResults; } + inline bool MaxStatisticResultsHasBeenSet() const { return m_maxStatisticResultsHasBeenSet; } + inline void SetMaxStatisticResults(int value) { m_maxStatisticResultsHasBeenSet = true; m_maxStatisticResults = value; } + inline GetFindingStatisticsV2Request& WithMaxStatisticResults(int value) { SetMaxStatisticResults(value); return *this;} + ///@} + private: + + Aws::Vector m_groupByRules; + bool m_groupByRulesHasBeenSet = false; + + SortOrder m_sortOrder{SortOrder::NOT_SET}; + bool m_sortOrderHasBeenSet = false; + + int m_maxStatisticResults{0}; + bool m_maxStatisticResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Result.h new file mode 100644 index 00000000000..d4df4ae7a70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingStatisticsV2Result.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetFindingStatisticsV2Result + { + public: + AWS_SECURITYHUB_API GetFindingStatisticsV2Result() = default; + AWS_SECURITYHUB_API GetFindingStatisticsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetFindingStatisticsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                Aggregated statistics about security findings based on specified grouping + * criteria.

                                + */ + inline const Aws::Vector& GetGroupByResults() const { return m_groupByResults; } + template> + void SetGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults = std::forward(value); } + template> + GetFindingStatisticsV2Result& WithGroupByResults(GroupByResultsT&& value) { SetGroupByResults(std::forward(value)); return *this;} + template + GetFindingStatisticsV2Result& AddGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetFindingStatisticsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_groupByResults; + bool m_groupByResultsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Request.h new file mode 100644 index 00000000000..fa81b298072 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Request.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetFindingsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetFindingsV2Request() = default; + + // 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 "GetFindingsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                The finding attributes used to define a condition to filter the returned OCSF + * findings. You can filter up to 10 composite filters. For each filter type inside + * of a composite filter, you can provide up to 20 filters.

                                + */ + inline const OcsfFindingFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + GetFindingsV2Request& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The finding attributes used to sort the list of returned findings.

                                + */ + inline const Aws::Vector& GetSortCriteria() const { return m_sortCriteria; } + inline bool SortCriteriaHasBeenSet() const { return m_sortCriteriaHasBeenSet; } + template> + void SetSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = std::forward(value); } + template> + GetFindingsV2Request& WithSortCriteria(SortCriteriaT&& value) { SetSortCriteria(std::forward(value)); return *this;} + template + GetFindingsV2Request& AddSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetFindingsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to return.

                                + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetFindingsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + OcsfFindingFilters m_filters; + bool m_filtersHasBeenSet = false; + + Aws::Vector m_sortCriteria; + bool m_sortCriteriaHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Result.h new file mode 100644 index 00000000000..6190b1ced99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetFindingsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetFindingsV2Result + { + public: + AWS_SECURITYHUB_API GetFindingsV2Result() = default; + AWS_SECURITYHUB_API GetFindingsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetFindingsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                An array of security findings returned by the operation.

                                + */ + inline const Aws::Vector& GetFindings() const { return m_findings; } + template> + void SetFindings(FindingsT&& value) { m_findingsHasBeenSet = true; m_findings = std::forward(value); } + template> + GetFindingsV2Result& WithFindings(FindingsT&& value) { SetFindings(std::forward(value)); return *this;} + template + GetFindingsV2Result& AddFindings(FindingsT&& value) { m_findingsHasBeenSet = true; m_findings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetFindingsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetFindingsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_findings; + bool m_findingsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Request.h new file mode 100644 index 00000000000..e2dfaa38f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Request.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetResourcesStatisticsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetResourcesStatisticsV2Request() = default; + + // 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 "GetResourcesStatisticsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                How resource statistics should be aggregated and organized in the + * response.

                                + */ + inline const Aws::Vector& GetGroupByRules() const { return m_groupByRules; } + inline bool GroupByRulesHasBeenSet() const { return m_groupByRulesHasBeenSet; } + template> + void SetGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules = std::forward(value); } + template> + GetResourcesStatisticsV2Request& WithGroupByRules(GroupByRulesT&& value) { SetGroupByRules(std::forward(value)); return *this;} + template + GetResourcesStatisticsV2Request& AddGroupByRules(GroupByRulesT&& value) { m_groupByRulesHasBeenSet = true; m_groupByRules.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Sorts aggregated statistics.

                                + */ + inline SortOrder GetSortOrder() const { return m_sortOrder; } + inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } + inline void SetSortOrder(SortOrder value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } + inline GetResourcesStatisticsV2Request& WithSortOrder(SortOrder value) { SetSortOrder(value); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to be returned.

                                + */ + inline int GetMaxStatisticResults() const { return m_maxStatisticResults; } + inline bool MaxStatisticResultsHasBeenSet() const { return m_maxStatisticResultsHasBeenSet; } + inline void SetMaxStatisticResults(int value) { m_maxStatisticResultsHasBeenSet = true; m_maxStatisticResults = value; } + inline GetResourcesStatisticsV2Request& WithMaxStatisticResults(int value) { SetMaxStatisticResults(value); return *this;} + ///@} + private: + + Aws::Vector m_groupByRules; + bool m_groupByRulesHasBeenSet = false; + + SortOrder m_sortOrder{SortOrder::NOT_SET}; + bool m_sortOrderHasBeenSet = false; + + int m_maxStatisticResults{0}; + bool m_maxStatisticResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Result.h new file mode 100644 index 00000000000..e3b485169a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesStatisticsV2Result.h @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetResourcesStatisticsV2Result + { + public: + AWS_SECURITYHUB_API GetResourcesStatisticsV2Result() = default; + AWS_SECURITYHUB_API GetResourcesStatisticsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetResourcesStatisticsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The aggregated statistics about resources based on the specified grouping + * rule.

                                + */ + inline const Aws::Vector& GetGroupByResults() const { return m_groupByResults; } + template> + void SetGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults = std::forward(value); } + template> + GetResourcesStatisticsV2Result& WithGroupByResults(GroupByResultsT&& value) { SetGroupByResults(std::forward(value)); return *this;} + template + GetResourcesStatisticsV2Result& AddGroupByResults(GroupByResultsT&& value) { m_groupByResultsHasBeenSet = true; m_groupByResults.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetResourcesStatisticsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_groupByResults; + bool m_groupByResultsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Request.h new file mode 100644 index 00000000000..236f86f0b94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Request.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class GetResourcesV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API GetResourcesV2Request() = default; + + // 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 "GetResourcesV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                                Filters resources based on a set of criteria.

                                + */ + inline const ResourcesFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + GetResourcesV2Request& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The finding attributes used to sort the list of returned findings.

                                + */ + inline const Aws::Vector& GetSortCriteria() const { return m_sortCriteria; } + inline bool SortCriteriaHasBeenSet() const { return m_sortCriteriaHasBeenSet; } + template> + void SetSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria = std::forward(value); } + template> + GetResourcesV2Request& WithSortCriteria(SortCriteriaT&& value) { SetSortCriteria(std::forward(value)); return *this;} + template + GetResourcesV2Request& AddSortCriteria(SortCriteriaT&& value) { m_sortCriteriaHasBeenSet = true; m_sortCriteria.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetResourcesV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to return.

                                + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GetResourcesV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + ResourcesFilters m_filters; + bool m_filtersHasBeenSet = false; + + Aws::Vector m_sortCriteria; + bool m_sortCriteriaHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Result.h new file mode 100644 index 00000000000..da001ab6e99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GetResourcesV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class GetResourcesV2Result + { + public: + AWS_SECURITYHUB_API GetResourcesV2Result() = default; + AWS_SECURITYHUB_API GetResourcesV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API GetResourcesV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                Filters resources based on a set of criteria.

                                + */ + inline const Aws::Vector& GetResources() const { return m_resources; } + template> + void SetResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources = std::forward(value); } + template> + GetResourcesV2Result& WithResources(ResourcesT&& value) { SetResources(std::forward(value)); return *this;} + template + GetResourcesV2Result& AddResources(ResourcesT&& value) { m_resourcesHasBeenSet = true; m_resources.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + GetResourcesV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetResourcesV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_resources; + bool m_resourcesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByField.h new file mode 100644 index 00000000000..9e8537ac78b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByField.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class GroupByField + { + NOT_SET, + activity_name, + cloud_account_uid, + cloud_provider, + cloud_region, + compliance_assessments_name, + compliance_status, + compliance_control, + finding_info_title, + finding_info_types, + metadata_product_name, + metadata_product_uid, + resources_type, + resources_uid, + severity, + status, + vulnerabilities_fix_coverage, + class_name + }; + +namespace GroupByFieldMapper +{ +AWS_SECURITYHUB_API GroupByField GetGroupByFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForGroupByField(GroupByField value); +} // namespace GroupByFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByResult.h new file mode 100644 index 00000000000..907a32680aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByResult.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Represents finding statistics grouped by + * GroupedByField.

                                See Also:

                                AWS + * API Reference

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

                                The attribute by which filtered security findings should be grouped.

                                + */ + inline const Aws::String& GetGroupByField() const { return m_groupByField; } + inline bool GroupByFieldHasBeenSet() const { return m_groupByFieldHasBeenSet; } + template + void SetGroupByField(GroupByFieldT&& value) { m_groupByFieldHasBeenSet = true; m_groupByField = std::forward(value); } + template + GroupByResult& WithGroupByField(GroupByFieldT&& value) { SetGroupByField(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                An array of grouped values and their respective counts for each + * GroupByField.

                                + */ + inline const Aws::Vector& GetGroupByValues() const { return m_groupByValues; } + inline bool GroupByValuesHasBeenSet() const { return m_groupByValuesHasBeenSet; } + template> + void SetGroupByValues(GroupByValuesT&& value) { m_groupByValuesHasBeenSet = true; m_groupByValues = std::forward(value); } + template> + GroupByResult& WithGroupByValues(GroupByValuesT&& value) { SetGroupByValues(std::forward(value)); return *this;} + template + GroupByResult& AddGroupByValues(GroupByValuesT&& value) { m_groupByValuesHasBeenSet = true; m_groupByValues.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_groupByField; + bool m_groupByFieldHasBeenSet = false; + + Aws::Vector m_groupByValues; + bool m_groupByValuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByRule.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByRule.h new file mode 100644 index 00000000000..c08456f8202 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByRule.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Defines the how the finding attribute should be grouped.

                                See + * Also:

                                AWS + * API Reference

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

                                The criteria used to select which security findings should be included in the + * grouping operation.

                                + */ + inline const OcsfFindingFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + GroupByRule& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The attribute by which filtered findings should be grouped.

                                + */ + inline GroupByField GetGroupByField() const { return m_groupByField; } + inline bool GroupByFieldHasBeenSet() const { return m_groupByFieldHasBeenSet; } + inline void SetGroupByField(GroupByField value) { m_groupByFieldHasBeenSet = true; m_groupByField = value; } + inline GroupByRule& WithGroupByField(GroupByField value) { SetGroupByField(value); return *this;} + ///@} + private: + + OcsfFindingFilters m_filters; + bool m_filtersHasBeenSet = false; + + GroupByField m_groupByField{GroupByField::NOT_SET}; + bool m_groupByFieldHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByValue.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByValue.h new file mode 100644 index 00000000000..3a2f687a139 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/GroupByValue.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Represents individual aggregated results when grouping security findings for + * each GroupByField.

                                See Also:

                                AWS + * API Reference

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

                                The value of the field by which findings are grouped.

                                + */ + inline const Aws::String& GetFieldValue() const { return m_fieldValue; } + inline bool FieldValueHasBeenSet() const { return m_fieldValueHasBeenSet; } + template + void SetFieldValue(FieldValueT&& value) { m_fieldValueHasBeenSet = true; m_fieldValue = std::forward(value); } + template + GroupByValue& WithFieldValue(FieldValueT&& value) { SetFieldValue(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings for a specific FieldValue and + * GroupByField.

                                + */ + inline int GetCount() const { return m_count; } + inline bool CountHasBeenSet() const { return m_countHasBeenSet; } + inline void SetCount(int value) { m_countHasBeenSet = true; m_count = value; } + inline GroupByValue& WithCount(int value) { SetCount(value); return *this;} + ///@} + private: + + Aws::String m_fieldValue; + bool m_fieldValueHasBeenSet = false; + + int m_count{0}; + bool m_countHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/HealthCheck.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/HealthCheck.h new file mode 100644 index 00000000000..b686f8e7561 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/HealthCheck.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Information about the operational status and health of a + * connectorV2.

                                See Also:

                                AWS + * API Reference

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

                                The status of the connectorV2.

                                + */ + inline ConnectorStatus GetConnectorStatus() const { return m_connectorStatus; } + inline bool ConnectorStatusHasBeenSet() const { return m_connectorStatusHasBeenSet; } + inline void SetConnectorStatus(ConnectorStatus value) { m_connectorStatusHasBeenSet = true; m_connectorStatus = value; } + inline HealthCheck& WithConnectorStatus(ConnectorStatus value) { SetConnectorStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                                The message for the reason of connectorStatus change.

                                + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + HealthCheck& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                ISO 8601 UTC timestamp for the time check the health status of the + * connectorV2.

                                + */ + inline const Aws::Utils::DateTime& GetLastCheckedAt() const { return m_lastCheckedAt; } + inline bool LastCheckedAtHasBeenSet() const { return m_lastCheckedAtHasBeenSet; } + template + void SetLastCheckedAt(LastCheckedAtT&& value) { m_lastCheckedAtHasBeenSet = true; m_lastCheckedAt = std::forward(value); } + template + HealthCheck& WithLastCheckedAt(LastCheckedAtT&& value) { SetLastCheckedAt(std::forward(value)); return *this;} + ///@} + private: + + ConnectorStatus m_connectorStatus{ConnectorStatus::NOT_SET}; + bool m_connectorStatusHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::Utils::DateTime m_lastCheckedAt{}; + bool m_lastCheckedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegrationV2Type.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegrationV2Type.h new file mode 100644 index 00000000000..51d629859c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/IntegrationV2Type.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class IntegrationV2Type + { + NOT_SET, + SEND_FINDINGS_TO_SECURITY_HUB, + RECEIVE_FINDINGS_FROM_SECURITY_HUB, + UPDATE_FINDINGS_IN_SECURITY_HUB + }; + +namespace IntegrationV2TypeMapper +{ +AWS_SECURITYHUB_API IntegrationV2Type GetIntegrationV2TypeForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForIntegrationV2Type(IntegrationV2Type value); +} // namespace IntegrationV2TypeMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/InternalServerException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/InternalServerException.h new file mode 100644 index 00000000000..926d33a8523 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/InternalServerException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The request has failed due to an internal failure of the service. + *

                                See Also:

                                AWS + * API Reference

                                + */ + class InternalServerException + { + public: + AWS_SECURITYHUB_API InternalServerException() = default; + AWS_SECURITYHUB_API InternalServerException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API InternalServerException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + InternalServerException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + InternalServerException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudDetail.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudDetail.h new file mode 100644 index 00000000000..bb3d676c736 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudDetail.h @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Information about the configuration and status of a Jira Cloud + * integration.

                                See Also:

                                AWS + * API Reference

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

                                The cloud id of the Jira Cloud.

                                + */ + inline const Aws::String& GetCloudId() const { return m_cloudId; } + inline bool CloudIdHasBeenSet() const { return m_cloudIdHasBeenSet; } + template + void SetCloudId(CloudIdT&& value) { m_cloudIdHasBeenSet = true; m_cloudId = std::forward(value); } + template + JiraCloudDetail& WithCloudId(CloudIdT&& value) { SetCloudId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The projectKey of Jira Cloud.

                                + */ + inline const Aws::String& GetProjectKey() const { return m_projectKey; } + inline bool ProjectKeyHasBeenSet() const { return m_projectKeyHasBeenSet; } + template + void SetProjectKey(ProjectKeyT&& value) { m_projectKeyHasBeenSet = true; m_projectKey = std::forward(value); } + template + JiraCloudDetail& WithProjectKey(ProjectKeyT&& value) { SetProjectKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The URL domain of your Jira Cloud instance.

                                + */ + inline const Aws::String& GetDomain() const { return m_domain; } + inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } + template + void SetDomain(DomainT&& value) { m_domainHasBeenSet = true; m_domain = std::forward(value); } + template + JiraCloudDetail& WithDomain(DomainT&& value) { SetDomain(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The URL to provide to customers for OAuth auth code flow.

                                + */ + inline const Aws::String& GetAuthUrl() const { return m_authUrl; } + inline bool AuthUrlHasBeenSet() const { return m_authUrlHasBeenSet; } + template + void SetAuthUrl(AuthUrlT&& value) { m_authUrlHasBeenSet = true; m_authUrl = std::forward(value); } + template + JiraCloudDetail& WithAuthUrl(AuthUrlT&& value) { SetAuthUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The status of the authorization between Jira Cloud and the service.

                                + */ + inline ConnectorAuthStatus GetAuthStatus() const { return m_authStatus; } + inline bool AuthStatusHasBeenSet() const { return m_authStatusHasBeenSet; } + inline void SetAuthStatus(ConnectorAuthStatus value) { m_authStatusHasBeenSet = true; m_authStatus = value; } + inline JiraCloudDetail& WithAuthStatus(ConnectorAuthStatus value) { SetAuthStatus(value); return *this;} + ///@} + private: + + Aws::String m_cloudId; + bool m_cloudIdHasBeenSet = false; + + Aws::String m_projectKey; + bool m_projectKeyHasBeenSet = false; + + Aws::String m_domain; + bool m_domainHasBeenSet = false; + + Aws::String m_authUrl; + bool m_authUrlHasBeenSet = false; + + ConnectorAuthStatus m_authStatus{ConnectorAuthStatus::NOT_SET}; + bool m_authStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudProviderConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudProviderConfiguration.h new file mode 100644 index 00000000000..87f53ef19ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudProviderConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The initial configuration settings required to establish an integration + * between Security Hub and Jira Cloud.

                                See Also:

                                AWS + * API Reference

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

                                The project key for a JiraCloud instance.

                                + */ + inline const Aws::String& GetProjectKey() const { return m_projectKey; } + inline bool ProjectKeyHasBeenSet() const { return m_projectKeyHasBeenSet; } + template + void SetProjectKey(ProjectKeyT&& value) { m_projectKeyHasBeenSet = true; m_projectKey = std::forward(value); } + template + JiraCloudProviderConfiguration& WithProjectKey(ProjectKeyT&& value) { SetProjectKey(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_projectKey; + bool m_projectKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudUpdateConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudUpdateConfiguration.h new file mode 100644 index 00000000000..18d4c0220e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/JiraCloudUpdateConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The parameters used to modify an existing Jira Cloud + * integration.

                                See Also:

                                AWS + * API Reference

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

                                The project key for a JiraCloud instance.

                                + */ + inline const Aws::String& GetProjectKey() const { return m_projectKey; } + inline bool ProjectKeyHasBeenSet() const { return m_projectKeyHasBeenSet; } + template + void SetProjectKey(ProjectKeyT&& value) { m_projectKeyHasBeenSet = true; m_projectKey = std::forward(value); } + template + JiraCloudUpdateConfiguration& WithProjectKey(ProjectKeyT&& value) { SetProjectKey(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_projectKey; + bool m_projectKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Request.h new file mode 100644 index 00000000000..7ba954d84aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Request.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ListAggregatorsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ListAggregatorsV2Request() = default; + + // 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 "ListAggregatorsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                                The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAggregatorsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to return.

                                + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAggregatorsV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Result.h new file mode 100644 index 00000000000..ca883f0d883 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAggregatorsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ListAggregatorsV2Result + { + public: + AWS_SECURITYHUB_API ListAggregatorsV2Result() = default; + AWS_SECURITYHUB_API ListAggregatorsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ListAggregatorsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                An array of aggregators.

                                + */ + inline const Aws::Vector& GetAggregatorsV2() const { return m_aggregatorsV2; } + template> + void SetAggregatorsV2(AggregatorsV2T&& value) { m_aggregatorsV2HasBeenSet = true; m_aggregatorsV2 = std::forward(value); } + template> + ListAggregatorsV2Result& WithAggregatorsV2(AggregatorsV2T&& value) { SetAggregatorsV2(std::forward(value)); return *this;} + template + ListAggregatorsV2Result& AddAggregatorsV2(AggregatorsV2T&& value) { m_aggregatorsV2HasBeenSet = true; m_aggregatorsV2.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAggregatorsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListAggregatorsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_aggregatorsV2; + bool m_aggregatorsV2HasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Request.h new file mode 100644 index 00000000000..45c1cd3f907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Request.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ListAutomationRulesV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ListAutomationRulesV2Request() = default; + + // 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 "ListAutomationRulesV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                                The token required for pagination. On your first call, set the value of this + * parameter to NULL. For subsequent calls, to continue listing data, + * set the value of this parameter to the value returned in the previous + * response.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAutomationRulesV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to return.

                                + */ + inline int GetMaxResults() const { return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListAutomationRulesV2Request& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Result.h new file mode 100644 index 00000000000..24b7289ee1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListAutomationRulesV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ListAutomationRulesV2Result + { + public: + AWS_SECURITYHUB_API ListAutomationRulesV2Result() = default; + AWS_SECURITYHUB_API ListAutomationRulesV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ListAutomationRulesV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                An array of automation rules.

                                + */ + inline const Aws::Vector& GetRules() const { return m_rules; } + template> + void SetRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules = std::forward(value); } + template> + ListAutomationRulesV2Result& WithRules(RulesT&& value) { SetRules(std::forward(value)); return *this;} + template + ListAutomationRulesV2Result& AddRules(RulesT&& value) { m_rulesHasBeenSet = true; m_rules.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListAutomationRulesV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListAutomationRulesV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_rules; + bool m_rulesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Request.h new file mode 100644 index 00000000000..d5f2f379b22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Request.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class ListConnectorsV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API ListConnectorsV2Request() = default; + + // 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 "ListConnectorsV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + AWS_SECURITYHUB_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                                The pagination token per the Amazon Web Services Pagination standard

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListConnectorsV2Request& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The maximum number of results to be returned.

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

                                The name of the third-party provider.

                                + */ + inline ConnectorProviderName GetProviderName() const { return m_providerName; } + inline bool ProviderNameHasBeenSet() const { return m_providerNameHasBeenSet; } + inline void SetProviderName(ConnectorProviderName value) { m_providerNameHasBeenSet = true; m_providerName = value; } + inline ListConnectorsV2Request& WithProviderName(ConnectorProviderName value) { SetProviderName(value); return *this;} + ///@} + + ///@{ + /** + *

                                The status for the connectorV2.

                                + */ + inline ConnectorStatus GetConnectorStatus() const { return m_connectorStatus; } + inline bool ConnectorStatusHasBeenSet() const { return m_connectorStatusHasBeenSet; } + inline void SetConnectorStatus(ConnectorStatus value) { m_connectorStatusHasBeenSet = true; m_connectorStatus = value; } + inline ListConnectorsV2Request& WithConnectorStatus(ConnectorStatus value) { SetConnectorStatus(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + ConnectorProviderName m_providerName{ConnectorProviderName::NOT_SET}; + bool m_providerNameHasBeenSet = false; + + ConnectorStatus m_connectorStatus{ConnectorStatus::NOT_SET}; + bool m_connectorStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Result.h new file mode 100644 index 00000000000..3ab478a2d6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListConnectorsV2Result.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class ListConnectorsV2Result + { + public: + AWS_SECURITYHUB_API ListConnectorsV2Result() = default; + AWS_SECURITYHUB_API ListConnectorsV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API ListConnectorsV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                                The pagination token to use to request the next page of results. Otherwise, + * this parameter is null.

                                + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListConnectorsV2Result& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                An array of connectorV2 summaries.

                                + */ + inline const Aws::Vector& GetConnectors() const { return m_connectors; } + template> + void SetConnectors(ConnectorsT&& value) { m_connectorsHasBeenSet = true; m_connectors = std::forward(value); } + template> + ListConnectorsV2Result& WithConnectors(ConnectorsT&& value) { SetConnectors(std::forward(value)); return *this;} + template + ListConnectorsV2Result& AddConnectors(ConnectorsT&& value) { m_connectorsHasBeenSet = true; m_connectors.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListConnectorsV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_connectors; + bool m_connectorsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h index 174991b3eb0..69fb4b41460 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -63,6 +64,17 @@ namespace Model template ListOrganizationAdminAccountsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                                The feature where the delegated administrator account is listed. Defaults to + * Security Hub if not specified.

                                + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline bool FeatureHasBeenSet() const { return m_featureHasBeenSet; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline ListOrganizationAdminAccountsRequest& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} private: int m_maxResults{0}; @@ -70,6 +82,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h index d8e78840e29..6c5468011ab 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ListOrganizationAdminAccountsResult.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -58,6 +59,16 @@ namespace Model ListOrganizationAdminAccountsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} ///@} + ///@{ + /** + *

                                The feature where the delegated administrator account is listed. Defaults to + * Security Hub CSPM if not specified.

                                + */ + inline SecurityHubFeature GetFeature() const { return m_feature; } + inline void SetFeature(SecurityHubFeature value) { m_featureHasBeenSet = true; m_feature = value; } + inline ListOrganizationAdminAccountsResult& WithFeature(SecurityHubFeature value) { SetFeature(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const { return m_requestId; } @@ -74,6 +85,9 @@ namespace Model Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; + SecurityHubFeature m_feature{SecurityHubFeature::NOT_SET}; + bool m_featureHasBeenSet = false; + Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanField.h new file mode 100644 index 00000000000..5c2b9787ee9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanField.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfBooleanField + { + NOT_SET, + compliance_assessments_meets_criteria, + vulnerabilities_is_exploit_available, + vulnerabilities_is_fix_available + }; + +namespace OcsfBooleanFieldMapper +{ +AWS_SECURITYHUB_API OcsfBooleanField GetOcsfBooleanFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfBooleanField(OcsfBooleanField value); +} // namespace OcsfBooleanFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanFilter.h new file mode 100644 index 00000000000..0f534814d87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfBooleanFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of security findings based on boolean field values in + * OCSF.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline OcsfBooleanField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfBooleanField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfBooleanFilter& WithFieldName(OcsfBooleanField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const BooleanFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfBooleanFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfBooleanField m_fieldName{OcsfBooleanField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + BooleanFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateField.h new file mode 100644 index 00000000000..1c8a33a8ecd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateField.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfDateField + { + NOT_SET, + finding_info_created_time_dt, + finding_info_first_seen_time_dt, + finding_info_last_seen_time_dt, + finding_info_modified_time_dt + }; + +namespace OcsfDateFieldMapper +{ +AWS_SECURITYHUB_API OcsfDateField GetOcsfDateFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfDateField(OcsfDateField value); +} // namespace OcsfDateFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateFilter.h new file mode 100644 index 00000000000..4532fe687e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfDateFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of security findings based on date and timestamp fields in + * OCSF.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline OcsfDateField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfDateField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfDateFilter& WithFieldName(OcsfDateField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const DateFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfDateFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfDateField m_fieldName{OcsfDateField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + DateFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingFilters.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingFilters.h new file mode 100644 index 00000000000..a320ae2bc26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingFilters.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Specifies the filtering criteria for security findings using + * OCSF.

                                See Also:

                                AWS + * API Reference

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

                                Enables the creation of complex filtering conditions by combining filter + * criteria.

                                + */ + inline const Aws::Vector& GetCompositeFilters() const { return m_compositeFilters; } + inline bool CompositeFiltersHasBeenSet() const { return m_compositeFiltersHasBeenSet; } + template> + void SetCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters = std::forward(value); } + template> + OcsfFindingFilters& WithCompositeFilters(CompositeFiltersT&& value) { SetCompositeFilters(std::forward(value)); return *this;} + template + OcsfFindingFilters& AddCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The logical operators used to combine the filtering on multiple + * CompositeFilters.

                                + */ + inline AllowedOperators GetCompositeOperator() const { return m_compositeOperator; } + inline bool CompositeOperatorHasBeenSet() const { return m_compositeOperatorHasBeenSet; } + inline void SetCompositeOperator(AllowedOperators value) { m_compositeOperatorHasBeenSet = true; m_compositeOperator = value; } + inline OcsfFindingFilters& WithCompositeOperator(AllowedOperators value) { SetCompositeOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_compositeFilters; + bool m_compositeFiltersHasBeenSet = false; + + AllowedOperators m_compositeOperator{AllowedOperators::NOT_SET}; + bool m_compositeOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingIdentifier.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingIdentifier.h new file mode 100644 index 00000000000..6a39d35ff0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfFindingIdentifier.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Provides a standard to identify security findings using OCSF.

                                See + * Also:

                                AWS + * API Reference

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

                                Finding cloud.account.uid, which is a unique identifier in the Amazon Web + * Services account..

                                + */ + inline const Aws::String& GetCloudAccountUid() const { return m_cloudAccountUid; } + inline bool CloudAccountUidHasBeenSet() const { return m_cloudAccountUidHasBeenSet; } + template + void SetCloudAccountUid(CloudAccountUidT&& value) { m_cloudAccountUidHasBeenSet = true; m_cloudAccountUid = std::forward(value); } + template + OcsfFindingIdentifier& WithCloudAccountUid(CloudAccountUidT&& value) { SetCloudAccountUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Finding finding_info.uid, which is a unique identifier for the finding from + * the finding provider.

                                + */ + inline const Aws::String& GetFindingInfoUid() const { return m_findingInfoUid; } + inline bool FindingInfoUidHasBeenSet() const { return m_findingInfoUidHasBeenSet; } + template + void SetFindingInfoUid(FindingInfoUidT&& value) { m_findingInfoUidHasBeenSet = true; m_findingInfoUid = std::forward(value); } + template + OcsfFindingIdentifier& WithFindingInfoUid(FindingInfoUidT&& value) { SetFindingInfoUid(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Finding metadata.product.uid, which is a unique identifier for the + * product.

                                + */ + inline const Aws::String& GetMetadataProductUid() const { return m_metadataProductUid; } + inline bool MetadataProductUidHasBeenSet() const { return m_metadataProductUidHasBeenSet; } + template + void SetMetadataProductUid(MetadataProductUidT&& value) { m_metadataProductUidHasBeenSet = true; m_metadataProductUid = std::forward(value); } + template + OcsfFindingIdentifier& WithMetadataProductUid(MetadataProductUidT&& value) { SetMetadataProductUid(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_cloudAccountUid; + bool m_cloudAccountUidHasBeenSet = false; + + Aws::String m_findingInfoUid; + bool m_findingInfoUidHasBeenSet = false; + + Aws::String m_metadataProductUid; + bool m_metadataProductUidHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapField.h new file mode 100644 index 00000000000..f87ef3dcffd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapField.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfMapField + { + NOT_SET, + resources_tags + }; + +namespace OcsfMapFieldMapper +{ +AWS_SECURITYHUB_API OcsfMapField GetOcsfMapFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfMapField(OcsfMapField value); +} // namespace OcsfMapFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapFilter.h new file mode 100644 index 00000000000..340bb1d31d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfMapFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of security findings based on map field values in + * OCSF.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline OcsfMapField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfMapField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfMapFilter& WithFieldName(OcsfMapField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const MapFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfMapFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfMapField m_fieldName{OcsfMapField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + MapFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberField.h new file mode 100644 index 00000000000..96116d50e97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberField.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfNumberField + { + NOT_SET, + activity_id, + compliance_status_id, + confidence_score, + severity_id, + status_id, + finding_info_related_events_count + }; + +namespace OcsfNumberFieldMapper +{ +AWS_SECURITYHUB_API OcsfNumberField GetOcsfNumberFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfNumberField(OcsfNumberField value); +} // namespace OcsfNumberFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberFilter.h new file mode 100644 index 00000000000..6dad20e5bf3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfNumberFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of security findings based on numerical field values in + * OCSF.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline OcsfNumberField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfNumberField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfNumberFilter& WithFieldName(OcsfNumberField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const NumberFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfNumberFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfNumberField m_fieldName{OcsfNumberField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + NumberFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringField.h new file mode 100644 index 00000000000..767cef3df6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringField.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class OcsfStringField + { + NOT_SET, + metadata_uid, + activity_name, + cloud_account_uid, + cloud_provider, + cloud_region, + compliance_assessments_category, + compliance_assessments_name, + compliance_control, + compliance_status, + compliance_standards, + finding_info_desc, + finding_info_src_url, + finding_info_title, + finding_info_types, + finding_info_uid, + finding_info_related_events_uid, + finding_info_related_events_product_uid, + finding_info_related_events_title, + metadata_product_name, + metadata_product_uid, + metadata_product_vendor_name, + remediation_desc, + remediation_references, + resources_cloud_partition, + resources_region, + resources_type, + resources_uid, + severity, + status, + comment, + vulnerabilities_fix_coverage, + class_name + }; + +namespace OcsfStringFieldMapper +{ +AWS_SECURITYHUB_API OcsfStringField GetOcsfStringFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForOcsfStringField(OcsfStringField value); +} // namespace OcsfStringFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringFilter.h new file mode 100644 index 00000000000..2cdd287e94f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/OcsfStringFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of security findings based on string field values in + * OCSF.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline OcsfStringField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(OcsfStringField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline OcsfStringFilter& WithFieldName(OcsfStringField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const StringFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + OcsfStringFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + OcsfStringField m_fieldName{OcsfStringField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + StringFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProductV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProductV2.h new file mode 100644 index 00000000000..fa120d7c9e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProductV2.h @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Defines the structure for the productV2.

                                See Also:

                                AWS + * API Reference

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

                                The name of the productV2.

                                + */ + inline const Aws::String& GetProductV2Name() const { return m_productV2Name; } + inline bool ProductV2NameHasBeenSet() const { return m_productV2NameHasBeenSet; } + template + void SetProductV2Name(ProductV2NameT&& value) { m_productV2NameHasBeenSet = true; m_productV2Name = std::forward(value); } + template + ProductV2& WithProductV2Name(ProductV2NameT&& value) { SetProductV2Name(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The name of the organization or vendor that provides the productV2.

                                + */ + inline const Aws::String& GetCompanyName() const { return m_companyName; } + inline bool CompanyNameHasBeenSet() const { return m_companyNameHasBeenSet; } + template + void SetCompanyName(CompanyNameT&& value) { m_companyNameHasBeenSet = true; m_companyName = std::forward(value); } + template + ProductV2& WithCompanyName(CompanyNameT&& value) { SetCompanyName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Detailed information about the productV2.

                                + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + ProductV2& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The domains or functional areas the productV2 addresses.

                                + */ + inline const Aws::Vector& GetCategories() const { return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + template> + void SetCategories(CategoriesT&& value) { m_categoriesHasBeenSet = true; m_categories = std::forward(value); } + template> + ProductV2& WithCategories(CategoriesT&& value) { SetCategories(std::forward(value)); return *this;} + template + ProductV2& AddCategories(CategoriesT&& value) { m_categoriesHasBeenSet = true; m_categories.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The type of integration.

                                + */ + inline const Aws::Vector& GetIntegrationV2Types() const { return m_integrationV2Types; } + inline bool IntegrationV2TypesHasBeenSet() const { return m_integrationV2TypesHasBeenSet; } + template> + void SetIntegrationV2Types(IntegrationV2TypesT&& value) { m_integrationV2TypesHasBeenSet = true; m_integrationV2Types = std::forward(value); } + template> + ProductV2& WithIntegrationV2Types(IntegrationV2TypesT&& value) { SetIntegrationV2Types(std::forward(value)); return *this;} + inline ProductV2& AddIntegrationV2Types(IntegrationV2Type value) { m_integrationV2TypesHasBeenSet = true; m_integrationV2Types.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                                The console URL where you can purchase or subscribe to products.

                                + */ + inline const Aws::String& GetMarketplaceUrl() const { return m_marketplaceUrl; } + inline bool MarketplaceUrlHasBeenSet() const { return m_marketplaceUrlHasBeenSet; } + template + void SetMarketplaceUrl(MarketplaceUrlT&& value) { m_marketplaceUrlHasBeenSet = true; m_marketplaceUrl = std::forward(value); } + template + ProductV2& WithMarketplaceUrl(MarketplaceUrlT&& value) { SetMarketplaceUrl(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The URL to the serviceV@ or productV2 documentation about the integration, + * which includes how to activate the integration.

                                + */ + inline const Aws::String& GetActivationUrl() const { return m_activationUrl; } + inline bool ActivationUrlHasBeenSet() const { return m_activationUrlHasBeenSet; } + template + void SetActivationUrl(ActivationUrlT&& value) { m_activationUrlHasBeenSet = true; m_activationUrl = std::forward(value); } + template + ProductV2& WithActivationUrl(ActivationUrlT&& value) { SetActivationUrl(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_productV2Name; + bool m_productV2NameHasBeenSet = false; + + Aws::String m_companyName; + bool m_companyNameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_integrationV2Types; + bool m_integrationV2TypesHasBeenSet = false; + + Aws::String m_marketplaceUrl; + bool m_marketplaceUrlHasBeenSet = false; + + Aws::String m_activationUrl; + bool m_activationUrlHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderConfiguration.h new file mode 100644 index 00000000000..6faf760cc53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderConfiguration.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 SecurityHub +{ +namespace Model +{ + + /** + *

                                The initial configuration settings required to establish an integration + * between Security Hub and third-party provider.

                                See Also:

                                AWS + * API Reference

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

                                The configuration settings required to establish an integration with Jira + * Cloud.

                                + */ + inline const JiraCloudProviderConfiguration& GetJiraCloud() const { return m_jiraCloud; } + inline bool JiraCloudHasBeenSet() const { return m_jiraCloudHasBeenSet; } + template + void SetJiraCloud(JiraCloudT&& value) { m_jiraCloudHasBeenSet = true; m_jiraCloud = std::forward(value); } + template + ProviderConfiguration& WithJiraCloud(JiraCloudT&& value) { SetJiraCloud(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The configuration settings required to establish an integration with + * ServiceNow ITSM.

                                + */ + inline const ServiceNowProviderConfiguration& GetServiceNow() const { return m_serviceNow; } + inline bool ServiceNowHasBeenSet() const { return m_serviceNowHasBeenSet; } + template + void SetServiceNow(ServiceNowT&& value) { m_serviceNowHasBeenSet = true; m_serviceNow = std::forward(value); } + template + ProviderConfiguration& WithServiceNow(ServiceNowT&& value) { SetServiceNow(std::forward(value)); return *this;} + ///@} + private: + + JiraCloudProviderConfiguration m_jiraCloud; + bool m_jiraCloudHasBeenSet = false; + + ServiceNowProviderConfiguration m_serviceNow; + bool m_serviceNowHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderDetail.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderDetail.h new file mode 100644 index 00000000000..308c9c97753 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderDetail.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The third-party provider detail for a service configuration.

                                See + * Also:

                                AWS + * API Reference

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

                                Details about a Jira Cloud integration.

                                + */ + inline const JiraCloudDetail& GetJiraCloud() const { return m_jiraCloud; } + inline bool JiraCloudHasBeenSet() const { return m_jiraCloudHasBeenSet; } + template + void SetJiraCloud(JiraCloudT&& value) { m_jiraCloudHasBeenSet = true; m_jiraCloud = std::forward(value); } + template + ProviderDetail& WithJiraCloud(JiraCloudT&& value) { SetJiraCloud(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                Details about a ServiceNow ITSM integration.

                                + */ + inline const ServiceNowDetail& GetServiceNow() const { return m_serviceNow; } + inline bool ServiceNowHasBeenSet() const { return m_serviceNowHasBeenSet; } + template + void SetServiceNow(ServiceNowT&& value) { m_serviceNowHasBeenSet = true; m_serviceNow = std::forward(value); } + template + ProviderDetail& WithServiceNow(ServiceNowT&& value) { SetServiceNow(std::forward(value)); return *this;} + ///@} + private: + + JiraCloudDetail m_jiraCloud; + bool m_jiraCloudHasBeenSet = false; + + ServiceNowDetail m_serviceNow; + bool m_serviceNowHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderSummary.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderSummary.h new file mode 100644 index 00000000000..f7331c12ab6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderSummary.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The connectorV2 third-party provider configuration summary.

                                See + * Also:

                                AWS + * API Reference

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

                                The name of the provider.

                                + */ + inline ConnectorProviderName GetProviderName() const { return m_providerName; } + inline bool ProviderNameHasBeenSet() const { return m_providerNameHasBeenSet; } + inline void SetProviderName(ConnectorProviderName value) { m_providerNameHasBeenSet = true; m_providerName = value; } + inline ProviderSummary& WithProviderName(ConnectorProviderName value) { SetProviderName(value); return *this;} + ///@} + + ///@{ + /** + *

                                The status for the connectorV2.

                                + */ + inline ConnectorStatus GetConnectorStatus() const { return m_connectorStatus; } + inline bool ConnectorStatusHasBeenSet() const { return m_connectorStatusHasBeenSet; } + inline void SetConnectorStatus(ConnectorStatus value) { m_connectorStatusHasBeenSet = true; m_connectorStatus = value; } + inline ProviderSummary& WithConnectorStatus(ConnectorStatus value) { SetConnectorStatus(value); return *this;} + ///@} + private: + + ConnectorProviderName m_providerName{ConnectorProviderName::NOT_SET}; + bool m_providerNameHasBeenSet = false; + + ConnectorStatus m_connectorStatus{ConnectorStatus::NOT_SET}; + bool m_connectorStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderUpdateConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderUpdateConfiguration.h new file mode 100644 index 00000000000..2253c8b30ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ProviderUpdateConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The parameters required to update the configuration of an integration + * provider.

                                See Also:

                                AWS + * API Reference

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

                                The parameters required to update the configuration for a Jira Cloud + * integration.

                                + */ + inline const JiraCloudUpdateConfiguration& GetJiraCloud() const { return m_jiraCloud; } + inline bool JiraCloudHasBeenSet() const { return m_jiraCloudHasBeenSet; } + template + void SetJiraCloud(JiraCloudT&& value) { m_jiraCloudHasBeenSet = true; m_jiraCloud = std::forward(value); } + template + ProviderUpdateConfiguration& WithJiraCloud(JiraCloudT&& value) { SetJiraCloud(std::forward(value)); return *this;} + ///@} + private: + + JiraCloudUpdateConfiguration m_jiraCloud; + bool m_jiraCloudHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceCategory.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceCategory.h new file mode 100644 index 00000000000..684c1118981 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceCategory.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourceCategory + { + NOT_SET, + Compute, + Database, + Storage, + Code, + AI_ML, + Identity, + Network, + Other + }; + +namespace ResourceCategoryMapper +{ +AWS_SECURITYHUB_API ResourceCategory GetResourceCategoryForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourceCategory(ResourceCategory value); +} // namespace ResourceCategoryMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceFindingsSummary.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceFindingsSummary.h new file mode 100644 index 00000000000..e2dd0ba6fc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceFindingsSummary.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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                A list of summaries for all finding types on a resource.

                                See + * Also:

                                AWS + * API Reference

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

                                The category or classification of the security finding.

                                + */ + inline const Aws::String& GetFindingType() const { return m_findingType; } + inline bool FindingTypeHasBeenSet() const { return m_findingTypeHasBeenSet; } + template + void SetFindingType(FindingTypeT&& value) { m_findingTypeHasBeenSet = true; m_findingType = std::forward(value); } + template + ResourceFindingsSummary& WithFindingType(FindingTypeT&& value) { SetFindingType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The name of the product associated with the security finding.

                                + */ + inline const Aws::String& GetProductName() const { return m_productName; } + inline bool ProductNameHasBeenSet() const { return m_productNameHasBeenSet; } + template + void SetProductName(ProductNameT&& value) { m_productNameHasBeenSet = true; m_productName = std::forward(value); } + template + ResourceFindingsSummary& WithProductName(ProductNameT&& value) { SetProductName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The total count of security findings.

                                + */ + inline int GetTotalFindings() const { return m_totalFindings; } + inline bool TotalFindingsHasBeenSet() const { return m_totalFindingsHasBeenSet; } + inline void SetTotalFindings(int value) { m_totalFindingsHasBeenSet = true; m_totalFindings = value; } + inline ResourceFindingsSummary& WithTotalFindings(int value) { SetTotalFindings(value); return *this;} + ///@} + + ///@{ + /** + *

                                A breakdown of security findings by their severity levels.

                                + */ + inline const ResourceSeverityBreakdown& GetSeverities() const { return m_severities; } + inline bool SeveritiesHasBeenSet() const { return m_severitiesHasBeenSet; } + template + void SetSeverities(SeveritiesT&& value) { m_severitiesHasBeenSet = true; m_severities = std::forward(value); } + template + ResourceFindingsSummary& WithSeverities(SeveritiesT&& value) { SetSeverities(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_findingType; + bool m_findingTypeHasBeenSet = false; + + Aws::String m_productName; + bool m_productNameHasBeenSet = false; + + int m_totalFindings{0}; + bool m_totalFindingsHasBeenSet = false; + + ResourceSeverityBreakdown m_severities; + bool m_severitiesHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByField.h new file mode 100644 index 00000000000..177f11989ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByField.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourceGroupByField + { + NOT_SET, + account_id, + region, + resource_category, + resource_type, + resource_name, + findings_summary_finding_type + }; + +namespace ResourceGroupByFieldMapper +{ +AWS_SECURITYHUB_API ResourceGroupByField GetResourceGroupByFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourceGroupByField(ResourceGroupByField value); +} // namespace ResourceGroupByFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByRule.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByRule.h new file mode 100644 index 00000000000..401c47ce6bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceGroupByRule.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Defines the configuration for organizing and categorizing Amazon Web Services + * resources based on associated security findings.

                                See Also:

                                AWS + * API Reference

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

                                Specifies the attribute that resources should be grouped by.

                                + */ + inline ResourceGroupByField GetGroupByField() const { return m_groupByField; } + inline bool GroupByFieldHasBeenSet() const { return m_groupByFieldHasBeenSet; } + inline void SetGroupByField(ResourceGroupByField value) { m_groupByFieldHasBeenSet = true; m_groupByField = value; } + inline ResourceGroupByRule& WithGroupByField(ResourceGroupByField value) { SetGroupByField(value); return *this;} + ///@} + + ///@{ + /** + *

                                The criteria used to select resources and associated security findings.

                                + */ + inline const ResourcesFilters& GetFilters() const { return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + template + void SetFilters(FiltersT&& value) { m_filtersHasBeenSet = true; m_filters = std::forward(value); } + template + ResourceGroupByRule& WithFilters(FiltersT&& value) { SetFilters(std::forward(value)); return *this;} + ///@} + private: + + ResourceGroupByField m_groupByField{ResourceGroupByField::NOT_SET}; + bool m_groupByFieldHasBeenSet = false; + + ResourcesFilters m_filters; + bool m_filtersHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceResult.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceResult.h new file mode 100644 index 00000000000..cb1e42dc04a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceResult.h @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Provides comprehensive details about an Amazon Web Services resource and its + * associated security findings.

                                See Also:

                                AWS + * API Reference

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

                                Specifies the ARN that uniquely identifies a resource.

                                + */ + inline const Aws::String& GetResourceArn() const { return m_resourceArn; } + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + template + void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward(value); } + template + ResourceResult& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The unique identifier for a resource.

                                + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ResourceResult& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon Web Services account that owns the resource.

                                + */ + inline const Aws::String& GetAccountId() const { return m_accountId; } + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + template + void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward(value); } + template + ResourceResult& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The Amazon Web Services Region where the resource is located.

                                + */ + inline const Aws::String& GetRegion() const { return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + template + void SetRegion(RegionT&& value) { m_regionHasBeenSet = true; m_region = std::forward(value); } + template + ResourceResult& WithRegion(RegionT&& value) { SetRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The grouping where the resource belongs.

                                + */ + inline ResourceCategory GetResourceCategory() const { return m_resourceCategory; } + inline bool ResourceCategoryHasBeenSet() const { return m_resourceCategoryHasBeenSet; } + inline void SetResourceCategory(ResourceCategory value) { m_resourceCategoryHasBeenSet = true; m_resourceCategory = value; } + inline ResourceResult& WithResourceCategory(ResourceCategory value) { SetResourceCategory(value); return *this;} + ///@} + + ///@{ + /** + *

                                The type of resource.

                                + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ResourceResult& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The name of the resource.

                                + */ + inline const Aws::String& GetResourceName() const { return m_resourceName; } + inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } + template + void SetResourceName(ResourceNameT&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::forward(value); } + template + ResourceResult& WithResourceName(ResourceNameT&& value) { SetResourceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The time when the resource was created.

                                + */ + inline const Aws::String& GetResourceCreationTimeDt() const { return m_resourceCreationTimeDt; } + inline bool ResourceCreationTimeDtHasBeenSet() const { return m_resourceCreationTimeDtHasBeenSet; } + template + void SetResourceCreationTimeDt(ResourceCreationTimeDtT&& value) { m_resourceCreationTimeDtHasBeenSet = true; m_resourceCreationTimeDt = std::forward(value); } + template + ResourceResult& WithResourceCreationTimeDt(ResourceCreationTimeDtT&& value) { SetResourceCreationTimeDt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The timestamp when information about the resource was captured.

                                + */ + inline const Aws::String& GetResourceDetailCaptureTimeDt() const { return m_resourceDetailCaptureTimeDt; } + inline bool ResourceDetailCaptureTimeDtHasBeenSet() const { return m_resourceDetailCaptureTimeDtHasBeenSet; } + template + void SetResourceDetailCaptureTimeDt(ResourceDetailCaptureTimeDtT&& value) { m_resourceDetailCaptureTimeDtHasBeenSet = true; m_resourceDetailCaptureTimeDt = std::forward(value); } + template + ResourceResult& WithResourceDetailCaptureTimeDt(ResourceDetailCaptureTimeDtT&& value) { SetResourceDetailCaptureTimeDt(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                An aggregated view of security findings associated with a resource.

                                + */ + inline const Aws::Vector& GetFindingsSummary() const { return m_findingsSummary; } + inline bool FindingsSummaryHasBeenSet() const { return m_findingsSummaryHasBeenSet; } + template> + void SetFindingsSummary(FindingsSummaryT&& value) { m_findingsSummaryHasBeenSet = true; m_findingsSummary = std::forward(value); } + template> + ResourceResult& WithFindingsSummary(FindingsSummaryT&& value) { SetFindingsSummary(std::forward(value)); return *this;} + template + ResourceResult& AddFindingsSummary(FindingsSummaryT&& value) { m_findingsSummaryHasBeenSet = true; m_findingsSummary.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The key-value pairs associated with a resource.

                                + */ + inline const Aws::Vector& GetResourceTags() const { return m_resourceTags; } + inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } + template> + void SetResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::forward(value); } + template> + ResourceResult& WithResourceTags(ResourceTagsT&& value) { SetResourceTags(std::forward(value)); return *this;} + template + ResourceResult& AddResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The configuration details of a resource.

                                + */ + inline Aws::Utils::DocumentView GetResourceConfig() const { return m_resourceConfig; } + inline bool ResourceConfigHasBeenSet() const { return m_resourceConfigHasBeenSet; } + template + void SetResourceConfig(ResourceConfigT&& value) { m_resourceConfigHasBeenSet = true; m_resourceConfig = std::forward(value); } + template + ResourceResult& WithResourceConfig(ResourceConfigT&& value) { SetResourceConfig(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + ResourceCategory m_resourceCategory{ResourceCategory::NOT_SET}; + bool m_resourceCategoryHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_resourceName; + bool m_resourceNameHasBeenSet = false; + + Aws::String m_resourceCreationTimeDt; + bool m_resourceCreationTimeDtHasBeenSet = false; + + Aws::String m_resourceDetailCaptureTimeDt; + bool m_resourceDetailCaptureTimeDtHasBeenSet = false; + + Aws::Vector m_findingsSummary; + bool m_findingsSummaryHasBeenSet = false; + + Aws::Vector m_resourceTags; + bool m_resourceTagsHasBeenSet = false; + + Aws::Utils::Document m_resourceConfig; + bool m_resourceConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceSeverityBreakdown.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceSeverityBreakdown.h new file mode 100644 index 00000000000..dcfd460483a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceSeverityBreakdown.h @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                A comprehensive distribution of security findings by severity level for + * Amazon Web Services resources.

                                See Also:

                                AWS + * API Reference

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

                                The number of findings not in any of the severity categories.

                                + */ + inline int GetOther() const { return m_other; } + inline bool OtherHasBeenSet() const { return m_otherHasBeenSet; } + inline void SetOther(int value) { m_otherHasBeenSet = true; m_other = value; } + inline ResourceSeverityBreakdown& WithOther(int value) { SetOther(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings with a severity level of fatal.

                                + */ + inline int GetFatal() const { return m_fatal; } + inline bool FatalHasBeenSet() const { return m_fatalHasBeenSet; } + inline void SetFatal(int value) { m_fatalHasBeenSet = true; m_fatal = value; } + inline ResourceSeverityBreakdown& WithFatal(int value) { SetFatal(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings with a severity level of critical.

                                + */ + inline int GetCritical() const { return m_critical; } + inline bool CriticalHasBeenSet() const { return m_criticalHasBeenSet; } + inline void SetCritical(int value) { m_criticalHasBeenSet = true; m_critical = value; } + inline ResourceSeverityBreakdown& WithCritical(int value) { SetCritical(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings with a severity level of high.

                                + */ + inline int GetHigh() const { return m_high; } + inline bool HighHasBeenSet() const { return m_highHasBeenSet; } + inline void SetHigh(int value) { m_highHasBeenSet = true; m_high = value; } + inline ResourceSeverityBreakdown& WithHigh(int value) { SetHigh(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings with a severity level of medium.

                                + */ + inline int GetMedium() const { return m_medium; } + inline bool MediumHasBeenSet() const { return m_mediumHasBeenSet; } + inline void SetMedium(int value) { m_mediumHasBeenSet = true; m_medium = value; } + inline ResourceSeverityBreakdown& WithMedium(int value) { SetMedium(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings with a severity level of low.

                                + */ + inline int GetLow() const { return m_low; } + inline bool LowHasBeenSet() const { return m_lowHasBeenSet; } + inline void SetLow(int value) { m_lowHasBeenSet = true; m_low = value; } + inline ResourceSeverityBreakdown& WithLow(int value) { SetLow(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings that provide security-related information.

                                + */ + inline int GetInformational() const { return m_informational; } + inline bool InformationalHasBeenSet() const { return m_informationalHasBeenSet; } + inline void SetInformational(int value) { m_informationalHasBeenSet = true; m_informational = value; } + inline ResourceSeverityBreakdown& WithInformational(int value) { SetInformational(value); return *this;} + ///@} + + ///@{ + /** + *

                                The number of findings with a severity level cannot be determined.

                                + */ + inline int GetUnknown() const { return m_unknown; } + inline bool UnknownHasBeenSet() const { return m_unknownHasBeenSet; } + inline void SetUnknown(int value) { m_unknownHasBeenSet = true; m_unknown = value; } + inline ResourceSeverityBreakdown& WithUnknown(int value) { SetUnknown(value); return *this;} + ///@} + private: + + int m_other{0}; + bool m_otherHasBeenSet = false; + + int m_fatal{0}; + bool m_fatalHasBeenSet = false; + + int m_critical{0}; + bool m_criticalHasBeenSet = false; + + int m_high{0}; + bool m_highHasBeenSet = false; + + int m_medium{0}; + bool m_mediumHasBeenSet = false; + + int m_low{0}; + bool m_lowHasBeenSet = false; + + int m_informational{0}; + bool m_informationalHasBeenSet = false; + + int m_unknown{0}; + bool m_unknownHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceTag.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceTag.h new file mode 100644 index 00000000000..d4f3846cc11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourceTag.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Represents tag information associated with Amazon Web Services + * resources.

                                See Also:

                                AWS + * API Reference

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

                                The identifier or name of the tag.

                                + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + ResourceTag& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The data associated with the tag key.

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

                                Enables the creation of criteria for Amazon Web Services resources in + * Security Hub.

                                See Also:

                                AWS + * API Reference

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

                                Enables filtering based on string field values.

                                + */ + inline const Aws::Vector& GetStringFilters() const { return m_stringFilters; } + inline bool StringFiltersHasBeenSet() const { return m_stringFiltersHasBeenSet; } + template> + void SetStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithStringFilters(StringFiltersT&& value) { SetStringFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddStringFilters(StringFiltersT&& value) { m_stringFiltersHasBeenSet = true; m_stringFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on date and timestamp field values.

                                + */ + inline const Aws::Vector& GetDateFilters() const { return m_dateFilters; } + inline bool DateFiltersHasBeenSet() const { return m_dateFiltersHasBeenSet; } + template> + void SetDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithDateFilters(DateFiltersT&& value) { SetDateFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddDateFilters(DateFiltersT&& value) { m_dateFiltersHasBeenSet = true; m_dateFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on numerical field values.

                                + */ + inline const Aws::Vector& GetNumberFilters() const { return m_numberFilters; } + inline bool NumberFiltersHasBeenSet() const { return m_numberFiltersHasBeenSet; } + template> + void SetNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithNumberFilters(NumberFiltersT&& value) { SetNumberFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddNumberFilters(NumberFiltersT&& value) { m_numberFiltersHasBeenSet = true; m_numberFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                Enables filtering based on map-based field values.

                                + */ + inline const Aws::Vector& GetMapFilters() const { return m_mapFilters; } + inline bool MapFiltersHasBeenSet() const { return m_mapFiltersHasBeenSet; } + template> + void SetMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters = std::forward(value); } + template> + ResourcesCompositeFilter& WithMapFilters(MapFiltersT&& value) { SetMapFilters(std::forward(value)); return *this;} + template + ResourcesCompositeFilter& AddMapFilters(MapFiltersT&& value) { m_mapFiltersHasBeenSet = true; m_mapFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The logical operator used to combine multiple filter conditions.

                                + */ + inline AllowedOperators GetOperator() const { return m_operator; } + inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; } + inline void SetOperator(AllowedOperators value) { m_operatorHasBeenSet = true; m_operator = value; } + inline ResourcesCompositeFilter& WithOperator(AllowedOperators value) { SetOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_stringFilters; + bool m_stringFiltersHasBeenSet = false; + + Aws::Vector m_dateFilters; + bool m_dateFiltersHasBeenSet = false; + + Aws::Vector m_numberFilters; + bool m_numberFiltersHasBeenSet = false; + + Aws::Vector m_mapFilters; + bool m_mapFiltersHasBeenSet = false; + + AllowedOperators m_operator{AllowedOperators::NOT_SET}; + bool m_operatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateField.h new file mode 100644 index 00000000000..b49c057ecb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateField.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesDateField + { + NOT_SET, + resource_detail_capture_time_dt, + resource_creation_time_dt + }; + +namespace ResourcesDateFieldMapper +{ +AWS_SECURITYHUB_API ResourcesDateField GetResourcesDateFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesDateField(ResourcesDateField value); +} // namespace ResourcesDateFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateFilter.h new file mode 100644 index 00000000000..6955f0c695c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesDateFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables the filtering of Amazon Web Services resources based on date and + * timestamp attributes.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline ResourcesDateField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesDateField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesDateFilter& WithFieldName(ResourcesDateField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const DateFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesDateFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesDateField m_fieldName{ResourcesDateField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + DateFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesFilters.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesFilters.h new file mode 100644 index 00000000000..7e90f005246 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesFilters.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of Amazon Web Services resources based on + * data.

                                See Also:

                                AWS + * API Reference

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

                                A collection of complex filtering conditions that can be applied to Amazon + * Web Services resources.

                                + */ + inline const Aws::Vector& GetCompositeFilters() const { return m_compositeFilters; } + inline bool CompositeFiltersHasBeenSet() const { return m_compositeFiltersHasBeenSet; } + template> + void SetCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters = std::forward(value); } + template> + ResourcesFilters& WithCompositeFilters(CompositeFiltersT&& value) { SetCompositeFilters(std::forward(value)); return *this;} + template + ResourcesFilters& AddCompositeFilters(CompositeFiltersT&& value) { m_compositeFiltersHasBeenSet = true; m_compositeFilters.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                                The logical operator used to combine multiple filter conditions in the + * structure.

                                + */ + inline AllowedOperators GetCompositeOperator() const { return m_compositeOperator; } + inline bool CompositeOperatorHasBeenSet() const { return m_compositeOperatorHasBeenSet; } + inline void SetCompositeOperator(AllowedOperators value) { m_compositeOperatorHasBeenSet = true; m_compositeOperator = value; } + inline ResourcesFilters& WithCompositeOperator(AllowedOperators value) { SetCompositeOperator(value); return *this;} + ///@} + private: + + Aws::Vector m_compositeFilters; + bool m_compositeFiltersHasBeenSet = false; + + AllowedOperators m_compositeOperator{AllowedOperators::NOT_SET}; + bool m_compositeOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapField.h new file mode 100644 index 00000000000..de9b7981ffe --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapField.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesMapField + { + NOT_SET, + tags + }; + +namespace ResourcesMapFieldMapper +{ +AWS_SECURITYHUB_API ResourcesMapField GetResourcesMapFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesMapField(ResourcesMapField value); +} // namespace ResourcesMapFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapFilter.h new file mode 100644 index 00000000000..5d383e22c2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesMapFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of Amazon Web Services resources based on key-value map + * attributes.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline ResourcesMapField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesMapField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesMapFilter& WithFieldName(ResourcesMapField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const MapFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesMapFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesMapField m_fieldName{ResourcesMapField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + MapFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberField.h new file mode 100644 index 00000000000..74600a9a18b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberField.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesNumberField + { + NOT_SET, + findings_summary_total_findings, + findings_summary_severities_other, + findings_summary_severities_fatal, + findings_summary_severities_critical, + findings_summary_severities_high, + findings_summary_severities_medium, + findings_summary_severities_low, + findings_summary_severities_informational, + findings_summary_severities_unknown + }; + +namespace ResourcesNumberFieldMapper +{ +AWS_SECURITYHUB_API ResourcesNumberField GetResourcesNumberFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesNumberField(ResourcesNumberField value); +} // namespace ResourcesNumberFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberFilter.h new file mode 100644 index 00000000000..d94cf40951a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesNumberFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of Amazon Web Services resources based on numerical + * values.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline ResourcesNumberField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesNumberField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesNumberFilter& WithFieldName(ResourcesNumberField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const NumberFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesNumberFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesNumberField m_fieldName{ResourcesNumberField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + NumberFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringField.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringField.h new file mode 100644 index 00000000000..41c09b84888 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringField.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class ResourcesStringField + { + NOT_SET, + resource_arn, + resource_id, + account_id, + region, + resource_category, + resource_type, + resource_name, + findings_summary_finding_type, + findings_summary_product_name + }; + +namespace ResourcesStringFieldMapper +{ +AWS_SECURITYHUB_API ResourcesStringField GetResourcesStringFieldForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForResourcesStringField(ResourcesStringField value); +} // namespace ResourcesStringFieldMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringFilter.h new file mode 100644 index 00000000000..23f2156e099 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ResourcesStringFilter.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Enables filtering of Amazon Web Services resources based on string field + * values.

                                See Also:

                                AWS + * API Reference

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

                                The name of the field.

                                + */ + inline ResourcesStringField GetFieldName() const { return m_fieldName; } + inline bool FieldNameHasBeenSet() const { return m_fieldNameHasBeenSet; } + inline void SetFieldName(ResourcesStringField value) { m_fieldNameHasBeenSet = true; m_fieldName = value; } + inline ResourcesStringFilter& WithFieldName(ResourcesStringField value) { SetFieldName(value); return *this;} + ///@} + + ///@{ + + inline const StringFilter& GetFilter() const { return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + template + void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward(value); } + template + ResourcesStringFilter& WithFilter(FilterT&& value) { SetFilter(std::forward(value)); return *this;} + ///@} + private: + + ResourcesStringField m_fieldName{ResourcesStringField::NOT_SET}; + bool m_fieldNameHasBeenSet = false; + + StringFilter m_filter; + bool m_filterHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/RuleStatusV2.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/RuleStatusV2.h new file mode 100644 index 00000000000..82cd3f0d7da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/RuleStatusV2.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class RuleStatusV2 + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace RuleStatusV2Mapper +{ +AWS_SECURITYHUB_API RuleStatusV2 GetRuleStatusV2ForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForRuleStatusV2(RuleStatusV2 value); +} // namespace RuleStatusV2Mapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityHubFeature.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityHubFeature.h new file mode 100644 index 00000000000..d8eb3612a80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/SecurityHubFeature.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + enum class SecurityHubFeature + { + NOT_SET, + SecurityHub, + SecurityHubV2 + }; + +namespace SecurityHubFeatureMapper +{ +AWS_SECURITYHUB_API SecurityHubFeature GetSecurityHubFeatureForName(const Aws::String& name); + +AWS_SECURITYHUB_API Aws::String GetNameForSecurityHubFeature(SecurityHubFeature value); +} // namespace SecurityHubFeatureMapper +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowDetail.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowDetail.h new file mode 100644 index 00000000000..10a3dbe4b01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowDetail.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                Information about a ServiceNow ITSM integration.

                                See Also:

                                + * AWS + * API Reference

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

                                The instanceName of ServiceNow ITSM.

                                + */ + inline const Aws::String& GetInstanceName() const { return m_instanceName; } + inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; } + template + void SetInstanceName(InstanceNameT&& value) { m_instanceNameHasBeenSet = true; m_instanceName = std::forward(value); } + template + ServiceNowDetail& WithInstanceName(InstanceNameT&& value) { SetInstanceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The clientId of ServiceNow ITSM.

                                + */ + inline const Aws::String& GetClientId() const { return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + template + void SetClientId(ClientIdT&& value) { m_clientIdHasBeenSet = true; m_clientId = std::forward(value); } + template + ServiceNowDetail& WithClientId(ClientIdT&& value) { SetClientId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The status of the authorization between Jira Cloud and the service.

                                + */ + inline ConnectorAuthStatus GetAuthStatus() const { return m_authStatus; } + inline bool AuthStatusHasBeenSet() const { return m_authStatusHasBeenSet; } + inline void SetAuthStatus(ConnectorAuthStatus value) { m_authStatusHasBeenSet = true; m_authStatus = value; } + inline ServiceNowDetail& WithAuthStatus(ConnectorAuthStatus value) { SetAuthStatus(value); return *this;} + ///@} + private: + + Aws::String m_instanceName; + bool m_instanceNameHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + ConnectorAuthStatus m_authStatus{ConnectorAuthStatus::NOT_SET}; + bool m_authStatusHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowProviderConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowProviderConfiguration.h new file mode 100644 index 00000000000..3593d60984b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ServiceNowProviderConfiguration.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                                The initial configuration settings required to establish an integration + * between Security Hub and ServiceNow ITSM.

                                See Also:

                                AWS + * API Reference

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

                                The instance name of ServiceNow ITSM.

                                + */ + inline const Aws::String& GetInstanceName() const { return m_instanceName; } + inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; } + template + void SetInstanceName(InstanceNameT&& value) { m_instanceNameHasBeenSet = true; m_instanceName = std::forward(value); } + template + ServiceNowProviderConfiguration& WithInstanceName(InstanceNameT&& value) { SetInstanceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The client ID of ServiceNow ITSM.

                                + */ + inline const Aws::String& GetClientId() const { return m_clientId; } + inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } + template + void SetClientId(ClientIdT&& value) { m_clientIdHasBeenSet = true; m_clientId = std::forward(value); } + template + ServiceNowProviderConfiguration& WithClientId(ClientIdT&& value) { SetClientId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                                The client secret of ServiceNow ITSM.

                                + */ + inline const Aws::String& GetClientSecret() const { return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + template + void SetClientSecret(ClientSecretT&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::forward(value); } + template + ServiceNowProviderConfiguration& WithClientSecret(ClientSecretT&& value) { SetClientSecret(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceName; + bool m_instanceNameHasBeenSet = false; + + Aws::String m_clientId; + bool m_clientIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h index 02d5635cbf5..1dd2e4d81a1 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilter.h @@ -111,7 +111,10 @@ namespace Model * ResourceType PREFIX AwsEc2

                              • ResourceType * NOT_EQUALS AwsIamPolicy

                              • ResourceType NOT_EQUALS * AwsEc2NetworkInterface

                              CONTAINS and - * NOT_CONTAINS operators can be used only with automation rules. For + * NOT_CONTAINS operators can be used only with automation rules V1. + * CONTAINS_WORD operator is only supported in + * GetFindingsV2, GetFindingStatisticsV2, + * GetResourcesV2, and GetResourceStatisticsV2 APIs. For * more information, see Automation * rules in the Security Hub User Guide.

                              diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h index a461adbe0f1..ae2ebc724d9 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/StringFilterComparison.h @@ -21,7 +21,8 @@ namespace Model NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, - NOT_CONTAINS + NOT_CONTAINS, + CONTAINS_WORD }; namespace StringFilterComparisonMapper diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ThrottlingException.h new file mode 100644 index 00000000000..ac267ef05c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ThrottlingException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                              The limit on the number of requests per second was exceeded.

                              See + * Also:

                              AWS + * API Reference

                              + */ + class ThrottlingException + { + public: + AWS_SECURITYHUB_API ThrottlingException() = default; + AWS_SECURITYHUB_API ThrottlingException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ThrottlingException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + ThrottlingException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Request.h new file mode 100644 index 00000000000..8013e585572 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Request.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateAggregatorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateAggregatorV2Request() = default; + + // 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 "UpdateAggregatorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The ARN of the Aggregator V2.

                              + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + inline bool AggregatorV2ArnHasBeenSet() const { return m_aggregatorV2ArnHasBeenSet; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + UpdateAggregatorV2Request& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Determines how Amazon Web Services Regions should be linked to the Aggregator + * V2.

                              + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + inline bool RegionLinkingModeHasBeenSet() const { return m_regionLinkingModeHasBeenSet; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + UpdateAggregatorV2Request& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              A list of Amazon Web Services Regions linked to the aggegation Region.

                              + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + inline bool LinkedRegionsHasBeenSet() const { return m_linkedRegionsHasBeenSet; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + UpdateAggregatorV2Request& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + UpdateAggregatorV2Request& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Result.h new file mode 100644 index 00000000000..9e593a2c4dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAggregatorV2Result.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 SecurityHub +{ +namespace Model +{ + class UpdateAggregatorV2Result + { + public: + AWS_SECURITYHUB_API UpdateAggregatorV2Result() = default; + AWS_SECURITYHUB_API UpdateAggregatorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateAggregatorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                              The ARN of the Aggregator V2.

                              + */ + inline const Aws::String& GetAggregatorV2Arn() const { return m_aggregatorV2Arn; } + template + void SetAggregatorV2Arn(AggregatorV2ArnT&& value) { m_aggregatorV2ArnHasBeenSet = true; m_aggregatorV2Arn = std::forward(value); } + template + UpdateAggregatorV2Result& WithAggregatorV2Arn(AggregatorV2ArnT&& value) { SetAggregatorV2Arn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The Amazon Web Services Region where data is aggregated.

                              + */ + inline const Aws::String& GetAggregationRegion() const { return m_aggregationRegion; } + template + void SetAggregationRegion(AggregationRegionT&& value) { m_aggregationRegionHasBeenSet = true; m_aggregationRegion = std::forward(value); } + template + UpdateAggregatorV2Result& WithAggregationRegion(AggregationRegionT&& value) { SetAggregationRegion(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Determines how Amazon Web Services Regions should be linked to the Aggregator + * V2.

                              + */ + inline const Aws::String& GetRegionLinkingMode() const { return m_regionLinkingMode; } + template + void SetRegionLinkingMode(RegionLinkingModeT&& value) { m_regionLinkingModeHasBeenSet = true; m_regionLinkingMode = std::forward(value); } + template + UpdateAggregatorV2Result& WithRegionLinkingMode(RegionLinkingModeT&& value) { SetRegionLinkingMode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              A list of Amazon Web Services Regions linked to the aggegation Region.

                              + */ + inline const Aws::Vector& GetLinkedRegions() const { return m_linkedRegions; } + template> + void SetLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions = std::forward(value); } + template> + UpdateAggregatorV2Result& WithLinkedRegions(LinkedRegionsT&& value) { SetLinkedRegions(std::forward(value)); return *this;} + template + UpdateAggregatorV2Result& AddLinkedRegions(LinkedRegionsT&& value) { m_linkedRegionsHasBeenSet = true; m_linkedRegions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateAggregatorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_aggregatorV2Arn; + bool m_aggregatorV2ArnHasBeenSet = false; + + Aws::String m_aggregationRegion; + bool m_aggregationRegionHasBeenSet = false; + + Aws::String m_regionLinkingMode; + bool m_regionLinkingModeHasBeenSet = false; + + Aws::Vector m_linkedRegions; + bool m_linkedRegionsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Request.h new file mode 100644 index 00000000000..1617354cf6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Request.h @@ -0,0 +1,146 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateAutomationRuleV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateAutomationRuleV2Request() = default; + + // 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 "UpdateAutomationRuleV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The ARN of the automation rule.

                              + */ + inline const Aws::String& GetIdentifier() const { return m_identifier; } + inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } + template + void SetIdentifier(IdentifierT&& value) { m_identifierHasBeenSet = true; m_identifier = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithIdentifier(IdentifierT&& value) { SetIdentifier(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The status of the automation rule.

                              + */ + inline RuleStatusV2 GetRuleStatus() const { return m_ruleStatus; } + inline bool RuleStatusHasBeenSet() const { return m_ruleStatusHasBeenSet; } + inline void SetRuleStatus(RuleStatusV2 value) { m_ruleStatusHasBeenSet = true; m_ruleStatus = value; } + inline UpdateAutomationRuleV2Request& WithRuleStatus(RuleStatusV2 value) { SetRuleStatus(value); return *this;} + ///@} + + ///@{ + /** + *

                              Represents a value for the rule priority.

                              + */ + inline double GetRuleOrder() const { return m_ruleOrder; } + inline bool RuleOrderHasBeenSet() const { return m_ruleOrderHasBeenSet; } + inline void SetRuleOrder(double value) { m_ruleOrderHasBeenSet = true; m_ruleOrder = value; } + inline UpdateAutomationRuleV2Request& WithRuleOrder(double value) { SetRuleOrder(value); return *this;} + ///@} + + ///@{ + /** + *

                              A description of the automation rule.

                              + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The name of the automation rule.

                              + */ + inline const Aws::String& GetRuleName() const { return m_ruleName; } + inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } + template + void SetRuleName(RuleNameT&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithRuleName(RuleNameT&& value) { SetRuleName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The filtering type and configuration of the automation rule.

                              + */ + inline const Criteria& GetCriteria() const { return m_criteria; } + inline bool CriteriaHasBeenSet() const { return m_criteriaHasBeenSet; } + template + void SetCriteria(CriteriaT&& value) { m_criteriaHasBeenSet = true; m_criteria = std::forward(value); } + template + UpdateAutomationRuleV2Request& WithCriteria(CriteriaT&& value) { SetCriteria(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              A list of actions to be performed when the rule criteria is met.

                              + */ + inline const Aws::Vector& GetActions() const { return m_actions; } + inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } + template> + void SetActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions = std::forward(value); } + template> + UpdateAutomationRuleV2Request& WithActions(ActionsT&& value) { SetActions(std::forward(value)); return *this;} + template + UpdateAutomationRuleV2Request& AddActions(ActionsT&& value) { m_actionsHasBeenSet = true; m_actions.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_identifier; + bool m_identifierHasBeenSet = false; + + RuleStatusV2 m_ruleStatus{RuleStatusV2::NOT_SET}; + bool m_ruleStatusHasBeenSet = false; + + double m_ruleOrder{0.0}; + bool m_ruleOrderHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_ruleName; + bool m_ruleNameHasBeenSet = false; + + Criteria m_criteria; + bool m_criteriaHasBeenSet = false; + + Aws::Vector m_actions; + bool m_actionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Result.h new file mode 100644 index 00000000000..1837b59201e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateAutomationRuleV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class UpdateAutomationRuleV2Result + { + public: + AWS_SECURITYHUB_API UpdateAutomationRuleV2Result() = default; + AWS_SECURITYHUB_API UpdateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateAutomationRuleV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateAutomationRuleV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Request.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Request.h new file mode 100644 index 00000000000..c27eae1a2b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Request.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + + /** + */ + class UpdateConnectorV2Request : public SecurityHubRequest + { + public: + AWS_SECURITYHUB_API UpdateConnectorV2Request() = default; + + // 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 "UpdateConnectorV2"; } + + AWS_SECURITYHUB_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              + */ + inline const Aws::String& GetConnectorId() const { return m_connectorId; } + inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; } + template + void SetConnectorId(ConnectorIdT&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::forward(value); } + template + UpdateConnectorV2Request& WithConnectorId(ConnectorIdT&& value) { SetConnectorId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The clientSecret of ServiceNow.

                              + */ + inline const Aws::String& GetClientSecret() const { return m_clientSecret; } + inline bool ClientSecretHasBeenSet() const { return m_clientSecretHasBeenSet; } + template + void SetClientSecret(ClientSecretT&& value) { m_clientSecretHasBeenSet = true; m_clientSecret = std::forward(value); } + template + UpdateConnectorV2Request& WithClientSecret(ClientSecretT&& value) { SetClientSecret(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The description of the connectorV2.

                              + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + UpdateConnectorV2Request& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The third-party provider’s service configuration.

                              + */ + inline const ProviderUpdateConfiguration& GetProvider() const { return m_provider; } + inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; } + template + void SetProvider(ProviderT&& value) { m_providerHasBeenSet = true; m_provider = std::forward(value); } + template + UpdateConnectorV2Request& WithProvider(ProviderT&& value) { SetProvider(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_connectorId; + bool m_connectorIdHasBeenSet = false; + + Aws::String m_clientSecret; + bool m_clientSecretHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ProviderUpdateConfiguration m_provider; + bool m_providerHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Result.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Result.h new file mode 100644 index 00000000000..56442eb460a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/UpdateConnectorV2Result.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + class UpdateConnectorV2Result + { + public: + AWS_SECURITYHUB_API UpdateConnectorV2Result() = default; + AWS_SECURITYHUB_API UpdateConnectorV2Result(const Aws::AmazonWebServiceResult& result); + AWS_SECURITYHUB_API UpdateConnectorV2Result& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UpdateConnectorV2Result& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ValidationException.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ValidationException.h new file mode 100644 index 00000000000..f39a41aaea0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/model/ValidationException.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SecurityHub +{ +namespace Model +{ + + /** + *

                              The request has failed validation because it's missing required fields or has + * invalid inputs.

                              See Also:

                              AWS + * API Reference

                              + */ + class ValidationException + { + public: + AWS_SECURITYHUB_API ValidationException() = default; + AWS_SECURITYHUB_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ValidationException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetCode() const { return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + template + void SetCode(CodeT&& value) { m_codeHasBeenSet = true; m_code = std::forward(value); } + template + ValidationException& WithCode(CodeT&& value) { SetCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_code; + bool m_codeHasBeenSet = false; + }; + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp index 31a390f0557..d86ce07653c 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp @@ -32,16 +32,25 @@ #include #include #include +#include #include +#include #include +#include #include +#include #include +#include #include #include #include +#include #include #include +#include +#include #include +#include #include #include #include @@ -50,32 +59,46 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include #include #include +#include #include +#include +#include #include #include +#include #include #include #include +#include #include +#include #include #include #include #include +#include +#include #include #include +#include #include +#include #include #include +#include #include #include #include @@ -89,7 +112,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -537,6 +563,33 @@ BatchUpdateFindingsOutcome SecurityHubClient::BatchUpdateFindings(const BatchUpd {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +BatchUpdateFindingsV2Outcome SecurityHubClient::BatchUpdateFindingsV2(const BatchUpdateFindingsV2Request& request) const +{ + AWS_OPERATION_GUARD(BatchUpdateFindingsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchUpdateFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchUpdateFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchUpdateFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchUpdateFindingsV2", + {{ 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( + [&]()-> BatchUpdateFindingsV2Outcome { + 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, BatchUpdateFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingsv2/batchupdatev2"); + return BatchUpdateFindingsV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + BatchUpdateStandardsControlAssociationsOutcome SecurityHubClient::BatchUpdateStandardsControlAssociations(const BatchUpdateStandardsControlAssociationsRequest& request) const { AWS_OPERATION_GUARD(BatchUpdateStandardsControlAssociations); @@ -564,6 +617,33 @@ BatchUpdateStandardsControlAssociationsOutcome SecurityHubClient::BatchUpdateSta {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ConnectorRegistrationsV2Outcome SecurityHubClient::ConnectorRegistrationsV2(const ConnectorRegistrationsV2Request& request) const +{ + AWS_OPERATION_GUARD(ConnectorRegistrationsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ConnectorRegistrationsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ConnectorRegistrationsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ConnectorRegistrationsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ConnectorRegistrationsV2", + {{ 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( + [&]()-> ConnectorRegistrationsV2Outcome { + 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, ConnectorRegistrationsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/registrations"); + return ConnectorRegistrationsV2Outcome(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()}}); +} + CreateActionTargetOutcome SecurityHubClient::CreateActionTarget(const CreateActionTargetRequest& request) const { AWS_OPERATION_GUARD(CreateActionTarget); @@ -591,6 +671,33 @@ CreateActionTargetOutcome SecurityHubClient::CreateActionTarget(const CreateActi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateAggregatorV2Outcome SecurityHubClient::CreateAggregatorV2(const CreateAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAggregatorV2", + {{ 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( + [&]()-> CreateAggregatorV2Outcome { + 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, CreateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/create"); + return CreateAggregatorV2Outcome(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()}}); +} + CreateAutomationRuleOutcome SecurityHubClient::CreateAutomationRule(const CreateAutomationRuleRequest& request) const { AWS_OPERATION_GUARD(CreateAutomationRule); @@ -618,6 +725,33 @@ CreateAutomationRuleOutcome SecurityHubClient::CreateAutomationRule(const Create {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateAutomationRuleV2Outcome SecurityHubClient::CreateAutomationRuleV2(const CreateAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateAutomationRuleV2", + {{ 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( + [&]()-> CreateAutomationRuleV2Outcome { + 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, CreateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/create"); + return CreateAutomationRuleV2Outcome(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()}}); +} + CreateConfigurationPolicyOutcome SecurityHubClient::CreateConfigurationPolicy(const CreateConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(CreateConfigurationPolicy); @@ -645,6 +779,33 @@ CreateConfigurationPolicyOutcome SecurityHubClient::CreateConfigurationPolicy(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateConnectorV2Outcome SecurityHubClient::CreateConnectorV2(const CreateConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateConnectorV2", + {{ 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( + [&]()-> CreateConnectorV2Outcome { + 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, CreateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2"); + return CreateConnectorV2Outcome(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()}}); +} + CreateFindingAggregatorOutcome SecurityHubClient::CreateFindingAggregator(const CreateFindingAggregatorRequest& request) const { AWS_OPERATION_GUARD(CreateFindingAggregator); @@ -726,6 +887,33 @@ CreateMembersOutcome SecurityHubClient::CreateMembers(const CreateMembersRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateTicketV2Outcome SecurityHubClient::CreateTicketV2(const CreateTicketV2Request& request) const +{ + AWS_OPERATION_GUARD(CreateTicketV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateTicketV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateTicketV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateTicketV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateTicketV2", + {{ 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( + [&]()-> CreateTicketV2Outcome { + 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, CreateTicketV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/ticketsv2"); + return CreateTicketV2Outcome(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()}}); +} + DeclineInvitationsOutcome SecurityHubClient::DeclineInvitations(const DeclineInvitationsRequest& request) const { AWS_OPERATION_GUARD(DeclineInvitations); @@ -786,6 +974,72 @@ DeleteActionTargetOutcome SecurityHubClient::DeleteActionTarget(const DeleteActi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteAggregatorV2Outcome SecurityHubClient::DeleteAggregatorV2(const DeleteAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(DeleteAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AggregatorV2ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAggregatorV2", "Required field: AggregatorV2Arn, is not set"); + return DeleteAggregatorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AggregatorV2Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAggregatorV2", + {{ 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( + [&]()-> DeleteAggregatorV2Outcome { + 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, DeleteAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/delete/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetAggregatorV2Arn()); + return DeleteAggregatorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteAutomationRuleV2Outcome SecurityHubClient::DeleteAutomationRuleV2(const DeleteAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(DeleteAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteAutomationRuleV2", "Required field: Identifier, is not set"); + return DeleteAutomationRuleV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteAutomationRuleV2", + {{ 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( + [&]()-> DeleteAutomationRuleV2Outcome { + 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, DeleteAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return DeleteAutomationRuleV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteConfigurationPolicyOutcome SecurityHubClient::DeleteConfigurationPolicy(const DeleteConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(DeleteConfigurationPolicy); @@ -819,6 +1073,39 @@ DeleteConfigurationPolicyOutcome SecurityHubClient::DeleteConfigurationPolicy(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteConnectorV2Outcome SecurityHubClient::DeleteConnectorV2(const DeleteConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(DeleteConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteConnectorV2", "Required field: ConnectorId, is not set"); + return DeleteConnectorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteConnectorV2", + {{ 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( + [&]()-> DeleteConnectorV2Outcome { + 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, DeleteConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetConnectorId()); + return DeleteConnectorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteFindingAggregatorOutcome SecurityHubClient::DeleteFindingAggregator(const DeleteFindingAggregatorRequest& request) const { AWS_OPERATION_GUARD(DeleteFindingAggregator); @@ -1047,6 +1334,60 @@ DescribeProductsOutcome SecurityHubClient::DescribeProducts(const DescribeProduc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeProductsV2Outcome SecurityHubClient::DescribeProductsV2(const DescribeProductsV2Request& request) const +{ + AWS_OPERATION_GUARD(DescribeProductsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeProductsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeProductsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeProductsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeProductsV2", + {{ 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( + [&]()-> DescribeProductsV2Outcome { + 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, DescribeProductsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/productsV2"); + return DescribeProductsV2Outcome(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()}}); +} + +DescribeSecurityHubV2Outcome SecurityHubClient::DescribeSecurityHubV2(const DescribeSecurityHubV2Request& request) const +{ + AWS_OPERATION_GUARD(DescribeSecurityHubV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeSecurityHubV2", + {{ 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( + [&]()-> DescribeSecurityHubV2Outcome { + 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, DescribeSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/hubv2"); + return DescribeSecurityHubV2Outcome(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()}}); +} + DescribeStandardsOutcome SecurityHubClient::DescribeStandards(const DescribeStandardsRequest& request) const { AWS_OPERATION_GUARD(DescribeStandards); @@ -1194,6 +1535,33 @@ DisableSecurityHubOutcome SecurityHubClient::DisableSecurityHub(const DisableSec {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisableSecurityHubV2Outcome SecurityHubClient::DisableSecurityHubV2(const DisableSecurityHubV2Request& request) const +{ + AWS_OPERATION_GUARD(DisableSecurityHubV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisableSecurityHubV2", + {{ 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( + [&]()-> DisableSecurityHubV2Outcome { + 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, DisableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/hubv2"); + return DisableSecurityHubV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DisassociateFromAdministratorAccountOutcome SecurityHubClient::DisassociateFromAdministratorAccount(const DisassociateFromAdministratorAccountRequest& request) const { AWS_OPERATION_GUARD(DisassociateFromAdministratorAccount); @@ -1329,6 +1697,33 @@ EnableSecurityHubOutcome SecurityHubClient::EnableSecurityHub(const EnableSecuri {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +EnableSecurityHubV2Outcome SecurityHubClient::EnableSecurityHubV2(const EnableSecurityHubV2Request& request) const +{ + AWS_OPERATION_GUARD(EnableSecurityHubV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, EnableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, EnableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, EnableSecurityHubV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".EnableSecurityHubV2", + {{ 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( + [&]()-> EnableSecurityHubV2Outcome { + 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, EnableSecurityHubV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/hubv2"); + return EnableSecurityHubV2Outcome(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()}}); +} + GetAdministratorAccountOutcome SecurityHubClient::GetAdministratorAccount(const GetAdministratorAccountRequest& request) const { AWS_OPERATION_GUARD(GetAdministratorAccount); @@ -1356,6 +1751,72 @@ GetAdministratorAccountOutcome SecurityHubClient::GetAdministratorAccount(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetAggregatorV2Outcome SecurityHubClient::GetAggregatorV2(const GetAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(GetAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AggregatorV2ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAggregatorV2", "Required field: AggregatorV2Arn, is not set"); + return GetAggregatorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AggregatorV2Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAggregatorV2", + {{ 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( + [&]()-> GetAggregatorV2Outcome { + 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, GetAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/get/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetAggregatorV2Arn()); + return GetAggregatorV2Outcome(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()}}); +} + +GetAutomationRuleV2Outcome SecurityHubClient::GetAutomationRuleV2(const GetAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(GetAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetAutomationRuleV2", "Required field: Identifier, is not set"); + return GetAutomationRuleV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetAutomationRuleV2", + {{ 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( + [&]()-> GetAutomationRuleV2Outcome { + 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, GetAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return GetAutomationRuleV2Outcome(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()}}); +} + GetConfigurationPolicyOutcome SecurityHubClient::GetConfigurationPolicy(const GetConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(GetConfigurationPolicy); @@ -1416,6 +1877,39 @@ GetConfigurationPolicyAssociationOutcome SecurityHubClient::GetConfigurationPoli {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetConnectorV2Outcome SecurityHubClient::GetConnectorV2(const GetConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(GetConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetConnectorV2", "Required field: ConnectorId, is not set"); + return GetConnectorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetConnectorV2", + {{ 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( + [&]()-> GetConnectorV2Outcome { + 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, GetConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetConnectorId()); + return GetConnectorV2Outcome(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()}}); +} + GetEnabledStandardsOutcome SecurityHubClient::GetEnabledStandards(const GetEnabledStandardsRequest& request) const { AWS_OPERATION_GUARD(GetEnabledStandards); @@ -1503,6 +1997,33 @@ GetFindingHistoryOutcome SecurityHubClient::GetFindingHistory(const GetFindingHi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetFindingStatisticsV2Outcome SecurityHubClient::GetFindingStatisticsV2(const GetFindingStatisticsV2Request& request) const +{ + AWS_OPERATION_GUARD(GetFindingStatisticsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetFindingStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetFindingStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetFindingStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetFindingStatisticsV2", + {{ 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( + [&]()-> GetFindingStatisticsV2Outcome { + 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, GetFindingStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingsv2/statistics"); + return GetFindingStatisticsV2Outcome(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()}}); +} + GetFindingsOutcome SecurityHubClient::GetFindings(const GetFindingsRequest& request) const { AWS_OPERATION_GUARD(GetFindings); @@ -1530,6 +2051,33 @@ GetFindingsOutcome SecurityHubClient::GetFindings(const GetFindingsRequest& requ {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetFindingsV2Outcome SecurityHubClient::GetFindingsV2(const GetFindingsV2Request& request) const +{ + AWS_OPERATION_GUARD(GetFindingsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetFindingsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetFindingsV2", + {{ 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( + [&]()-> GetFindingsV2Outcome { + 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, GetFindingsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/findingsv2"); + return GetFindingsV2Outcome(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()}}); +} + GetInsightResultsOutcome SecurityHubClient::GetInsightResults(const GetInsightResultsRequest& request) const { AWS_OPERATION_GUARD(GetInsightResults); @@ -1644,6 +2192,60 @@ GetMembersOutcome SecurityHubClient::GetMembers(const GetMembersRequest& request {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetResourcesStatisticsV2Outcome SecurityHubClient::GetResourcesStatisticsV2(const GetResourcesStatisticsV2Request& request) const +{ + AWS_OPERATION_GUARD(GetResourcesStatisticsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourcesStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourcesStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourcesStatisticsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourcesStatisticsV2", + {{ 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( + [&]()-> GetResourcesStatisticsV2Outcome { + 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, GetResourcesStatisticsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcesv2/statistics"); + return GetResourcesStatisticsV2Outcome(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()}}); +} + +GetResourcesV2Outcome SecurityHubClient::GetResourcesV2(const GetResourcesV2Request& request) const +{ + AWS_OPERATION_GUARD(GetResourcesV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetResourcesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetResourcesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetResourcesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetResourcesV2", + {{ 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( + [&]()-> GetResourcesV2Outcome { + 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, GetResourcesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/resourcesv2"); + return GetResourcesV2Outcome(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()}}); +} + GetSecurityControlDefinitionOutcome SecurityHubClient::GetSecurityControlDefinition(const GetSecurityControlDefinitionRequest& request) const { AWS_OPERATION_GUARD(GetSecurityControlDefinition); @@ -1703,6 +2305,33 @@ InviteMembersOutcome SecurityHubClient::InviteMembers(const InviteMembersRequest {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAggregatorsV2Outcome SecurityHubClient::ListAggregatorsV2(const ListAggregatorsV2Request& request) const +{ + AWS_OPERATION_GUARD(ListAggregatorsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAggregatorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAggregatorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAggregatorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAggregatorsV2", + {{ 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( + [&]()-> ListAggregatorsV2Outcome { + 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, ListAggregatorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/list"); + return ListAggregatorsV2Outcome(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()}}); +} + ListAutomationRulesOutcome SecurityHubClient::ListAutomationRules(const ListAutomationRulesRequest& request) const { AWS_OPERATION_GUARD(ListAutomationRules); @@ -1730,6 +2359,33 @@ ListAutomationRulesOutcome SecurityHubClient::ListAutomationRules(const ListAuto {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListAutomationRulesV2Outcome SecurityHubClient::ListAutomationRulesV2(const ListAutomationRulesV2Request& request) const +{ + AWS_OPERATION_GUARD(ListAutomationRulesV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListAutomationRulesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListAutomationRulesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListAutomationRulesV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListAutomationRulesV2", + {{ 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( + [&]()-> ListAutomationRulesV2Outcome { + 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, ListAutomationRulesV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/list"); + return ListAutomationRulesV2Outcome(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()}}); +} + ListConfigurationPoliciesOutcome SecurityHubClient::ListConfigurationPolicies(const ListConfigurationPoliciesRequest& request) const { AWS_OPERATION_GUARD(ListConfigurationPolicies); @@ -1784,6 +2440,33 @@ ListConfigurationPolicyAssociationsOutcome SecurityHubClient::ListConfigurationP {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListConnectorsV2Outcome SecurityHubClient::ListConnectorsV2(const ListConnectorsV2Request& request) const +{ + AWS_OPERATION_GUARD(ListConnectorsV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListConnectorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListConnectorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListConnectorsV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListConnectorsV2", + {{ 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( + [&]()-> ListConnectorsV2Outcome { + 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, ListConnectorsV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2"); + return ListConnectorsV2Outcome(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()}}); +} + ListEnabledProductsForImportOutcome SecurityHubClient::ListEnabledProductsForImport(const ListEnabledProductsForImportRequest& request) const { AWS_OPERATION_GUARD(ListEnabledProductsForImport); @@ -2169,6 +2852,72 @@ UpdateActionTargetOutcome SecurityHubClient::UpdateActionTarget(const UpdateActi {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateAggregatorV2Outcome SecurityHubClient::UpdateAggregatorV2(const UpdateAggregatorV2Request& request) const +{ + AWS_OPERATION_GUARD(UpdateAggregatorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.AggregatorV2ArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAggregatorV2", "Required field: AggregatorV2Arn, is not set"); + return UpdateAggregatorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AggregatorV2Arn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAggregatorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAggregatorV2", + {{ 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( + [&]()-> UpdateAggregatorV2Outcome { + 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, UpdateAggregatorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/aggregatorv2/update/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetAggregatorV2Arn()); + return UpdateAggregatorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateAutomationRuleV2Outcome SecurityHubClient::UpdateAutomationRuleV2(const UpdateAutomationRuleV2Request& request) const +{ + AWS_OPERATION_GUARD(UpdateAutomationRuleV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdentifierHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateAutomationRuleV2", "Required field: Identifier, is not set"); + return UpdateAutomationRuleV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Identifier]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateAutomationRuleV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateAutomationRuleV2", + {{ 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( + [&]()-> UpdateAutomationRuleV2Outcome { + 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, UpdateAutomationRuleV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/automationrulesv2/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetIdentifier()); + return UpdateAutomationRuleV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateConfigurationPolicyOutcome SecurityHubClient::UpdateConfigurationPolicy(const UpdateConfigurationPolicyRequest& request) const { AWS_OPERATION_GUARD(UpdateConfigurationPolicy); @@ -2202,6 +2951,39 @@ UpdateConfigurationPolicyOutcome SecurityHubClient::UpdateConfigurationPolicy(co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateConnectorV2Outcome SecurityHubClient::UpdateConnectorV2(const UpdateConnectorV2Request& request) const +{ + AWS_OPERATION_GUARD(UpdateConnectorV2); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ConnectorIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateConnectorV2", "Required field: ConnectorId, is not set"); + return UpdateConnectorV2Outcome(Aws::Client::AWSError(SecurityHubErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ConnectorId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateConnectorV2, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateConnectorV2", + {{ 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( + [&]()-> UpdateConnectorV2Outcome { + 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, UpdateConnectorV2, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/connectorsv2/"); + endpointResolutionOutcome.GetResult().AddPathSegments(request.GetConnectorId()); + return UpdateConnectorV2Outcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateFindingAggregatorOutcome SecurityHubClient::UpdateFindingAggregator(const UpdateFindingAggregatorRequest& request) const { AWS_OPERATION_GUARD(UpdateFindingAggregator); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp index 0f4eb7f0148..9e7c76bfaf3 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubErrors.cpp @@ -7,8 +7,12 @@ #include #include #include +#include #include +#include #include +#include +#include #include #include #include @@ -30,18 +34,42 @@ template<> AWS_SECURITYHUB_API InternalException SecurityHubError::GetModeledErr return InternalException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API ConflictException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + template<> AWS_SECURITYHUB_API InvalidAccessException SecurityHubError::GetModeledError() { assert(this->GetErrorType() == SecurityHubErrors::INVALID_ACCESS); return InvalidAccessException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API ThrottlingException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + template<> AWS_SECURITYHUB_API ResourceNotFoundException SecurityHubError::GetModeledError() { assert(this->GetErrorType() == SecurityHubErrors::RESOURCE_NOT_FOUND); return ResourceNotFoundException(this->GetJsonPayload().View()); } +template<> AWS_SECURITYHUB_API InternalServerException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_SECURITYHUB_API ValidationException SecurityHubError::GetModeledError() +{ + assert(this->GetErrorType() == SecurityHubErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + template<> AWS_SECURITYHUB_API LimitExceededException SecurityHubError::GetModeledError() { assert(this->GetErrorType() == SecurityHubErrors::LIMIT_EXCEEDED); @@ -76,7 +104,9 @@ namespace SecurityHubErrorMapper { static const int INTERNAL_HASH = HashingUtils::HashString("InternalException"); +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); static const int INVALID_ACCESS_HASH = HashingUtils::HashString("InvalidAccessException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); static const int LIMIT_EXCEEDED_HASH = HashingUtils::HashString("LimitExceededException"); static const int RESOURCE_CONFLICT_HASH = HashingUtils::HashString("ResourceConflictException"); static const int INVALID_INPUT_HASH = HashingUtils::HashString("InvalidInputException"); @@ -91,10 +121,18 @@ AWSError GetErrorForName(const char* errorName) { return AWSError(static_cast(SecurityHubErrors::INTERNAL), RetryableType::RETRYABLE); } + else if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(SecurityHubErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } else if (hashCode == INVALID_ACCESS_HASH) { return AWSError(static_cast(SecurityHubErrors::INVALID_ACCESS), RetryableType::NOT_RETRYABLE); } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(SecurityHubErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } else if (hashCode == LIMIT_EXCEEDED_HASH) { return AWSError(static_cast(SecurityHubErrors::LIMIT_EXCEEDED), RetryableType::RETRYABLE); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AggregatorV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AggregatorV2.cpp new file mode 100644 index 00000000000..5c157297536 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AggregatorV2.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AggregatorV2::AggregatorV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AggregatorV2& AggregatorV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + return *this; +} + +JsonValue AggregatorV2::Jsonize() const +{ + JsonValue payload; + + if(m_aggregatorV2ArnHasBeenSet) + { + payload.WithString("AggregatorV2Arn", m_aggregatorV2Arn); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AllowedOperators.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AllowedOperators.cpp new file mode 100644 index 00000000000..bca056a2d3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AllowedOperators.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace AllowedOperatorsMapper + { + + static const int AND_HASH = HashingUtils::HashString("AND"); + static const int OR_HASH = HashingUtils::HashString("OR"); + + + AllowedOperators GetAllowedOperatorsForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AND_HASH) + { + return AllowedOperators::AND; + } + else if (hashCode == OR_HASH) + { + return AllowedOperators::OR; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AllowedOperators::NOT_SET; + } + + Aws::String GetNameForAllowedOperators(AllowedOperators enumValue) + { + switch(enumValue) + { + case AllowedOperators::NOT_SET: + return {}; + case AllowedOperators::AND: + return "AND"; + case AllowedOperators::OR: + return "OR"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AllowedOperatorsMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeObjectV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeObjectV2.cpp new file mode 100644 index 00000000000..5848fde00e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeObjectV2.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesActionTypeObjectV2::AutomationRulesActionTypeObjectV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesActionTypeObjectV2& AutomationRulesActionTypeObjectV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = AutomationRulesActionTypeV2Mapper::GetAutomationRulesActionTypeV2ForName(jsonValue.GetString("Type")); + m_typeHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesActionTypeObjectV2::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", AutomationRulesActionTypeV2Mapper::GetNameForAutomationRulesActionTypeV2(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeV2.cpp new file mode 100644 index 00000000000..0d4a6178405 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionTypeV2.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace AutomationRulesActionTypeV2Mapper + { + + static const int FINDING_FIELDS_UPDATE_HASH = HashingUtils::HashString("FINDING_FIELDS_UPDATE"); + static const int EXTERNAL_INTEGRATION_HASH = HashingUtils::HashString("EXTERNAL_INTEGRATION"); + + + AutomationRulesActionTypeV2 GetAutomationRulesActionTypeV2ForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FINDING_FIELDS_UPDATE_HASH) + { + return AutomationRulesActionTypeV2::FINDING_FIELDS_UPDATE; + } + else if (hashCode == EXTERNAL_INTEGRATION_HASH) + { + return AutomationRulesActionTypeV2::EXTERNAL_INTEGRATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutomationRulesActionTypeV2::NOT_SET; + } + + Aws::String GetNameForAutomationRulesActionTypeV2(AutomationRulesActionTypeV2 enumValue) + { + switch(enumValue) + { + case AutomationRulesActionTypeV2::NOT_SET: + return {}; + case AutomationRulesActionTypeV2::FINDING_FIELDS_UPDATE: + return "FINDING_FIELDS_UPDATE"; + case AutomationRulesActionTypeV2::EXTERNAL_INTEGRATION: + return "EXTERNAL_INTEGRATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutomationRulesActionTypeV2Mapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionV2.cpp new file mode 100644 index 00000000000..c7c20bb5ccb --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesActionV2.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesActionV2::AutomationRulesActionV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesActionV2& AutomationRulesActionV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = AutomationRulesActionTypeV2Mapper::GetAutomationRulesActionTypeV2ForName(jsonValue.GetString("Type")); + m_typeHasBeenSet = true; + } + if(jsonValue.ValueExists("FindingFieldsUpdate")) + { + m_findingFieldsUpdate = jsonValue.GetObject("FindingFieldsUpdate"); + m_findingFieldsUpdateHasBeenSet = true; + } + if(jsonValue.ValueExists("ExternalIntegrationConfiguration")) + { + m_externalIntegrationConfiguration = jsonValue.GetObject("ExternalIntegrationConfiguration"); + m_externalIntegrationConfigurationHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesActionV2::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", AutomationRulesActionTypeV2Mapper::GetNameForAutomationRulesActionTypeV2(m_type)); + } + + if(m_findingFieldsUpdateHasBeenSet) + { + payload.WithObject("FindingFieldsUpdate", m_findingFieldsUpdate.Jsonize()); + + } + + if(m_externalIntegrationConfigurationHasBeenSet) + { + payload.WithObject("ExternalIntegrationConfiguration", m_externalIntegrationConfiguration.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesFindingFieldsUpdateV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesFindingFieldsUpdateV2.cpp new file mode 100644 index 00000000000..d0570415e01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesFindingFieldsUpdateV2.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesFindingFieldsUpdateV2::AutomationRulesFindingFieldsUpdateV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesFindingFieldsUpdateV2& AutomationRulesFindingFieldsUpdateV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SeverityId")) + { + m_severityId = jsonValue.GetInteger("SeverityId"); + m_severityIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Comment")) + { + m_comment = jsonValue.GetString("Comment"); + m_commentHasBeenSet = true; + } + if(jsonValue.ValueExists("StatusId")) + { + m_statusId = jsonValue.GetInteger("StatusId"); + m_statusIdHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesFindingFieldsUpdateV2::Jsonize() const +{ + JsonValue payload; + + if(m_severityIdHasBeenSet) + { + payload.WithInteger("SeverityId", m_severityId); + + } + + if(m_commentHasBeenSet) + { + payload.WithString("Comment", m_comment); + + } + + if(m_statusIdHasBeenSet) + { + payload.WithInteger("StatusId", m_statusId); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesMetadataV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesMetadataV2.cpp new file mode 100644 index 00000000000..42de1598e28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/AutomationRulesMetadataV2.cpp @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +AutomationRulesMetadataV2::AutomationRulesMetadataV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +AutomationRulesMetadataV2& AutomationRulesMetadataV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RuleArn")) + { + m_ruleArn = jsonValue.GetString("RuleArn"); + m_ruleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleId")) + { + m_ruleId = jsonValue.GetString("RuleId"); + m_ruleIdHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleOrder")) + { + m_ruleOrder = jsonValue.GetDouble("RuleOrder"); + m_ruleOrderHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleName")) + { + m_ruleName = jsonValue.GetString("RuleName"); + m_ruleNameHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleStatus")) + { + m_ruleStatus = RuleStatusV2Mapper::GetRuleStatusV2ForName(jsonValue.GetString("RuleStatus")); + m_ruleStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Actions")) + { + Aws::Utils::Array actionsJsonList = jsonValue.GetArray("Actions"); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + m_actions.push_back(actionsJsonList[actionsIndex].AsObject()); + } + m_actionsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdatedAt")) + { + m_updatedAt = jsonValue.GetString("UpdatedAt"); + m_updatedAtHasBeenSet = true; + } + return *this; +} + +JsonValue AutomationRulesMetadataV2::Jsonize() const +{ + JsonValue payload; + + if(m_ruleArnHasBeenSet) + { + payload.WithString("RuleArn", m_ruleArn); + + } + + if(m_ruleIdHasBeenSet) + { + payload.WithString("RuleId", m_ruleId); + + } + + if(m_ruleOrderHasBeenSet) + { + payload.WithDouble("RuleOrder", m_ruleOrder); + + } + + if(m_ruleNameHasBeenSet) + { + payload.WithString("RuleName", m_ruleName); + + } + + if(m_ruleStatusHasBeenSet) + { + payload.WithString("RuleStatus", RuleStatusV2Mapper::GetNameForRuleStatusV2(m_ruleStatus)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("Actions", std::move(actionsJsonList)); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("CreatedAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithString("UpdatedAt", m_updatedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2ProcessedFinding.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2ProcessedFinding.cpp new file mode 100644 index 00000000000..9c647aad2eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2ProcessedFinding.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +BatchUpdateFindingsV2ProcessedFinding::BatchUpdateFindingsV2ProcessedFinding(JsonView jsonValue) +{ + *this = jsonValue; +} + +BatchUpdateFindingsV2ProcessedFinding& BatchUpdateFindingsV2ProcessedFinding::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FindingIdentifier")) + { + m_findingIdentifier = jsonValue.GetObject("FindingIdentifier"); + m_findingIdentifierHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataUid")) + { + m_metadataUid = jsonValue.GetString("MetadataUid"); + m_metadataUidHasBeenSet = true; + } + return *this; +} + +JsonValue BatchUpdateFindingsV2ProcessedFinding::Jsonize() const +{ + JsonValue payload; + + if(m_findingIdentifierHasBeenSet) + { + payload.WithObject("FindingIdentifier", m_findingIdentifier.Jsonize()); + + } + + if(m_metadataUidHasBeenSet) + { + payload.WithString("MetadataUid", m_metadataUid); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Request.cpp new file mode 100644 index 00000000000..ce96573e305 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Request.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String BatchUpdateFindingsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_metadataUidsHasBeenSet) + { + Aws::Utils::Array metadataUidsJsonList(m_metadataUids.size()); + for(unsigned metadataUidsIndex = 0; metadataUidsIndex < metadataUidsJsonList.GetLength(); ++metadataUidsIndex) + { + metadataUidsJsonList[metadataUidsIndex].AsString(m_metadataUids[metadataUidsIndex]); + } + payload.WithArray("MetadataUids", std::move(metadataUidsJsonList)); + + } + + if(m_findingIdentifiersHasBeenSet) + { + Aws::Utils::Array findingIdentifiersJsonList(m_findingIdentifiers.size()); + for(unsigned findingIdentifiersIndex = 0; findingIdentifiersIndex < findingIdentifiersJsonList.GetLength(); ++findingIdentifiersIndex) + { + findingIdentifiersJsonList[findingIdentifiersIndex].AsObject(m_findingIdentifiers[findingIdentifiersIndex].Jsonize()); + } + payload.WithArray("FindingIdentifiers", std::move(findingIdentifiersJsonList)); + + } + + if(m_commentHasBeenSet) + { + payload.WithString("Comment", m_comment); + + } + + if(m_severityIdHasBeenSet) + { + payload.WithInteger("SeverityId", m_severityId); + + } + + if(m_statusIdHasBeenSet) + { + payload.WithInteger("StatusId", m_statusId); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Result.cpp new file mode 100644 index 00000000000..09d7285a271 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2Result.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchUpdateFindingsV2Result::BatchUpdateFindingsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchUpdateFindingsV2Result& BatchUpdateFindingsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ProcessedFindings")) + { + Aws::Utils::Array processedFindingsJsonList = jsonValue.GetArray("ProcessedFindings"); + for(unsigned processedFindingsIndex = 0; processedFindingsIndex < processedFindingsJsonList.GetLength(); ++processedFindingsIndex) + { + m_processedFindings.push_back(processedFindingsJsonList[processedFindingsIndex].AsObject()); + } + m_processedFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("UnprocessedFindings")) + { + Aws::Utils::Array unprocessedFindingsJsonList = jsonValue.GetArray("UnprocessedFindings"); + for(unsigned unprocessedFindingsIndex = 0; unprocessedFindingsIndex < unprocessedFindingsJsonList.GetLength(); ++unprocessedFindingsIndex) + { + m_unprocessedFindings.push_back(unprocessedFindingsJsonList[unprocessedFindingsIndex].AsObject()); + } + m_unprocessedFindingsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFinding.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFinding.cpp new file mode 100644 index 00000000000..92fe2340d13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFinding.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +BatchUpdateFindingsV2UnprocessedFinding::BatchUpdateFindingsV2UnprocessedFinding(JsonView jsonValue) +{ + *this = jsonValue; +} + +BatchUpdateFindingsV2UnprocessedFinding& BatchUpdateFindingsV2UnprocessedFinding::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FindingIdentifier")) + { + m_findingIdentifier = jsonValue.GetObject("FindingIdentifier"); + m_findingIdentifierHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataUid")) + { + m_metadataUid = jsonValue.GetString("MetadataUid"); + m_metadataUidHasBeenSet = true; + } + if(jsonValue.ValueExists("ErrorCode")) + { + m_errorCode = BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper::GetBatchUpdateFindingsV2UnprocessedFindingErrorCodeForName(jsonValue.GetString("ErrorCode")); + m_errorCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("ErrorMessage")) + { + m_errorMessage = jsonValue.GetString("ErrorMessage"); + m_errorMessageHasBeenSet = true; + } + return *this; +} + +JsonValue BatchUpdateFindingsV2UnprocessedFinding::Jsonize() const +{ + JsonValue payload; + + if(m_findingIdentifierHasBeenSet) + { + payload.WithObject("FindingIdentifier", m_findingIdentifier.Jsonize()); + + } + + if(m_metadataUidHasBeenSet) + { + payload.WithString("MetadataUid", m_metadataUid); + + } + + if(m_errorCodeHasBeenSet) + { + payload.WithString("ErrorCode", BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper::GetNameForBatchUpdateFindingsV2UnprocessedFindingErrorCode(m_errorCode)); + } + + if(m_errorMessageHasBeenSet) + { + payload.WithString("ErrorMessage", m_errorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.cpp new file mode 100644 index 00000000000..95e3653f7ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/BatchUpdateFindingsV2UnprocessedFindingErrorCode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper + { + + static const int ResourceNotFoundException_HASH = HashingUtils::HashString("ResourceNotFoundException"); + static const int ValidationException_HASH = HashingUtils::HashString("ValidationException"); + static const int InternalServerException_HASH = HashingUtils::HashString("InternalServerException"); + static const int ConflictException_HASH = HashingUtils::HashString("ConflictException"); + + + BatchUpdateFindingsV2UnprocessedFindingErrorCode GetBatchUpdateFindingsV2UnprocessedFindingErrorCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ResourceNotFoundException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::ResourceNotFoundException; + } + else if (hashCode == ValidationException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::ValidationException; + } + else if (hashCode == InternalServerException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::InternalServerException; + } + else if (hashCode == ConflictException_HASH) + { + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::ConflictException; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BatchUpdateFindingsV2UnprocessedFindingErrorCode::NOT_SET; + } + + Aws::String GetNameForBatchUpdateFindingsV2UnprocessedFindingErrorCode(BatchUpdateFindingsV2UnprocessedFindingErrorCode enumValue) + { + switch(enumValue) + { + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::NOT_SET: + return {}; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::ResourceNotFoundException: + return "ResourceNotFoundException"; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::ValidationException: + return "ValidationException"; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::InternalServerException: + return "InternalServerException"; + case BatchUpdateFindingsV2UnprocessedFindingErrorCode::ConflictException: + return "ConflictException"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BatchUpdateFindingsV2UnprocessedFindingErrorCodeMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CompositeFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CompositeFilter.cpp new file mode 100644 index 00000000000..d595ef9b751 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CompositeFilter.cpp @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +CompositeFilter::CompositeFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +CompositeFilter& CompositeFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StringFilters")) + { + Aws::Utils::Array stringFiltersJsonList = jsonValue.GetArray("StringFilters"); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + m_stringFilters.push_back(stringFiltersJsonList[stringFiltersIndex].AsObject()); + } + m_stringFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("DateFilters")) + { + Aws::Utils::Array dateFiltersJsonList = jsonValue.GetArray("DateFilters"); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + m_dateFilters.push_back(dateFiltersJsonList[dateFiltersIndex].AsObject()); + } + m_dateFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("BooleanFilters")) + { + Aws::Utils::Array booleanFiltersJsonList = jsonValue.GetArray("BooleanFilters"); + for(unsigned booleanFiltersIndex = 0; booleanFiltersIndex < booleanFiltersJsonList.GetLength(); ++booleanFiltersIndex) + { + m_booleanFilters.push_back(booleanFiltersJsonList[booleanFiltersIndex].AsObject()); + } + m_booleanFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberFilters")) + { + Aws::Utils::Array numberFiltersJsonList = jsonValue.GetArray("NumberFilters"); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + m_numberFilters.push_back(numberFiltersJsonList[numberFiltersIndex].AsObject()); + } + m_numberFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("MapFilters")) + { + Aws::Utils::Array mapFiltersJsonList = jsonValue.GetArray("MapFilters"); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + m_mapFilters.push_back(mapFiltersJsonList[mapFiltersIndex].AsObject()); + } + m_mapFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("Operator")) + { + m_operator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("Operator")); + m_operatorHasBeenSet = true; + } + return *this; +} + +JsonValue CompositeFilter::Jsonize() const +{ + JsonValue payload; + + if(m_stringFiltersHasBeenSet) + { + Aws::Utils::Array stringFiltersJsonList(m_stringFilters.size()); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + stringFiltersJsonList[stringFiltersIndex].AsObject(m_stringFilters[stringFiltersIndex].Jsonize()); + } + payload.WithArray("StringFilters", std::move(stringFiltersJsonList)); + + } + + if(m_dateFiltersHasBeenSet) + { + Aws::Utils::Array dateFiltersJsonList(m_dateFilters.size()); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + dateFiltersJsonList[dateFiltersIndex].AsObject(m_dateFilters[dateFiltersIndex].Jsonize()); + } + payload.WithArray("DateFilters", std::move(dateFiltersJsonList)); + + } + + if(m_booleanFiltersHasBeenSet) + { + Aws::Utils::Array booleanFiltersJsonList(m_booleanFilters.size()); + for(unsigned booleanFiltersIndex = 0; booleanFiltersIndex < booleanFiltersJsonList.GetLength(); ++booleanFiltersIndex) + { + booleanFiltersJsonList[booleanFiltersIndex].AsObject(m_booleanFilters[booleanFiltersIndex].Jsonize()); + } + payload.WithArray("BooleanFilters", std::move(booleanFiltersJsonList)); + + } + + if(m_numberFiltersHasBeenSet) + { + Aws::Utils::Array numberFiltersJsonList(m_numberFilters.size()); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + numberFiltersJsonList[numberFiltersIndex].AsObject(m_numberFilters[numberFiltersIndex].Jsonize()); + } + payload.WithArray("NumberFilters", std::move(numberFiltersJsonList)); + + } + + if(m_mapFiltersHasBeenSet) + { + Aws::Utils::Array mapFiltersJsonList(m_mapFilters.size()); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + mapFiltersJsonList[mapFiltersIndex].AsObject(m_mapFilters[mapFiltersIndex].Jsonize()); + } + payload.WithArray("MapFilters", std::move(mapFiltersJsonList)); + + } + + if(m_operatorHasBeenSet) + { + payload.WithString("Operator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_operator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConflictException.cpp new file mode 100644 index 00000000000..fbea16e2f8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConflictException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ConflictException::ConflictException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorAuthStatus.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorAuthStatus.cpp new file mode 100644 index 00000000000..39bd13a78f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorAuthStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectorAuthStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + ConnectorAuthStatus GetConnectorAuthStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return ConnectorAuthStatus::ACTIVE; + } + else if (hashCode == FAILED_HASH) + { + return ConnectorAuthStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectorAuthStatus::NOT_SET; + } + + Aws::String GetNameForConnectorAuthStatus(ConnectorAuthStatus enumValue) + { + switch(enumValue) + { + case ConnectorAuthStatus::NOT_SET: + return {}; + case ConnectorAuthStatus::ACTIVE: + return "ACTIVE"; + case ConnectorAuthStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectorAuthStatusMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorProviderName.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorProviderName.cpp new file mode 100644 index 00000000000..49ac717de5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorProviderName.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectorProviderNameMapper + { + + static const int JIRA_CLOUD_HASH = HashingUtils::HashString("JIRA_CLOUD"); + static const int SERVICENOW_HASH = HashingUtils::HashString("SERVICENOW"); + + + ConnectorProviderName GetConnectorProviderNameForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == JIRA_CLOUD_HASH) + { + return ConnectorProviderName::JIRA_CLOUD; + } + else if (hashCode == SERVICENOW_HASH) + { + return ConnectorProviderName::SERVICENOW; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectorProviderName::NOT_SET; + } + + Aws::String GetNameForConnectorProviderName(ConnectorProviderName enumValue) + { + switch(enumValue) + { + case ConnectorProviderName::NOT_SET: + return {}; + case ConnectorProviderName::JIRA_CLOUD: + return "JIRA_CLOUD"; + case ConnectorProviderName::SERVICENOW: + return "SERVICENOW"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectorProviderNameMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Request.cpp new file mode 100644 index 00000000000..1ed7a7c0a83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Request.cpp @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ConnectorRegistrationsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_authCodeHasBeenSet) + { + payload.WithString("AuthCode", m_authCode); + + } + + if(m_authStateHasBeenSet) + { + payload.WithString("AuthState", m_authState); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Result.cpp new file mode 100644 index 00000000000..8fbe9ab1c52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorRegistrationsV2Result.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 + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ConnectorRegistrationsV2Result::ConnectorRegistrationsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ConnectorRegistrationsV2Result& ConnectorRegistrationsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorStatus.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorStatus.cpp new file mode 100644 index 00000000000..e811b7b93c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ConnectorStatusMapper + { + + static const int CONNECTED_HASH = HashingUtils::HashString("CONNECTED"); + static const int FAILED_TO_CONNECT_HASH = HashingUtils::HashString("FAILED_TO_CONNECT"); + static const int PENDING_CONFIGURATION_HASH = HashingUtils::HashString("PENDING_CONFIGURATION"); + static const int PENDING_AUTHORIZATION_HASH = HashingUtils::HashString("PENDING_AUTHORIZATION"); + + + ConnectorStatus GetConnectorStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CONNECTED_HASH) + { + return ConnectorStatus::CONNECTED; + } + else if (hashCode == FAILED_TO_CONNECT_HASH) + { + return ConnectorStatus::FAILED_TO_CONNECT; + } + else if (hashCode == PENDING_CONFIGURATION_HASH) + { + return ConnectorStatus::PENDING_CONFIGURATION; + } + else if (hashCode == PENDING_AUTHORIZATION_HASH) + { + return ConnectorStatus::PENDING_AUTHORIZATION; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ConnectorStatus::NOT_SET; + } + + Aws::String GetNameForConnectorStatus(ConnectorStatus enumValue) + { + switch(enumValue) + { + case ConnectorStatus::NOT_SET: + return {}; + case ConnectorStatus::CONNECTED: + return "CONNECTED"; + case ConnectorStatus::FAILED_TO_CONNECT: + return "FAILED_TO_CONNECT"; + case ConnectorStatus::PENDING_CONFIGURATION: + return "PENDING_CONFIGURATION"; + case ConnectorStatus::PENDING_AUTHORIZATION: + return "PENDING_AUTHORIZATION"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ConnectorStatusMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorSummary.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorSummary.cpp new file mode 100644 index 00000000000..28bb6455dfc --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ConnectorSummary.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ConnectorSummary::ConnectorSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConnectorSummary& ConnectorSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("ProviderSummary")) + { + m_providerSummary = jsonValue.GetObject("ProviderSummary"); + m_providerSummaryHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + return *this; +} + +JsonValue ConnectorSummary::Jsonize() const +{ + JsonValue payload; + + if(m_connectorArnHasBeenSet) + { + payload.WithString("ConnectorArn", m_connectorArn); + + } + + if(m_connectorIdHasBeenSet) + { + payload.WithString("ConnectorId", m_connectorId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_providerSummaryHasBeenSet) + { + payload.WithObject("ProviderSummary", m_providerSummary.Jsonize()); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithString("CreatedAt", m_createdAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Request.cpp new file mode 100644 index 00000000000..e8b31785b6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Request.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateAggregatorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_regionLinkingModeHasBeenSet) + { + payload.WithString("RegionLinkingMode", m_regionLinkingMode); + + } + + if(m_linkedRegionsHasBeenSet) + { + Aws::Utils::Array linkedRegionsJsonList(m_linkedRegions.size()); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + linkedRegionsJsonList[linkedRegionsIndex].AsString(m_linkedRegions[linkedRegionsIndex]); + } + payload.WithArray("LinkedRegions", std::move(linkedRegionsJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Result.cpp new file mode 100644 index 00000000000..dbd3be073e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAggregatorV2Result.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAggregatorV2Result::CreateAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAggregatorV2Result& CreateAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("AggregationRegion")) + { + m_aggregationRegion = jsonValue.GetString("AggregationRegion"); + m_aggregationRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RegionLinkingMode")) + { + m_regionLinkingMode = jsonValue.GetString("RegionLinkingMode"); + m_regionLinkingModeHasBeenSet = true; + } + if(jsonValue.ValueExists("LinkedRegions")) + { + Aws::Utils::Array linkedRegionsJsonList = jsonValue.GetArray("LinkedRegions"); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + m_linkedRegions.push_back(linkedRegionsJsonList[linkedRegionsIndex].AsString()); + } + m_linkedRegionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..167d7f1bc7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Request.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateAutomationRuleV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_ruleNameHasBeenSet) + { + payload.WithString("RuleName", m_ruleName); + + } + + if(m_ruleStatusHasBeenSet) + { + payload.WithString("RuleStatus", RuleStatusV2Mapper::GetNameForRuleStatusV2(m_ruleStatus)); + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_ruleOrderHasBeenSet) + { + payload.WithDouble("RuleOrder", m_ruleOrder); + + } + + if(m_criteriaHasBeenSet) + { + payload.WithObject("Criteria", m_criteria.Jsonize()); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("Actions", std::move(actionsJsonList)); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..86f512f75c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateAutomationRuleV2Result.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 + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateAutomationRuleV2Result::CreateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateAutomationRuleV2Result& CreateAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RuleArn")) + { + m_ruleArn = jsonValue.GetString("RuleArn"); + m_ruleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleId")) + { + m_ruleId = jsonValue.GetString("RuleId"); + m_ruleIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Request.cpp new file mode 100644 index 00000000000..0757d9a9f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Request.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateConnectorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_providerHasBeenSet) + { + payload.WithObject("Provider", m_provider.Jsonize()); + + } + + if(m_kmsKeyArnHasBeenSet) + { + payload.WithString("KmsKeyArn", m_kmsKeyArn); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Result.cpp new file mode 100644 index 00000000000..c46a1373969 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateConnectorV2Result.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateConnectorV2Result::CreateConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateConnectorV2Result& CreateConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthUrl")) + { + m_authUrl = jsonValue.GetString("AuthUrl"); + m_authUrlHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Request.cpp new file mode 100644 index 00000000000..7cac08dd136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Request.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateTicketV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_connectorIdHasBeenSet) + { + payload.WithString("ConnectorId", m_connectorId); + + } + + if(m_findingMetadataUidHasBeenSet) + { + payload.WithString("FindingMetadataUid", m_findingMetadataUid); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Result.cpp new file mode 100644 index 00000000000..a44663593c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/CreateTicketV2Result.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 + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateTicketV2Result::CreateTicketV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateTicketV2Result& CreateTicketV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("TicketId")) + { + m_ticketId = jsonValue.GetString("TicketId"); + m_ticketIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TicketSrcUrl")) + { + m_ticketSrcUrl = jsonValue.GetString("TicketSrcUrl"); + m_ticketSrcUrlHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/Criteria.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/Criteria.cpp new file mode 100644 index 00000000000..4ac0ae2e2ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/Criteria.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +Criteria::Criteria(JsonView jsonValue) +{ + *this = jsonValue; +} + +Criteria& Criteria::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OcsfFindingCriteria")) + { + m_ocsfFindingCriteria = jsonValue.GetObject("OcsfFindingCriteria"); + m_ocsfFindingCriteriaHasBeenSet = true; + } + return *this; +} + +JsonValue Criteria::Jsonize() const +{ + JsonValue payload; + + if(m_ocsfFindingCriteriaHasBeenSet) + { + payload.WithObject("OcsfFindingCriteria", m_ocsfFindingCriteria.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Request.cpp new file mode 100644 index 00000000000..c3e0a5788d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteAggregatorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Result.cpp new file mode 100644 index 00000000000..ea32f15fe0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAggregatorV2Result.cpp @@ -0,0 +1,39 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAggregatorV2Result::DeleteAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAggregatorV2Result& DeleteAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..ed0f2cfc807 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteAutomationRuleV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..10125fe7a18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteAutomationRuleV2Result.cpp @@ -0,0 +1,39 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteAutomationRuleV2Result::DeleteAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteAutomationRuleV2Result& DeleteAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Request.cpp new file mode 100644 index 00000000000..b4b7134b87e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteConnectorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Result.cpp new file mode 100644 index 00000000000..0a040589a3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DeleteConnectorV2Result.cpp @@ -0,0 +1,39 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteConnectorV2Result::DeleteConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteConnectorV2Result& DeleteConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Request.cpp new file mode 100644 index 00000000000..03e5727c330 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Request.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String DescribeProductsV2Request::SerializePayload() const +{ + return {}; +} + +void DescribeProductsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Result.cpp new file mode 100644 index 00000000000..d60803eb10d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeProductsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeProductsV2Result::DescribeProductsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeProductsV2Result& DescribeProductsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ProductsV2")) + { + Aws::Utils::Array productsV2JsonList = jsonValue.GetArray("ProductsV2"); + for(unsigned productsV2Index = 0; productsV2Index < productsV2JsonList.GetLength(); ++productsV2Index) + { + m_productsV2.push_back(productsV2JsonList[productsV2Index].AsObject()); + } + m_productsV2HasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Request.cpp new file mode 100644 index 00000000000..068129c29d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DescribeSecurityHubV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Result.cpp new file mode 100644 index 00000000000..d41114e9f97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DescribeSecurityHubV2Result.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 + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeSecurityHubV2Result::DescribeSecurityHubV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeSecurityHubV2Result& DescribeSecurityHubV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("HubV2Arn")) + { + m_hubV2Arn = jsonValue.GetString("HubV2Arn"); + m_hubV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("SubscribedAt")) + { + m_subscribedAt = jsonValue.GetString("SubscribedAt"); + m_subscribedAtHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp index b72bbb3a013..519b6cf0b9f 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableOrganizationAdminAccountRequest.cpp @@ -22,6 +22,11 @@ Aws::String DisableOrganizationAdminAccountRequest::SerializePayload() const } + if(m_featureHasBeenSet) + { + payload.WithString("Feature", SecurityHubFeatureMapper::GetNameForSecurityHubFeature(m_feature)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Request.cpp new file mode 100644 index 00000000000..4d7559164f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DisableSecurityHubV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Result.cpp new file mode 100644 index 00000000000..0144c4e6d6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/DisableSecurityHubV2Result.cpp @@ -0,0 +1,39 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DisableSecurityHubV2Result::DisableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DisableSecurityHubV2Result& DisableSecurityHubV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp index faec23e7ae1..5d0bed1932b 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountRequest.cpp @@ -22,6 +22,11 @@ Aws::String EnableOrganizationAdminAccountRequest::SerializePayload() const } + if(m_featureHasBeenSet) + { + payload.WithString("Feature", SecurityHubFeatureMapper::GetNameForSecurityHubFeature(m_feature)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp index a829ed2cbbe..ecacd8ee27d 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableOrganizationAdminAccountResult.cpp @@ -24,7 +24,17 @@ EnableOrganizationAdminAccountResult::EnableOrganizationAdminAccountResult(const EnableOrganizationAdminAccountResult& EnableOrganizationAdminAccountResult::operator =(const Aws::AmazonWebServiceResult& result) { - AWS_UNREFERENCED_PARAM(result); + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AdminAccountId")) + { + m_adminAccountId = jsonValue.GetString("AdminAccountId"); + m_adminAccountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Feature")) + { + m_feature = SecurityHubFeatureMapper::GetSecurityHubFeatureForName(jsonValue.GetString("Feature")); + m_featureHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Request.cpp new file mode 100644 index 00000000000..b9bcb42c09f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Request.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String EnableSecurityHubV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("Tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Result.cpp new file mode 100644 index 00000000000..4d2cd8c3305 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/EnableSecurityHubV2Result.cpp @@ -0,0 +1,44 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +EnableSecurityHubV2Result::EnableSecurityHubV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +EnableSecurityHubV2Result& EnableSecurityHubV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("HubV2Arn")) + { + m_hubV2Arn = jsonValue.GetString("HubV2Arn"); + m_hubV2ArnHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ExternalIntegrationConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ExternalIntegrationConfiguration.cpp new file mode 100644 index 00000000000..596f1ab5907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ExternalIntegrationConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ExternalIntegrationConfiguration::ExternalIntegrationConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ExternalIntegrationConfiguration& ExternalIntegrationConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + return *this; +} + +JsonValue ExternalIntegrationConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_connectorArnHasBeenSet) + { + payload.WithString("ConnectorArn", m_connectorArn); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Request.cpp new file mode 100644 index 00000000000..51e0186f5da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetAggregatorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Result.cpp new file mode 100644 index 00000000000..7439714b520 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAggregatorV2Result.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAggregatorV2Result::GetAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAggregatorV2Result& GetAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("AggregationRegion")) + { + m_aggregationRegion = jsonValue.GetString("AggregationRegion"); + m_aggregationRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RegionLinkingMode")) + { + m_regionLinkingMode = jsonValue.GetString("RegionLinkingMode"); + m_regionLinkingModeHasBeenSet = true; + } + if(jsonValue.ValueExists("LinkedRegions")) + { + Aws::Utils::Array linkedRegionsJsonList = jsonValue.GetArray("LinkedRegions"); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + m_linkedRegions.push_back(linkedRegionsJsonList[linkedRegionsIndex].AsString()); + } + m_linkedRegionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..011244d0b4e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetAutomationRuleV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..555d372ba59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetAutomationRuleV2Result.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetAutomationRuleV2Result::GetAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetAutomationRuleV2Result& GetAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("RuleArn")) + { + m_ruleArn = jsonValue.GetString("RuleArn"); + m_ruleArnHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleId")) + { + m_ruleId = jsonValue.GetString("RuleId"); + m_ruleIdHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleOrder")) + { + m_ruleOrder = jsonValue.GetDouble("RuleOrder"); + m_ruleOrderHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleName")) + { + m_ruleName = jsonValue.GetString("RuleName"); + m_ruleNameHasBeenSet = true; + } + if(jsonValue.ValueExists("RuleStatus")) + { + m_ruleStatus = RuleStatusV2Mapper::GetRuleStatusV2ForName(jsonValue.GetString("RuleStatus")); + m_ruleStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Criteria")) + { + m_criteria = jsonValue.GetObject("Criteria"); + m_criteriaHasBeenSet = true; + } + if(jsonValue.ValueExists("Actions")) + { + Aws::Utils::Array actionsJsonList = jsonValue.GetArray("Actions"); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + m_actions.push_back(actionsJsonList[actionsIndex].AsObject()); + } + m_actionsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("UpdatedAt")) + { + m_updatedAt = jsonValue.GetString("UpdatedAt"); + m_updatedAtHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Request.cpp new file mode 100644 index 00000000000..421a8462b05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Request.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetConnectorV2Request::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Result.cpp new file mode 100644 index 00000000000..308f4e95d52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetConnectorV2Result.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetConnectorV2Result::GetConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetConnectorV2Result& GetConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ConnectorArn")) + { + m_connectorArn = jsonValue.GetString("ConnectorArn"); + m_connectorArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorId")) + { + m_connectorId = jsonValue.GetString("ConnectorId"); + m_connectorIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("KmsKeyArn")) + { + m_kmsKeyArn = jsonValue.GetString("KmsKeyArn"); + m_kmsKeyArnHasBeenSet = true; + } + if(jsonValue.ValueExists("CreatedAt")) + { + m_createdAt = jsonValue.GetString("CreatedAt"); + m_createdAtHasBeenSet = true; + } + if(jsonValue.ValueExists("LastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetString("LastUpdatedAt"); + m_lastUpdatedAtHasBeenSet = true; + } + if(jsonValue.ValueExists("Health")) + { + m_health = jsonValue.GetObject("Health"); + m_healthHasBeenSet = true; + } + if(jsonValue.ValueExists("ProviderDetail")) + { + m_providerDetail = jsonValue.GetObject("ProviderDetail"); + m_providerDetailHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Request.cpp new file mode 100644 index 00000000000..040f643c4ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Request.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetFindingStatisticsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_groupByRulesHasBeenSet) + { + Aws::Utils::Array groupByRulesJsonList(m_groupByRules.size()); + for(unsigned groupByRulesIndex = 0; groupByRulesIndex < groupByRulesJsonList.GetLength(); ++groupByRulesIndex) + { + groupByRulesJsonList[groupByRulesIndex].AsObject(m_groupByRules[groupByRulesIndex].Jsonize()); + } + payload.WithArray("GroupByRules", std::move(groupByRulesJsonList)); + + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + if(m_maxStatisticResultsHasBeenSet) + { + payload.WithInteger("MaxStatisticResults", m_maxStatisticResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Result.cpp new file mode 100644 index 00000000000..9afe3433b83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingStatisticsV2Result.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetFindingStatisticsV2Result::GetFindingStatisticsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetFindingStatisticsV2Result& GetFindingStatisticsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("GroupByResults")) + { + Aws::Utils::Array groupByResultsJsonList = jsonValue.GetArray("GroupByResults"); + for(unsigned groupByResultsIndex = 0; groupByResultsIndex < groupByResultsJsonList.GetLength(); ++groupByResultsIndex) + { + m_groupByResults.push_back(groupByResultsJsonList[groupByResultsIndex].AsObject()); + } + m_groupByResultsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Request.cpp new file mode 100644 index 00000000000..876c0403c6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Request.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetFindingsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_sortCriteriaHasBeenSet) + { + Aws::Utils::Array sortCriteriaJsonList(m_sortCriteria.size()); + for(unsigned sortCriteriaIndex = 0; sortCriteriaIndex < sortCriteriaJsonList.GetLength(); ++sortCriteriaIndex) + { + sortCriteriaJsonList[sortCriteriaIndex].AsObject(m_sortCriteria[sortCriteriaIndex].Jsonize()); + } + payload.WithArray("SortCriteria", std::move(sortCriteriaJsonList)); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Result.cpp new file mode 100644 index 00000000000..72ae4bfe01d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetFindingsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetFindingsV2Result::GetFindingsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetFindingsV2Result& GetFindingsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Findings")) + { + Aws::Utils::Array findingsJsonList = jsonValue.GetArray("Findings"); + for(unsigned findingsIndex = 0; findingsIndex < findingsJsonList.GetLength(); ++findingsIndex) + { + m_findings.push_back(findingsJsonList[findingsIndex].AsObject()); + } + m_findingsHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Request.cpp new file mode 100644 index 00000000000..1a281c516c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Request.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetResourcesStatisticsV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_groupByRulesHasBeenSet) + { + Aws::Utils::Array groupByRulesJsonList(m_groupByRules.size()); + for(unsigned groupByRulesIndex = 0; groupByRulesIndex < groupByRulesJsonList.GetLength(); ++groupByRulesIndex) + { + groupByRulesJsonList[groupByRulesIndex].AsObject(m_groupByRules[groupByRulesIndex].Jsonize()); + } + payload.WithArray("GroupByRules", std::move(groupByRulesJsonList)); + + } + + if(m_sortOrderHasBeenSet) + { + payload.WithString("SortOrder", SortOrderMapper::GetNameForSortOrder(m_sortOrder)); + } + + if(m_maxStatisticResultsHasBeenSet) + { + payload.WithInteger("MaxStatisticResults", m_maxStatisticResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Result.cpp new file mode 100644 index 00000000000..fa9d1f4bb7f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesStatisticsV2Result.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourcesStatisticsV2Result::GetResourcesStatisticsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourcesStatisticsV2Result& GetResourcesStatisticsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("GroupByResults")) + { + Aws::Utils::Array groupByResultsJsonList = jsonValue.GetArray("GroupByResults"); + for(unsigned groupByResultsIndex = 0; groupByResultsIndex < groupByResultsJsonList.GetLength(); ++groupByResultsIndex) + { + m_groupByResults.push_back(groupByResultsJsonList[groupByResultsIndex].AsObject()); + } + m_groupByResultsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Request.cpp new file mode 100644 index 00000000000..0ae727d4731 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Request.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetResourcesV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_sortCriteriaHasBeenSet) + { + Aws::Utils::Array sortCriteriaJsonList(m_sortCriteria.size()); + for(unsigned sortCriteriaIndex = 0; sortCriteriaIndex < sortCriteriaJsonList.GetLength(); ++sortCriteriaIndex) + { + sortCriteriaJsonList[sortCriteriaIndex].AsObject(m_sortCriteria[sortCriteriaIndex].Jsonize()); + } + payload.WithArray("SortCriteria", std::move(sortCriteriaJsonList)); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Result.cpp new file mode 100644 index 00000000000..acdc53f6537 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GetResourcesV2Result.cpp @@ -0,0 +1,53 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetResourcesV2Result::GetResourcesV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetResourcesV2Result& GetResourcesV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Resources")) + { + Aws::Utils::Array resourcesJsonList = jsonValue.GetArray("Resources"); + for(unsigned resourcesIndex = 0; resourcesIndex < resourcesJsonList.GetLength(); ++resourcesIndex) + { + m_resources.push_back(resourcesJsonList[resourcesIndex].AsObject()); + } + m_resourcesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByField.cpp new file mode 100644 index 00000000000..ee6e4a406dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByField.cpp @@ -0,0 +1,177 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace GroupByFieldMapper + { + + static const int activity_name_HASH = HashingUtils::HashString("activity_name"); + static const int cloud_account_uid_HASH = HashingUtils::HashString("cloud.account.uid"); + static const int cloud_provider_HASH = HashingUtils::HashString("cloud.provider"); + static const int cloud_region_HASH = HashingUtils::HashString("cloud.region"); + static const int compliance_assessments_name_HASH = HashingUtils::HashString("compliance.assessments.name"); + static const int compliance_status_HASH = HashingUtils::HashString("compliance.status"); + static const int compliance_control_HASH = HashingUtils::HashString("compliance.control"); + static const int finding_info_title_HASH = HashingUtils::HashString("finding_info.title"); + static const int finding_info_types_HASH = HashingUtils::HashString("finding_info.types"); + static const int metadata_product_name_HASH = HashingUtils::HashString("metadata.product.name"); + static const int metadata_product_uid_HASH = HashingUtils::HashString("metadata.product.uid"); + static const int resources_type_HASH = HashingUtils::HashString("resources.type"); + static const int resources_uid_HASH = HashingUtils::HashString("resources.uid"); + static const int severity_HASH = HashingUtils::HashString("severity"); + static const int status_HASH = HashingUtils::HashString("status"); + static const int vulnerabilities_fix_coverage_HASH = HashingUtils::HashString("vulnerabilities.fix_coverage"); + static const int class_name_HASH = HashingUtils::HashString("class_name"); + + + GroupByField GetGroupByFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == activity_name_HASH) + { + return GroupByField::activity_name; + } + else if (hashCode == cloud_account_uid_HASH) + { + return GroupByField::cloud_account_uid; + } + else if (hashCode == cloud_provider_HASH) + { + return GroupByField::cloud_provider; + } + else if (hashCode == cloud_region_HASH) + { + return GroupByField::cloud_region; + } + else if (hashCode == compliance_assessments_name_HASH) + { + return GroupByField::compliance_assessments_name; + } + else if (hashCode == compliance_status_HASH) + { + return GroupByField::compliance_status; + } + else if (hashCode == compliance_control_HASH) + { + return GroupByField::compliance_control; + } + else if (hashCode == finding_info_title_HASH) + { + return GroupByField::finding_info_title; + } + else if (hashCode == finding_info_types_HASH) + { + return GroupByField::finding_info_types; + } + else if (hashCode == metadata_product_name_HASH) + { + return GroupByField::metadata_product_name; + } + else if (hashCode == metadata_product_uid_HASH) + { + return GroupByField::metadata_product_uid; + } + else if (hashCode == resources_type_HASH) + { + return GroupByField::resources_type; + } + else if (hashCode == resources_uid_HASH) + { + return GroupByField::resources_uid; + } + else if (hashCode == severity_HASH) + { + return GroupByField::severity; + } + else if (hashCode == status_HASH) + { + return GroupByField::status; + } + else if (hashCode == vulnerabilities_fix_coverage_HASH) + { + return GroupByField::vulnerabilities_fix_coverage; + } + else if (hashCode == class_name_HASH) + { + return GroupByField::class_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GroupByField::NOT_SET; + } + + Aws::String GetNameForGroupByField(GroupByField enumValue) + { + switch(enumValue) + { + case GroupByField::NOT_SET: + return {}; + case GroupByField::activity_name: + return "activity_name"; + case GroupByField::cloud_account_uid: + return "cloud.account.uid"; + case GroupByField::cloud_provider: + return "cloud.provider"; + case GroupByField::cloud_region: + return "cloud.region"; + case GroupByField::compliance_assessments_name: + return "compliance.assessments.name"; + case GroupByField::compliance_status: + return "compliance.status"; + case GroupByField::compliance_control: + return "compliance.control"; + case GroupByField::finding_info_title: + return "finding_info.title"; + case GroupByField::finding_info_types: + return "finding_info.types"; + case GroupByField::metadata_product_name: + return "metadata.product.name"; + case GroupByField::metadata_product_uid: + return "metadata.product.uid"; + case GroupByField::resources_type: + return "resources.type"; + case GroupByField::resources_uid: + return "resources.uid"; + case GroupByField::severity: + return "severity"; + case GroupByField::status: + return "status"; + case GroupByField::vulnerabilities_fix_coverage: + return "vulnerabilities.fix_coverage"; + case GroupByField::class_name: + return "class_name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GroupByFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByResult.cpp new file mode 100644 index 00000000000..7adf49ad9a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByResult.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +GroupByResult::GroupByResult(JsonView jsonValue) +{ + *this = jsonValue; +} + +GroupByResult& GroupByResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GroupByField")) + { + m_groupByField = jsonValue.GetString("GroupByField"); + m_groupByFieldHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupByValues")) + { + Aws::Utils::Array groupByValuesJsonList = jsonValue.GetArray("GroupByValues"); + for(unsigned groupByValuesIndex = 0; groupByValuesIndex < groupByValuesJsonList.GetLength(); ++groupByValuesIndex) + { + m_groupByValues.push_back(groupByValuesJsonList[groupByValuesIndex].AsObject()); + } + m_groupByValuesHasBeenSet = true; + } + return *this; +} + +JsonValue GroupByResult::Jsonize() const +{ + JsonValue payload; + + if(m_groupByFieldHasBeenSet) + { + payload.WithString("GroupByField", m_groupByField); + + } + + if(m_groupByValuesHasBeenSet) + { + Aws::Utils::Array groupByValuesJsonList(m_groupByValues.size()); + for(unsigned groupByValuesIndex = 0; groupByValuesIndex < groupByValuesJsonList.GetLength(); ++groupByValuesIndex) + { + groupByValuesJsonList[groupByValuesIndex].AsObject(m_groupByValues[groupByValuesIndex].Jsonize()); + } + payload.WithArray("GroupByValues", std::move(groupByValuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByRule.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByRule.cpp new file mode 100644 index 00000000000..047c4ef61d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByRule.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +GroupByRule::GroupByRule(JsonView jsonValue) +{ + *this = jsonValue; +} + +GroupByRule& GroupByRule::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Filters")) + { + m_filters = jsonValue.GetObject("Filters"); + m_filtersHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupByField")) + { + m_groupByField = GroupByFieldMapper::GetGroupByFieldForName(jsonValue.GetString("GroupByField")); + m_groupByFieldHasBeenSet = true; + } + return *this; +} + +JsonValue GroupByRule::Jsonize() const +{ + JsonValue payload; + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + if(m_groupByFieldHasBeenSet) + { + payload.WithString("GroupByField", GroupByFieldMapper::GetNameForGroupByField(m_groupByField)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByValue.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByValue.cpp new file mode 100644 index 00000000000..92aa72bd58a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/GroupByValue.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +GroupByValue::GroupByValue(JsonView jsonValue) +{ + *this = jsonValue; +} + +GroupByValue& GroupByValue::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldValue")) + { + m_fieldValue = jsonValue.GetString("FieldValue"); + m_fieldValueHasBeenSet = true; + } + if(jsonValue.ValueExists("Count")) + { + m_count = jsonValue.GetInteger("Count"); + m_countHasBeenSet = true; + } + return *this; +} + +JsonValue GroupByValue::Jsonize() const +{ + JsonValue payload; + + if(m_fieldValueHasBeenSet) + { + payload.WithString("FieldValue", m_fieldValue); + + } + + if(m_countHasBeenSet) + { + payload.WithInteger("Count", m_count); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/HealthCheck.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/HealthCheck.cpp new file mode 100644 index 00000000000..868fdb21a79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/HealthCheck.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +HealthCheck::HealthCheck(JsonView jsonValue) +{ + *this = jsonValue; +} + +HealthCheck& HealthCheck::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ConnectorStatus")) + { + m_connectorStatus = ConnectorStatusMapper::GetConnectorStatusForName(jsonValue.GetString("ConnectorStatus")); + m_connectorStatusHasBeenSet = true; + } + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("LastCheckedAt")) + { + m_lastCheckedAt = jsonValue.GetString("LastCheckedAt"); + m_lastCheckedAtHasBeenSet = true; + } + return *this; +} + +JsonValue HealthCheck::Jsonize() const +{ + JsonValue payload; + + if(m_connectorStatusHasBeenSet) + { + payload.WithString("ConnectorStatus", ConnectorStatusMapper::GetNameForConnectorStatus(m_connectorStatus)); + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_lastCheckedAtHasBeenSet) + { + payload.WithString("LastCheckedAt", m_lastCheckedAt.ToGmtString(Aws::Utils::DateFormat::ISO_8601)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/IntegrationV2Type.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegrationV2Type.cpp new file mode 100644 index 00000000000..c7d7ca50bd3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/IntegrationV2Type.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace IntegrationV2TypeMapper + { + + static const int SEND_FINDINGS_TO_SECURITY_HUB_HASH = HashingUtils::HashString("SEND_FINDINGS_TO_SECURITY_HUB"); + static const int RECEIVE_FINDINGS_FROM_SECURITY_HUB_HASH = HashingUtils::HashString("RECEIVE_FINDINGS_FROM_SECURITY_HUB"); + static const int UPDATE_FINDINGS_IN_SECURITY_HUB_HASH = HashingUtils::HashString("UPDATE_FINDINGS_IN_SECURITY_HUB"); + + + IntegrationV2Type GetIntegrationV2TypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SEND_FINDINGS_TO_SECURITY_HUB_HASH) + { + return IntegrationV2Type::SEND_FINDINGS_TO_SECURITY_HUB; + } + else if (hashCode == RECEIVE_FINDINGS_FROM_SECURITY_HUB_HASH) + { + return IntegrationV2Type::RECEIVE_FINDINGS_FROM_SECURITY_HUB; + } + else if (hashCode == UPDATE_FINDINGS_IN_SECURITY_HUB_HASH) + { + return IntegrationV2Type::UPDATE_FINDINGS_IN_SECURITY_HUB; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IntegrationV2Type::NOT_SET; + } + + Aws::String GetNameForIntegrationV2Type(IntegrationV2Type enumValue) + { + switch(enumValue) + { + case IntegrationV2Type::NOT_SET: + return {}; + case IntegrationV2Type::SEND_FINDINGS_TO_SECURITY_HUB: + return "SEND_FINDINGS_TO_SECURITY_HUB"; + case IntegrationV2Type::RECEIVE_FINDINGS_FROM_SECURITY_HUB: + return "RECEIVE_FINDINGS_FROM_SECURITY_HUB"; + case IntegrationV2Type::UPDATE_FINDINGS_IN_SECURITY_HUB: + return "UPDATE_FINDINGS_IN_SECURITY_HUB"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IntegrationV2TypeMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..667eeeed67e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/InternalServerException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +InternalServerException::InternalServerException(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudDetail.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudDetail.cpp new file mode 100644 index 00000000000..592b2220516 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudDetail.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +JiraCloudDetail::JiraCloudDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +JiraCloudDetail& JiraCloudDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CloudId")) + { + m_cloudId = jsonValue.GetString("CloudId"); + m_cloudIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ProjectKey")) + { + m_projectKey = jsonValue.GetString("ProjectKey"); + m_projectKeyHasBeenSet = true; + } + if(jsonValue.ValueExists("Domain")) + { + m_domain = jsonValue.GetString("Domain"); + m_domainHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthUrl")) + { + m_authUrl = jsonValue.GetString("AuthUrl"); + m_authUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthStatus")) + { + m_authStatus = ConnectorAuthStatusMapper::GetConnectorAuthStatusForName(jsonValue.GetString("AuthStatus")); + m_authStatusHasBeenSet = true; + } + return *this; +} + +JsonValue JiraCloudDetail::Jsonize() const +{ + JsonValue payload; + + if(m_cloudIdHasBeenSet) + { + payload.WithString("CloudId", m_cloudId); + + } + + if(m_projectKeyHasBeenSet) + { + payload.WithString("ProjectKey", m_projectKey); + + } + + if(m_domainHasBeenSet) + { + payload.WithString("Domain", m_domain); + + } + + if(m_authUrlHasBeenSet) + { + payload.WithString("AuthUrl", m_authUrl); + + } + + if(m_authStatusHasBeenSet) + { + payload.WithString("AuthStatus", ConnectorAuthStatusMapper::GetNameForConnectorAuthStatus(m_authStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudProviderConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudProviderConfiguration.cpp new file mode 100644 index 00000000000..e961951aec4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudProviderConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +JiraCloudProviderConfiguration::JiraCloudProviderConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +JiraCloudProviderConfiguration& JiraCloudProviderConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProjectKey")) + { + m_projectKey = jsonValue.GetString("ProjectKey"); + m_projectKeyHasBeenSet = true; + } + return *this; +} + +JsonValue JiraCloudProviderConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_projectKeyHasBeenSet) + { + payload.WithString("ProjectKey", m_projectKey); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudUpdateConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudUpdateConfiguration.cpp new file mode 100644 index 00000000000..b84395230a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/JiraCloudUpdateConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +JiraCloudUpdateConfiguration::JiraCloudUpdateConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +JiraCloudUpdateConfiguration& JiraCloudUpdateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProjectKey")) + { + m_projectKey = jsonValue.GetString("ProjectKey"); + m_projectKeyHasBeenSet = true; + } + return *this; +} + +JsonValue JiraCloudUpdateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_projectKeyHasBeenSet) + { + payload.WithString("ProjectKey", m_projectKey); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Request.cpp new file mode 100644 index 00000000000..82f6358dbd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Request.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListAggregatorsV2Request::SerializePayload() const +{ + return {}; +} + +void ListAggregatorsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Result.cpp new file mode 100644 index 00000000000..28df93a6cdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAggregatorsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAggregatorsV2Result::ListAggregatorsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAggregatorsV2Result& ListAggregatorsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorsV2")) + { + Aws::Utils::Array aggregatorsV2JsonList = jsonValue.GetArray("AggregatorsV2"); + for(unsigned aggregatorsV2Index = 0; aggregatorsV2Index < aggregatorsV2JsonList.GetLength(); ++aggregatorsV2Index) + { + m_aggregatorsV2.push_back(aggregatorsV2JsonList[aggregatorsV2Index].AsObject()); + } + m_aggregatorsV2HasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Request.cpp new file mode 100644 index 00000000000..53da621e6c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Request.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListAutomationRulesV2Request::SerializePayload() const +{ + return {}; +} + +void ListAutomationRulesV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Result.cpp new file mode 100644 index 00000000000..55bf03f6a5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListAutomationRulesV2Result.cpp @@ -0,0 +1,53 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListAutomationRulesV2Result::ListAutomationRulesV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListAutomationRulesV2Result& ListAutomationRulesV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Rules")) + { + Aws::Utils::Array rulesJsonList = jsonValue.GetArray("Rules"); + for(unsigned rulesIndex = 0; rulesIndex < rulesJsonList.GetLength(); ++rulesIndex) + { + m_rules.push_back(rulesJsonList[rulesIndex].AsObject()); + } + m_rulesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Request.cpp new file mode 100644 index 00000000000..036bcdf69c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Request.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +Aws::String ListConnectorsV2Request::SerializePayload() const +{ + return {}; +} + +void ListConnectorsV2Request::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_providerNameHasBeenSet) + { + ss << ConnectorProviderNameMapper::GetNameForConnectorProviderName(m_providerName); + uri.AddQueryStringParameter("ProviderName", ss.str()); + ss.str(""); + } + + if(m_connectorStatusHasBeenSet) + { + ss << ConnectorStatusMapper::GetNameForConnectorStatus(m_connectorStatus); + uri.AddQueryStringParameter("ConnectorStatus", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Result.cpp new file mode 100644 index 00000000000..e21f13930d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListConnectorsV2Result.cpp @@ -0,0 +1,53 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListConnectorsV2Result::ListConnectorsV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListConnectorsV2Result& ListConnectorsV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + if(jsonValue.ValueExists("Connectors")) + { + Aws::Utils::Array connectorsJsonList = jsonValue.GetArray("Connectors"); + for(unsigned connectorsIndex = 0; connectorsIndex < connectorsJsonList.GetLength(); ++connectorsIndex) + { + m_connectors.push_back(connectorsJsonList[connectorsIndex].AsObject()); + } + m_connectorsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp index b6cf5fae341..8eccea07949 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsRequest.cpp @@ -37,6 +37,13 @@ void ListOrganizationAdminAccountsRequest::AddQueryStringParameters(URI& uri) co ss.str(""); } + if(m_featureHasBeenSet) + { + ss << SecurityHubFeatureMapper::GetNameForSecurityHubFeature(m_feature); + uri.AddQueryStringParameter("Feature", ss.str()); + ss.str(""); + } + } diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp index 255b2f45b14..ca5c1e44aa6 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ListOrganizationAdminAccountsResult.cpp @@ -39,6 +39,11 @@ ListOrganizationAdminAccountsResult& ListOrganizationAdminAccountsResult::operat m_nextToken = jsonValue.GetString("NextToken"); m_nextTokenHasBeenSet = true; } + if(jsonValue.ValueExists("Feature")) + { + m_feature = SecurityHubFeatureMapper::GetSecurityHubFeatureForName(jsonValue.GetString("Feature")); + m_featureHasBeenSet = true; + } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanField.cpp new file mode 100644 index 00000000000..d2f084649be --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanField.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfBooleanFieldMapper + { + + static const int compliance_assessments_meets_criteria_HASH = HashingUtils::HashString("compliance.assessments.meets_criteria"); + static const int vulnerabilities_is_exploit_available_HASH = HashingUtils::HashString("vulnerabilities.is_exploit_available"); + static const int vulnerabilities_is_fix_available_HASH = HashingUtils::HashString("vulnerabilities.is_fix_available"); + + + OcsfBooleanField GetOcsfBooleanFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == compliance_assessments_meets_criteria_HASH) + { + return OcsfBooleanField::compliance_assessments_meets_criteria; + } + else if (hashCode == vulnerabilities_is_exploit_available_HASH) + { + return OcsfBooleanField::vulnerabilities_is_exploit_available; + } + else if (hashCode == vulnerabilities_is_fix_available_HASH) + { + return OcsfBooleanField::vulnerabilities_is_fix_available; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfBooleanField::NOT_SET; + } + + Aws::String GetNameForOcsfBooleanField(OcsfBooleanField enumValue) + { + switch(enumValue) + { + case OcsfBooleanField::NOT_SET: + return {}; + case OcsfBooleanField::compliance_assessments_meets_criteria: + return "compliance.assessments.meets_criteria"; + case OcsfBooleanField::vulnerabilities_is_exploit_available: + return "vulnerabilities.is_exploit_available"; + case OcsfBooleanField::vulnerabilities_is_fix_available: + return "vulnerabilities.is_fix_available"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfBooleanFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanFilter.cpp new file mode 100644 index 00000000000..4f65b893213 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfBooleanFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfBooleanFilter::OcsfBooleanFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfBooleanFilter& OcsfBooleanFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfBooleanFieldMapper::GetOcsfBooleanFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfBooleanFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfBooleanFieldMapper::GetNameForOcsfBooleanField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateField.cpp new file mode 100644 index 00000000000..c4c6843d7ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateField.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfDateFieldMapper + { + + static const int finding_info_created_time_dt_HASH = HashingUtils::HashString("finding_info.created_time_dt"); + static const int finding_info_first_seen_time_dt_HASH = HashingUtils::HashString("finding_info.first_seen_time_dt"); + static const int finding_info_last_seen_time_dt_HASH = HashingUtils::HashString("finding_info.last_seen_time_dt"); + static const int finding_info_modified_time_dt_HASH = HashingUtils::HashString("finding_info.modified_time_dt"); + + + OcsfDateField GetOcsfDateFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == finding_info_created_time_dt_HASH) + { + return OcsfDateField::finding_info_created_time_dt; + } + else if (hashCode == finding_info_first_seen_time_dt_HASH) + { + return OcsfDateField::finding_info_first_seen_time_dt; + } + else if (hashCode == finding_info_last_seen_time_dt_HASH) + { + return OcsfDateField::finding_info_last_seen_time_dt; + } + else if (hashCode == finding_info_modified_time_dt_HASH) + { + return OcsfDateField::finding_info_modified_time_dt; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfDateField::NOT_SET; + } + + Aws::String GetNameForOcsfDateField(OcsfDateField enumValue) + { + switch(enumValue) + { + case OcsfDateField::NOT_SET: + return {}; + case OcsfDateField::finding_info_created_time_dt: + return "finding_info.created_time_dt"; + case OcsfDateField::finding_info_first_seen_time_dt: + return "finding_info.first_seen_time_dt"; + case OcsfDateField::finding_info_last_seen_time_dt: + return "finding_info.last_seen_time_dt"; + case OcsfDateField::finding_info_modified_time_dt: + return "finding_info.modified_time_dt"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfDateFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateFilter.cpp new file mode 100644 index 00000000000..1a605f471d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfDateFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfDateFilter::OcsfDateFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfDateFilter& OcsfDateFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfDateFieldMapper::GetOcsfDateFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfDateFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfDateFieldMapper::GetNameForOcsfDateField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingFilters.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingFilters.cpp new file mode 100644 index 00000000000..a9ebe4ab777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingFilters.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfFindingFilters::OcsfFindingFilters(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfFindingFilters& OcsfFindingFilters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CompositeFilters")) + { + Aws::Utils::Array compositeFiltersJsonList = jsonValue.GetArray("CompositeFilters"); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + m_compositeFilters.push_back(compositeFiltersJsonList[compositeFiltersIndex].AsObject()); + } + m_compositeFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("CompositeOperator")) + { + m_compositeOperator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("CompositeOperator")); + m_compositeOperatorHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfFindingFilters::Jsonize() const +{ + JsonValue payload; + + if(m_compositeFiltersHasBeenSet) + { + Aws::Utils::Array compositeFiltersJsonList(m_compositeFilters.size()); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + compositeFiltersJsonList[compositeFiltersIndex].AsObject(m_compositeFilters[compositeFiltersIndex].Jsonize()); + } + payload.WithArray("CompositeFilters", std::move(compositeFiltersJsonList)); + + } + + if(m_compositeOperatorHasBeenSet) + { + payload.WithString("CompositeOperator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_compositeOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingIdentifier.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingIdentifier.cpp new file mode 100644 index 00000000000..72a41e56c19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfFindingIdentifier.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfFindingIdentifier::OcsfFindingIdentifier(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfFindingIdentifier& OcsfFindingIdentifier::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CloudAccountUid")) + { + m_cloudAccountUid = jsonValue.GetString("CloudAccountUid"); + m_cloudAccountUidHasBeenSet = true; + } + if(jsonValue.ValueExists("FindingInfoUid")) + { + m_findingInfoUid = jsonValue.GetString("FindingInfoUid"); + m_findingInfoUidHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataProductUid")) + { + m_metadataProductUid = jsonValue.GetString("MetadataProductUid"); + m_metadataProductUidHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfFindingIdentifier::Jsonize() const +{ + JsonValue payload; + + if(m_cloudAccountUidHasBeenSet) + { + payload.WithString("CloudAccountUid", m_cloudAccountUid); + + } + + if(m_findingInfoUidHasBeenSet) + { + payload.WithString("FindingInfoUid", m_findingInfoUid); + + } + + if(m_metadataProductUidHasBeenSet) + { + payload.WithString("MetadataProductUid", m_metadataProductUid); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapField.cpp new file mode 100644 index 00000000000..bd4ab23f790 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapField.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfMapFieldMapper + { + + static const int resources_tags_HASH = HashingUtils::HashString("resources.tags"); + + + OcsfMapField GetOcsfMapFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == resources_tags_HASH) + { + return OcsfMapField::resources_tags; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfMapField::NOT_SET; + } + + Aws::String GetNameForOcsfMapField(OcsfMapField enumValue) + { + switch(enumValue) + { + case OcsfMapField::NOT_SET: + return {}; + case OcsfMapField::resources_tags: + return "resources.tags"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfMapFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapFilter.cpp new file mode 100644 index 00000000000..7da1d708ff1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfMapFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfMapFilter::OcsfMapFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfMapFilter& OcsfMapFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfMapFieldMapper::GetOcsfMapFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfMapFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfMapFieldMapper::GetNameForOcsfMapField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberField.cpp new file mode 100644 index 00000000000..845686e42e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberField.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfNumberFieldMapper + { + + static const int activity_id_HASH = HashingUtils::HashString("activity_id"); + static const int compliance_status_id_HASH = HashingUtils::HashString("compliance.status_id"); + static const int confidence_score_HASH = HashingUtils::HashString("confidence_score"); + static const int severity_id_HASH = HashingUtils::HashString("severity_id"); + static const int status_id_HASH = HashingUtils::HashString("status_id"); + static const int finding_info_related_events_count_HASH = HashingUtils::HashString("finding_info.related_events_count"); + + + OcsfNumberField GetOcsfNumberFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == activity_id_HASH) + { + return OcsfNumberField::activity_id; + } + else if (hashCode == compliance_status_id_HASH) + { + return OcsfNumberField::compliance_status_id; + } + else if (hashCode == confidence_score_HASH) + { + return OcsfNumberField::confidence_score; + } + else if (hashCode == severity_id_HASH) + { + return OcsfNumberField::severity_id; + } + else if (hashCode == status_id_HASH) + { + return OcsfNumberField::status_id; + } + else if (hashCode == finding_info_related_events_count_HASH) + { + return OcsfNumberField::finding_info_related_events_count; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfNumberField::NOT_SET; + } + + Aws::String GetNameForOcsfNumberField(OcsfNumberField enumValue) + { + switch(enumValue) + { + case OcsfNumberField::NOT_SET: + return {}; + case OcsfNumberField::activity_id: + return "activity_id"; + case OcsfNumberField::compliance_status_id: + return "compliance.status_id"; + case OcsfNumberField::confidence_score: + return "confidence_score"; + case OcsfNumberField::severity_id: + return "severity_id"; + case OcsfNumberField::status_id: + return "status_id"; + case OcsfNumberField::finding_info_related_events_count: + return "finding_info.related_events_count"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfNumberFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberFilter.cpp new file mode 100644 index 00000000000..9cfb4f5f0b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfNumberFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfNumberFilter::OcsfNumberFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfNumberFilter& OcsfNumberFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfNumberFieldMapper::GetOcsfNumberFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfNumberFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfNumberFieldMapper::GetNameForOcsfNumberField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringField.cpp new file mode 100644 index 00000000000..7a3b023865d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringField.cpp @@ -0,0 +1,282 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace OcsfStringFieldMapper + { + + static const int metadata_uid_HASH = HashingUtils::HashString("metadata.uid"); + static const int activity_name_HASH = HashingUtils::HashString("activity_name"); + static const int cloud_account_uid_HASH = HashingUtils::HashString("cloud.account.uid"); + static const int cloud_provider_HASH = HashingUtils::HashString("cloud.provider"); + static const int cloud_region_HASH = HashingUtils::HashString("cloud.region"); + static const int compliance_assessments_category_HASH = HashingUtils::HashString("compliance.assessments.category"); + static const int compliance_assessments_name_HASH = HashingUtils::HashString("compliance.assessments.name"); + static const int compliance_control_HASH = HashingUtils::HashString("compliance.control"); + static const int compliance_status_HASH = HashingUtils::HashString("compliance.status"); + static const int compliance_standards_HASH = HashingUtils::HashString("compliance.standards"); + static const int finding_info_desc_HASH = HashingUtils::HashString("finding_info.desc"); + static const int finding_info_src_url_HASH = HashingUtils::HashString("finding_info.src_url"); + static const int finding_info_title_HASH = HashingUtils::HashString("finding_info.title"); + static const int finding_info_types_HASH = HashingUtils::HashString("finding_info.types"); + static const int finding_info_uid_HASH = HashingUtils::HashString("finding_info.uid"); + static const int finding_info_related_events_uid_HASH = HashingUtils::HashString("finding_info.related_events.uid"); + static const int finding_info_related_events_product_uid_HASH = HashingUtils::HashString("finding_info.related_events.product.uid"); + static const int finding_info_related_events_title_HASH = HashingUtils::HashString("finding_info.related_events.title"); + static const int metadata_product_name_HASH = HashingUtils::HashString("metadata.product.name"); + static const int metadata_product_uid_HASH = HashingUtils::HashString("metadata.product.uid"); + static const int metadata_product_vendor_name_HASH = HashingUtils::HashString("metadata.product.vendor_name"); + static const int remediation_desc_HASH = HashingUtils::HashString("remediation.desc"); + static const int remediation_references_HASH = HashingUtils::HashString("remediation.references"); + static const int resources_cloud_partition_HASH = HashingUtils::HashString("resources.cloud_partition"); + static const int resources_region_HASH = HashingUtils::HashString("resources.region"); + static const int resources_type_HASH = HashingUtils::HashString("resources.type"); + static const int resources_uid_HASH = HashingUtils::HashString("resources.uid"); + static const int severity_HASH = HashingUtils::HashString("severity"); + static const int status_HASH = HashingUtils::HashString("status"); + static const int comment_HASH = HashingUtils::HashString("comment"); + static const int vulnerabilities_fix_coverage_HASH = HashingUtils::HashString("vulnerabilities.fix_coverage"); + static const int class_name_HASH = HashingUtils::HashString("class_name"); + + + OcsfStringField GetOcsfStringFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == metadata_uid_HASH) + { + return OcsfStringField::metadata_uid; + } + else if (hashCode == activity_name_HASH) + { + return OcsfStringField::activity_name; + } + else if (hashCode == cloud_account_uid_HASH) + { + return OcsfStringField::cloud_account_uid; + } + else if (hashCode == cloud_provider_HASH) + { + return OcsfStringField::cloud_provider; + } + else if (hashCode == cloud_region_HASH) + { + return OcsfStringField::cloud_region; + } + else if (hashCode == compliance_assessments_category_HASH) + { + return OcsfStringField::compliance_assessments_category; + } + else if (hashCode == compliance_assessments_name_HASH) + { + return OcsfStringField::compliance_assessments_name; + } + else if (hashCode == compliance_control_HASH) + { + return OcsfStringField::compliance_control; + } + else if (hashCode == compliance_status_HASH) + { + return OcsfStringField::compliance_status; + } + else if (hashCode == compliance_standards_HASH) + { + return OcsfStringField::compliance_standards; + } + else if (hashCode == finding_info_desc_HASH) + { + return OcsfStringField::finding_info_desc; + } + else if (hashCode == finding_info_src_url_HASH) + { + return OcsfStringField::finding_info_src_url; + } + else if (hashCode == finding_info_title_HASH) + { + return OcsfStringField::finding_info_title; + } + else if (hashCode == finding_info_types_HASH) + { + return OcsfStringField::finding_info_types; + } + else if (hashCode == finding_info_uid_HASH) + { + return OcsfStringField::finding_info_uid; + } + else if (hashCode == finding_info_related_events_uid_HASH) + { + return OcsfStringField::finding_info_related_events_uid; + } + else if (hashCode == finding_info_related_events_product_uid_HASH) + { + return OcsfStringField::finding_info_related_events_product_uid; + } + else if (hashCode == finding_info_related_events_title_HASH) + { + return OcsfStringField::finding_info_related_events_title; + } + else if (hashCode == metadata_product_name_HASH) + { + return OcsfStringField::metadata_product_name; + } + else if (hashCode == metadata_product_uid_HASH) + { + return OcsfStringField::metadata_product_uid; + } + else if (hashCode == metadata_product_vendor_name_HASH) + { + return OcsfStringField::metadata_product_vendor_name; + } + else if (hashCode == remediation_desc_HASH) + { + return OcsfStringField::remediation_desc; + } + else if (hashCode == remediation_references_HASH) + { + return OcsfStringField::remediation_references; + } + else if (hashCode == resources_cloud_partition_HASH) + { + return OcsfStringField::resources_cloud_partition; + } + else if (hashCode == resources_region_HASH) + { + return OcsfStringField::resources_region; + } + else if (hashCode == resources_type_HASH) + { + return OcsfStringField::resources_type; + } + else if (hashCode == resources_uid_HASH) + { + return OcsfStringField::resources_uid; + } + else if (hashCode == severity_HASH) + { + return OcsfStringField::severity; + } + else if (hashCode == status_HASH) + { + return OcsfStringField::status; + } + else if (hashCode == comment_HASH) + { + return OcsfStringField::comment; + } + else if (hashCode == vulnerabilities_fix_coverage_HASH) + { + return OcsfStringField::vulnerabilities_fix_coverage; + } + else if (hashCode == class_name_HASH) + { + return OcsfStringField::class_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return OcsfStringField::NOT_SET; + } + + Aws::String GetNameForOcsfStringField(OcsfStringField enumValue) + { + switch(enumValue) + { + case OcsfStringField::NOT_SET: + return {}; + case OcsfStringField::metadata_uid: + return "metadata.uid"; + case OcsfStringField::activity_name: + return "activity_name"; + case OcsfStringField::cloud_account_uid: + return "cloud.account.uid"; + case OcsfStringField::cloud_provider: + return "cloud.provider"; + case OcsfStringField::cloud_region: + return "cloud.region"; + case OcsfStringField::compliance_assessments_category: + return "compliance.assessments.category"; + case OcsfStringField::compliance_assessments_name: + return "compliance.assessments.name"; + case OcsfStringField::compliance_control: + return "compliance.control"; + case OcsfStringField::compliance_status: + return "compliance.status"; + case OcsfStringField::compliance_standards: + return "compliance.standards"; + case OcsfStringField::finding_info_desc: + return "finding_info.desc"; + case OcsfStringField::finding_info_src_url: + return "finding_info.src_url"; + case OcsfStringField::finding_info_title: + return "finding_info.title"; + case OcsfStringField::finding_info_types: + return "finding_info.types"; + case OcsfStringField::finding_info_uid: + return "finding_info.uid"; + case OcsfStringField::finding_info_related_events_uid: + return "finding_info.related_events.uid"; + case OcsfStringField::finding_info_related_events_product_uid: + return "finding_info.related_events.product.uid"; + case OcsfStringField::finding_info_related_events_title: + return "finding_info.related_events.title"; + case OcsfStringField::metadata_product_name: + return "metadata.product.name"; + case OcsfStringField::metadata_product_uid: + return "metadata.product.uid"; + case OcsfStringField::metadata_product_vendor_name: + return "metadata.product.vendor_name"; + case OcsfStringField::remediation_desc: + return "remediation.desc"; + case OcsfStringField::remediation_references: + return "remediation.references"; + case OcsfStringField::resources_cloud_partition: + return "resources.cloud_partition"; + case OcsfStringField::resources_region: + return "resources.region"; + case OcsfStringField::resources_type: + return "resources.type"; + case OcsfStringField::resources_uid: + return "resources.uid"; + case OcsfStringField::severity: + return "severity"; + case OcsfStringField::status: + return "status"; + case OcsfStringField::comment: + return "comment"; + case OcsfStringField::vulnerabilities_fix_coverage: + return "vulnerabilities.fix_coverage"; + case OcsfStringField::class_name: + return "class_name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace OcsfStringFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringFilter.cpp new file mode 100644 index 00000000000..fd9b8b941ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/OcsfStringFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +OcsfStringFilter::OcsfStringFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +OcsfStringFilter& OcsfStringFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = OcsfStringFieldMapper::GetOcsfStringFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue OcsfStringFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", OcsfStringFieldMapper::GetNameForOcsfStringField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProductV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProductV2.cpp new file mode 100644 index 00000000000..4126ad70843 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProductV2.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProductV2::ProductV2(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProductV2& ProductV2::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProductV2Name")) + { + m_productV2Name = jsonValue.GetString("ProductV2Name"); + m_productV2NameHasBeenSet = true; + } + if(jsonValue.ValueExists("CompanyName")) + { + m_companyName = jsonValue.GetString("CompanyName"); + m_companyNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsString()); + } + m_categoriesHasBeenSet = true; + } + if(jsonValue.ValueExists("IntegrationV2Types")) + { + Aws::Utils::Array integrationV2TypesJsonList = jsonValue.GetArray("IntegrationV2Types"); + for(unsigned integrationV2TypesIndex = 0; integrationV2TypesIndex < integrationV2TypesJsonList.GetLength(); ++integrationV2TypesIndex) + { + m_integrationV2Types.push_back(IntegrationV2TypeMapper::GetIntegrationV2TypeForName(integrationV2TypesJsonList[integrationV2TypesIndex].AsString())); + } + m_integrationV2TypesHasBeenSet = true; + } + if(jsonValue.ValueExists("MarketplaceUrl")) + { + m_marketplaceUrl = jsonValue.GetString("MarketplaceUrl"); + m_marketplaceUrlHasBeenSet = true; + } + if(jsonValue.ValueExists("ActivationUrl")) + { + m_activationUrl = jsonValue.GetString("ActivationUrl"); + m_activationUrlHasBeenSet = true; + } + return *this; +} + +JsonValue ProductV2::Jsonize() const +{ + JsonValue payload; + + if(m_productV2NameHasBeenSet) + { + payload.WithString("ProductV2Name", m_productV2Name); + + } + + if(m_companyNameHasBeenSet) + { + payload.WithString("CompanyName", m_companyName); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsString(m_categories[categoriesIndex]); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_integrationV2TypesHasBeenSet) + { + Aws::Utils::Array integrationV2TypesJsonList(m_integrationV2Types.size()); + for(unsigned integrationV2TypesIndex = 0; integrationV2TypesIndex < integrationV2TypesJsonList.GetLength(); ++integrationV2TypesIndex) + { + integrationV2TypesJsonList[integrationV2TypesIndex].AsString(IntegrationV2TypeMapper::GetNameForIntegrationV2Type(m_integrationV2Types[integrationV2TypesIndex])); + } + payload.WithArray("IntegrationV2Types", std::move(integrationV2TypesJsonList)); + + } + + if(m_marketplaceUrlHasBeenSet) + { + payload.WithString("MarketplaceUrl", m_marketplaceUrl); + + } + + if(m_activationUrlHasBeenSet) + { + payload.WithString("ActivationUrl", m_activationUrl); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderConfiguration.cpp new file mode 100644 index 00000000000..2044c08976a --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderConfiguration.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderConfiguration::ProviderConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderConfiguration& ProviderConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("JiraCloud")) + { + m_jiraCloud = jsonValue.GetObject("JiraCloud"); + m_jiraCloudHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceNow")) + { + m_serviceNow = jsonValue.GetObject("ServiceNow"); + m_serviceNowHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_jiraCloudHasBeenSet) + { + payload.WithObject("JiraCloud", m_jiraCloud.Jsonize()); + + } + + if(m_serviceNowHasBeenSet) + { + payload.WithObject("ServiceNow", m_serviceNow.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderDetail.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderDetail.cpp new file mode 100644 index 00000000000..2a88d3005a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderDetail.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderDetail::ProviderDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderDetail& ProviderDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("JiraCloud")) + { + m_jiraCloud = jsonValue.GetObject("JiraCloud"); + m_jiraCloudHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceNow")) + { + m_serviceNow = jsonValue.GetObject("ServiceNow"); + m_serviceNowHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderDetail::Jsonize() const +{ + JsonValue payload; + + if(m_jiraCloudHasBeenSet) + { + payload.WithObject("JiraCloud", m_jiraCloud.Jsonize()); + + } + + if(m_serviceNowHasBeenSet) + { + payload.WithObject("ServiceNow", m_serviceNow.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderSummary.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderSummary.cpp new file mode 100644 index 00000000000..6f1ea420c2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderSummary.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderSummary::ProviderSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderSummary& ProviderSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProviderName")) + { + m_providerName = ConnectorProviderNameMapper::GetConnectorProviderNameForName(jsonValue.GetString("ProviderName")); + m_providerNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectorStatus")) + { + m_connectorStatus = ConnectorStatusMapper::GetConnectorStatusForName(jsonValue.GetString("ConnectorStatus")); + m_connectorStatusHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderSummary::Jsonize() const +{ + JsonValue payload; + + if(m_providerNameHasBeenSet) + { + payload.WithString("ProviderName", ConnectorProviderNameMapper::GetNameForConnectorProviderName(m_providerName)); + } + + if(m_connectorStatusHasBeenSet) + { + payload.WithString("ConnectorStatus", ConnectorStatusMapper::GetNameForConnectorStatus(m_connectorStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderUpdateConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderUpdateConfiguration.cpp new file mode 100644 index 00000000000..ba36c61f619 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ProviderUpdateConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ProviderUpdateConfiguration::ProviderUpdateConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ProviderUpdateConfiguration& ProviderUpdateConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("JiraCloud")) + { + m_jiraCloud = jsonValue.GetObject("JiraCloud"); + m_jiraCloudHasBeenSet = true; + } + return *this; +} + +JsonValue ProviderUpdateConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_jiraCloudHasBeenSet) + { + payload.WithObject("JiraCloud", m_jiraCloud.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceCategory.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceCategory.cpp new file mode 100644 index 00000000000..43258e24678 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceCategory.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourceCategoryMapper + { + + static const int Compute_HASH = HashingUtils::HashString("Compute"); + static const int Database_HASH = HashingUtils::HashString("Database"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + static const int Code_HASH = HashingUtils::HashString("Code"); + static const int AI_ML_HASH = HashingUtils::HashString("AI/ML"); + static const int Identity_HASH = HashingUtils::HashString("Identity"); + static const int Network_HASH = HashingUtils::HashString("Network"); + static const int Other_HASH = HashingUtils::HashString("Other"); + + + ResourceCategory GetResourceCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Compute_HASH) + { + return ResourceCategory::Compute; + } + else if (hashCode == Database_HASH) + { + return ResourceCategory::Database; + } + else if (hashCode == Storage_HASH) + { + return ResourceCategory::Storage; + } + else if (hashCode == Code_HASH) + { + return ResourceCategory::Code; + } + else if (hashCode == AI_ML_HASH) + { + return ResourceCategory::AI_ML; + } + else if (hashCode == Identity_HASH) + { + return ResourceCategory::Identity; + } + else if (hashCode == Network_HASH) + { + return ResourceCategory::Network; + } + else if (hashCode == Other_HASH) + { + return ResourceCategory::Other; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceCategory::NOT_SET; + } + + Aws::String GetNameForResourceCategory(ResourceCategory enumValue) + { + switch(enumValue) + { + case ResourceCategory::NOT_SET: + return {}; + case ResourceCategory::Compute: + return "Compute"; + case ResourceCategory::Database: + return "Database"; + case ResourceCategory::Storage: + return "Storage"; + case ResourceCategory::Code: + return "Code"; + case ResourceCategory::AI_ML: + return "AI/ML"; + case ResourceCategory::Identity: + return "Identity"; + case ResourceCategory::Network: + return "Network"; + case ResourceCategory::Other: + return "Other"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceCategoryMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceFindingsSummary.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceFindingsSummary.cpp new file mode 100644 index 00000000000..3e3cf3ec48f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceFindingsSummary.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceFindingsSummary::ResourceFindingsSummary(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceFindingsSummary& ResourceFindingsSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FindingType")) + { + m_findingType = jsonValue.GetString("FindingType"); + m_findingTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ProductName")) + { + m_productName = jsonValue.GetString("ProductName"); + m_productNameHasBeenSet = true; + } + if(jsonValue.ValueExists("TotalFindings")) + { + m_totalFindings = jsonValue.GetInteger("TotalFindings"); + m_totalFindingsHasBeenSet = true; + } + if(jsonValue.ValueExists("Severities")) + { + m_severities = jsonValue.GetObject("Severities"); + m_severitiesHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceFindingsSummary::Jsonize() const +{ + JsonValue payload; + + if(m_findingTypeHasBeenSet) + { + payload.WithString("FindingType", m_findingType); + + } + + if(m_productNameHasBeenSet) + { + payload.WithString("ProductName", m_productName); + + } + + if(m_totalFindingsHasBeenSet) + { + payload.WithInteger("TotalFindings", m_totalFindings); + + } + + if(m_severitiesHasBeenSet) + { + payload.WithObject("Severities", m_severities.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByField.cpp new file mode 100644 index 00000000000..cafb2ccedd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByField.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourceGroupByFieldMapper + { + + static const int account_id_HASH = HashingUtils::HashString("account_id"); + static const int region_HASH = HashingUtils::HashString("region"); + static const int resource_category_HASH = HashingUtils::HashString("resource_category"); + static const int resource_type_HASH = HashingUtils::HashString("resource_type"); + static const int resource_name_HASH = HashingUtils::HashString("resource_name"); + static const int findings_summary_finding_type_HASH = HashingUtils::HashString("findings_summary.finding_type"); + + + ResourceGroupByField GetResourceGroupByFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == account_id_HASH) + { + return ResourceGroupByField::account_id; + } + else if (hashCode == region_HASH) + { + return ResourceGroupByField::region; + } + else if (hashCode == resource_category_HASH) + { + return ResourceGroupByField::resource_category; + } + else if (hashCode == resource_type_HASH) + { + return ResourceGroupByField::resource_type; + } + else if (hashCode == resource_name_HASH) + { + return ResourceGroupByField::resource_name; + } + else if (hashCode == findings_summary_finding_type_HASH) + { + return ResourceGroupByField::findings_summary_finding_type; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceGroupByField::NOT_SET; + } + + Aws::String GetNameForResourceGroupByField(ResourceGroupByField enumValue) + { + switch(enumValue) + { + case ResourceGroupByField::NOT_SET: + return {}; + case ResourceGroupByField::account_id: + return "account_id"; + case ResourceGroupByField::region: + return "region"; + case ResourceGroupByField::resource_category: + return "resource_category"; + case ResourceGroupByField::resource_type: + return "resource_type"; + case ResourceGroupByField::resource_name: + return "resource_name"; + case ResourceGroupByField::findings_summary_finding_type: + return "findings_summary.finding_type"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceGroupByFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByRule.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByRule.cpp new file mode 100644 index 00000000000..a77e5bc598f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceGroupByRule.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceGroupByRule::ResourceGroupByRule(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceGroupByRule& ResourceGroupByRule::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GroupByField")) + { + m_groupByField = ResourceGroupByFieldMapper::GetResourceGroupByFieldForName(jsonValue.GetString("GroupByField")); + m_groupByFieldHasBeenSet = true; + } + if(jsonValue.ValueExists("Filters")) + { + m_filters = jsonValue.GetObject("Filters"); + m_filtersHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceGroupByRule::Jsonize() const +{ + JsonValue payload; + + if(m_groupByFieldHasBeenSet) + { + payload.WithString("GroupByField", ResourceGroupByFieldMapper::GetNameForResourceGroupByField(m_groupByField)); + } + + if(m_filtersHasBeenSet) + { + payload.WithObject("Filters", m_filters.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceResult.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceResult.cpp new file mode 100644 index 00000000000..9c460d202e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceResult.cpp @@ -0,0 +1,191 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceResult::ResourceResult(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceResult& ResourceResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceArn")) + { + m_resourceArn = jsonValue.GetString("ResourceArn"); + m_resourceArnHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AccountId")) + { + m_accountId = jsonValue.GetString("AccountId"); + m_accountIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + m_regionHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceCategory")) + { + m_resourceCategory = ResourceCategoryMapper::GetResourceCategoryForName(jsonValue.GetString("ResourceCategory")); + m_resourceCategoryHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceName")) + { + m_resourceName = jsonValue.GetString("ResourceName"); + m_resourceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceCreationTimeDt")) + { + m_resourceCreationTimeDt = jsonValue.GetString("ResourceCreationTimeDt"); + m_resourceCreationTimeDtHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceDetailCaptureTimeDt")) + { + m_resourceDetailCaptureTimeDt = jsonValue.GetString("ResourceDetailCaptureTimeDt"); + m_resourceDetailCaptureTimeDtHasBeenSet = true; + } + if(jsonValue.ValueExists("FindingsSummary")) + { + Aws::Utils::Array findingsSummaryJsonList = jsonValue.GetArray("FindingsSummary"); + for(unsigned findingsSummaryIndex = 0; findingsSummaryIndex < findingsSummaryJsonList.GetLength(); ++findingsSummaryIndex) + { + m_findingsSummary.push_back(findingsSummaryJsonList[findingsSummaryIndex].AsObject()); + } + m_findingsSummaryHasBeenSet = 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("ResourceConfig")) + { + m_resourceConfig = jsonValue.GetObject("ResourceConfig"); + m_resourceConfigHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceResult::Jsonize() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_accountIdHasBeenSet) + { + payload.WithString("AccountId", m_accountId); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + if(m_resourceCategoryHasBeenSet) + { + payload.WithString("ResourceCategory", ResourceCategoryMapper::GetNameForResourceCategory(m_resourceCategory)); + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + if(m_resourceNameHasBeenSet) + { + payload.WithString("ResourceName", m_resourceName); + + } + + if(m_resourceCreationTimeDtHasBeenSet) + { + payload.WithString("ResourceCreationTimeDt", m_resourceCreationTimeDt); + + } + + if(m_resourceDetailCaptureTimeDtHasBeenSet) + { + payload.WithString("ResourceDetailCaptureTimeDt", m_resourceDetailCaptureTimeDt); + + } + + if(m_findingsSummaryHasBeenSet) + { + Aws::Utils::Array findingsSummaryJsonList(m_findingsSummary.size()); + for(unsigned findingsSummaryIndex = 0; findingsSummaryIndex < findingsSummaryJsonList.GetLength(); ++findingsSummaryIndex) + { + findingsSummaryJsonList[findingsSummaryIndex].AsObject(m_findingsSummary[findingsSummaryIndex].Jsonize()); + } + payload.WithArray("FindingsSummary", std::move(findingsSummaryJsonList)); + + } + + 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_resourceConfigHasBeenSet) + { + if(!m_resourceConfig.View().IsNull()) + { + payload.WithObject("ResourceConfig", JsonValue(m_resourceConfig.View())); + } + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceSeverityBreakdown.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceSeverityBreakdown.cpp new file mode 100644 index 00000000000..9d7134ff33e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceSeverityBreakdown.cpp @@ -0,0 +1,128 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceSeverityBreakdown::ResourceSeverityBreakdown(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceSeverityBreakdown& ResourceSeverityBreakdown::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Other")) + { + m_other = jsonValue.GetInteger("Other"); + m_otherHasBeenSet = true; + } + if(jsonValue.ValueExists("Fatal")) + { + m_fatal = jsonValue.GetInteger("Fatal"); + m_fatalHasBeenSet = true; + } + if(jsonValue.ValueExists("Critical")) + { + m_critical = jsonValue.GetInteger("Critical"); + m_criticalHasBeenSet = true; + } + if(jsonValue.ValueExists("High")) + { + m_high = jsonValue.GetInteger("High"); + m_highHasBeenSet = true; + } + if(jsonValue.ValueExists("Medium")) + { + m_medium = jsonValue.GetInteger("Medium"); + m_mediumHasBeenSet = true; + } + if(jsonValue.ValueExists("Low")) + { + m_low = jsonValue.GetInteger("Low"); + m_lowHasBeenSet = true; + } + if(jsonValue.ValueExists("Informational")) + { + m_informational = jsonValue.GetInteger("Informational"); + m_informationalHasBeenSet = true; + } + if(jsonValue.ValueExists("Unknown")) + { + m_unknown = jsonValue.GetInteger("Unknown"); + m_unknownHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceSeverityBreakdown::Jsonize() const +{ + JsonValue payload; + + if(m_otherHasBeenSet) + { + payload.WithInteger("Other", m_other); + + } + + if(m_fatalHasBeenSet) + { + payload.WithInteger("Fatal", m_fatal); + + } + + if(m_criticalHasBeenSet) + { + payload.WithInteger("Critical", m_critical); + + } + + if(m_highHasBeenSet) + { + payload.WithInteger("High", m_high); + + } + + if(m_mediumHasBeenSet) + { + payload.WithInteger("Medium", m_medium); + + } + + if(m_lowHasBeenSet) + { + payload.WithInteger("Low", m_low); + + } + + if(m_informationalHasBeenSet) + { + payload.WithInteger("Informational", m_informational); + + } + + if(m_unknownHasBeenSet) + { + payload.WithInteger("Unknown", m_unknown); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceTag.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceTag.cpp new file mode 100644 index 00000000000..93301f466d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourceTag.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourceTag::ResourceTag(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceTag& ResourceTag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceTag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesCompositeFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesCompositeFilter.cpp new file mode 100644 index 00000000000..9a3e7de0d3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesCompositeFilter.cpp @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesCompositeFilter::ResourcesCompositeFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesCompositeFilter& ResourcesCompositeFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StringFilters")) + { + Aws::Utils::Array stringFiltersJsonList = jsonValue.GetArray("StringFilters"); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + m_stringFilters.push_back(stringFiltersJsonList[stringFiltersIndex].AsObject()); + } + m_stringFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("DateFilters")) + { + Aws::Utils::Array dateFiltersJsonList = jsonValue.GetArray("DateFilters"); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + m_dateFilters.push_back(dateFiltersJsonList[dateFiltersIndex].AsObject()); + } + m_dateFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("NumberFilters")) + { + Aws::Utils::Array numberFiltersJsonList = jsonValue.GetArray("NumberFilters"); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + m_numberFilters.push_back(numberFiltersJsonList[numberFiltersIndex].AsObject()); + } + m_numberFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("MapFilters")) + { + Aws::Utils::Array mapFiltersJsonList = jsonValue.GetArray("MapFilters"); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + m_mapFilters.push_back(mapFiltersJsonList[mapFiltersIndex].AsObject()); + } + m_mapFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("Operator")) + { + m_operator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("Operator")); + m_operatorHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesCompositeFilter::Jsonize() const +{ + JsonValue payload; + + if(m_stringFiltersHasBeenSet) + { + Aws::Utils::Array stringFiltersJsonList(m_stringFilters.size()); + for(unsigned stringFiltersIndex = 0; stringFiltersIndex < stringFiltersJsonList.GetLength(); ++stringFiltersIndex) + { + stringFiltersJsonList[stringFiltersIndex].AsObject(m_stringFilters[stringFiltersIndex].Jsonize()); + } + payload.WithArray("StringFilters", std::move(stringFiltersJsonList)); + + } + + if(m_dateFiltersHasBeenSet) + { + Aws::Utils::Array dateFiltersJsonList(m_dateFilters.size()); + for(unsigned dateFiltersIndex = 0; dateFiltersIndex < dateFiltersJsonList.GetLength(); ++dateFiltersIndex) + { + dateFiltersJsonList[dateFiltersIndex].AsObject(m_dateFilters[dateFiltersIndex].Jsonize()); + } + payload.WithArray("DateFilters", std::move(dateFiltersJsonList)); + + } + + if(m_numberFiltersHasBeenSet) + { + Aws::Utils::Array numberFiltersJsonList(m_numberFilters.size()); + for(unsigned numberFiltersIndex = 0; numberFiltersIndex < numberFiltersJsonList.GetLength(); ++numberFiltersIndex) + { + numberFiltersJsonList[numberFiltersIndex].AsObject(m_numberFilters[numberFiltersIndex].Jsonize()); + } + payload.WithArray("NumberFilters", std::move(numberFiltersJsonList)); + + } + + if(m_mapFiltersHasBeenSet) + { + Aws::Utils::Array mapFiltersJsonList(m_mapFilters.size()); + for(unsigned mapFiltersIndex = 0; mapFiltersIndex < mapFiltersJsonList.GetLength(); ++mapFiltersIndex) + { + mapFiltersJsonList[mapFiltersIndex].AsObject(m_mapFilters[mapFiltersIndex].Jsonize()); + } + payload.WithArray("MapFilters", std::move(mapFiltersJsonList)); + + } + + if(m_operatorHasBeenSet) + { + payload.WithString("Operator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_operator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateField.cpp new file mode 100644 index 00000000000..ca0c020f74c --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateField.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesDateFieldMapper + { + + static const int resource_detail_capture_time_dt_HASH = HashingUtils::HashString("resource_detail_capture_time_dt"); + static const int resource_creation_time_dt_HASH = HashingUtils::HashString("resource_creation_time_dt"); + + + ResourcesDateField GetResourcesDateFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == resource_detail_capture_time_dt_HASH) + { + return ResourcesDateField::resource_detail_capture_time_dt; + } + else if (hashCode == resource_creation_time_dt_HASH) + { + return ResourcesDateField::resource_creation_time_dt; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesDateField::NOT_SET; + } + + Aws::String GetNameForResourcesDateField(ResourcesDateField enumValue) + { + switch(enumValue) + { + case ResourcesDateField::NOT_SET: + return {}; + case ResourcesDateField::resource_detail_capture_time_dt: + return "resource_detail_capture_time_dt"; + case ResourcesDateField::resource_creation_time_dt: + return "resource_creation_time_dt"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesDateFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateFilter.cpp new file mode 100644 index 00000000000..a18b14a4d3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesDateFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesDateFilter::ResourcesDateFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesDateFilter& ResourcesDateFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesDateFieldMapper::GetResourcesDateFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesDateFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesDateFieldMapper::GetNameForResourcesDateField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesFilters.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesFilters.cpp new file mode 100644 index 00000000000..8a1e583563b --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesFilters.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesFilters::ResourcesFilters(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesFilters& ResourcesFilters::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CompositeFilters")) + { + Aws::Utils::Array compositeFiltersJsonList = jsonValue.GetArray("CompositeFilters"); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + m_compositeFilters.push_back(compositeFiltersJsonList[compositeFiltersIndex].AsObject()); + } + m_compositeFiltersHasBeenSet = true; + } + if(jsonValue.ValueExists("CompositeOperator")) + { + m_compositeOperator = AllowedOperatorsMapper::GetAllowedOperatorsForName(jsonValue.GetString("CompositeOperator")); + m_compositeOperatorHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesFilters::Jsonize() const +{ + JsonValue payload; + + if(m_compositeFiltersHasBeenSet) + { + Aws::Utils::Array compositeFiltersJsonList(m_compositeFilters.size()); + for(unsigned compositeFiltersIndex = 0; compositeFiltersIndex < compositeFiltersJsonList.GetLength(); ++compositeFiltersIndex) + { + compositeFiltersJsonList[compositeFiltersIndex].AsObject(m_compositeFilters[compositeFiltersIndex].Jsonize()); + } + payload.WithArray("CompositeFilters", std::move(compositeFiltersJsonList)); + + } + + if(m_compositeOperatorHasBeenSet) + { + payload.WithString("CompositeOperator", AllowedOperatorsMapper::GetNameForAllowedOperators(m_compositeOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapField.cpp new file mode 100644 index 00000000000..8129fa10f38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapField.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesMapFieldMapper + { + + static const int tags_HASH = HashingUtils::HashString("tags"); + + + ResourcesMapField GetResourcesMapFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == tags_HASH) + { + return ResourcesMapField::tags; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesMapField::NOT_SET; + } + + Aws::String GetNameForResourcesMapField(ResourcesMapField enumValue) + { + switch(enumValue) + { + case ResourcesMapField::NOT_SET: + return {}; + case ResourcesMapField::tags: + return "tags"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesMapFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapFilter.cpp new file mode 100644 index 00000000000..4511fde2161 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesMapFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesMapFilter::ResourcesMapFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesMapFilter& ResourcesMapFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesMapFieldMapper::GetResourcesMapFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesMapFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesMapFieldMapper::GetNameForResourcesMapField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberField.cpp new file mode 100644 index 00000000000..36bd73430aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberField.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesNumberFieldMapper + { + + static const int findings_summary_total_findings_HASH = HashingUtils::HashString("findings_summary.total_findings"); + static const int findings_summary_severities_other_HASH = HashingUtils::HashString("findings_summary.severities.other"); + static const int findings_summary_severities_fatal_HASH = HashingUtils::HashString("findings_summary.severities.fatal"); + static const int findings_summary_severities_critical_HASH = HashingUtils::HashString("findings_summary.severities.critical"); + static const int findings_summary_severities_high_HASH = HashingUtils::HashString("findings_summary.severities.high"); + static const int findings_summary_severities_medium_HASH = HashingUtils::HashString("findings_summary.severities.medium"); + static const int findings_summary_severities_low_HASH = HashingUtils::HashString("findings_summary.severities.low"); + static const int findings_summary_severities_informational_HASH = HashingUtils::HashString("findings_summary.severities.informational"); + static const int findings_summary_severities_unknown_HASH = HashingUtils::HashString("findings_summary.severities.unknown"); + + + ResourcesNumberField GetResourcesNumberFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == findings_summary_total_findings_HASH) + { + return ResourcesNumberField::findings_summary_total_findings; + } + else if (hashCode == findings_summary_severities_other_HASH) + { + return ResourcesNumberField::findings_summary_severities_other; + } + else if (hashCode == findings_summary_severities_fatal_HASH) + { + return ResourcesNumberField::findings_summary_severities_fatal; + } + else if (hashCode == findings_summary_severities_critical_HASH) + { + return ResourcesNumberField::findings_summary_severities_critical; + } + else if (hashCode == findings_summary_severities_high_HASH) + { + return ResourcesNumberField::findings_summary_severities_high; + } + else if (hashCode == findings_summary_severities_medium_HASH) + { + return ResourcesNumberField::findings_summary_severities_medium; + } + else if (hashCode == findings_summary_severities_low_HASH) + { + return ResourcesNumberField::findings_summary_severities_low; + } + else if (hashCode == findings_summary_severities_informational_HASH) + { + return ResourcesNumberField::findings_summary_severities_informational; + } + else if (hashCode == findings_summary_severities_unknown_HASH) + { + return ResourcesNumberField::findings_summary_severities_unknown; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesNumberField::NOT_SET; + } + + Aws::String GetNameForResourcesNumberField(ResourcesNumberField enumValue) + { + switch(enumValue) + { + case ResourcesNumberField::NOT_SET: + return {}; + case ResourcesNumberField::findings_summary_total_findings: + return "findings_summary.total_findings"; + case ResourcesNumberField::findings_summary_severities_other: + return "findings_summary.severities.other"; + case ResourcesNumberField::findings_summary_severities_fatal: + return "findings_summary.severities.fatal"; + case ResourcesNumberField::findings_summary_severities_critical: + return "findings_summary.severities.critical"; + case ResourcesNumberField::findings_summary_severities_high: + return "findings_summary.severities.high"; + case ResourcesNumberField::findings_summary_severities_medium: + return "findings_summary.severities.medium"; + case ResourcesNumberField::findings_summary_severities_low: + return "findings_summary.severities.low"; + case ResourcesNumberField::findings_summary_severities_informational: + return "findings_summary.severities.informational"; + case ResourcesNumberField::findings_summary_severities_unknown: + return "findings_summary.severities.unknown"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesNumberFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberFilter.cpp new file mode 100644 index 00000000000..500a459a9ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesNumberFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesNumberFilter::ResourcesNumberFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesNumberFilter& ResourcesNumberFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesNumberFieldMapper::GetResourcesNumberFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesNumberFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesNumberFieldMapper::GetNameForResourcesNumberField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringField.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringField.cpp new file mode 100644 index 00000000000..ca5bd9554fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringField.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace ResourcesStringFieldMapper + { + + static const int resource_arn_HASH = HashingUtils::HashString("resource_arn"); + static const int resource_id_HASH = HashingUtils::HashString("resource_id"); + static const int account_id_HASH = HashingUtils::HashString("account_id"); + static const int region_HASH = HashingUtils::HashString("region"); + static const int resource_category_HASH = HashingUtils::HashString("resource_category"); + static const int resource_type_HASH = HashingUtils::HashString("resource_type"); + static const int resource_name_HASH = HashingUtils::HashString("resource_name"); + static const int findings_summary_finding_type_HASH = HashingUtils::HashString("findings_summary.finding_type"); + static const int findings_summary_product_name_HASH = HashingUtils::HashString("findings_summary.product_name"); + + + ResourcesStringField GetResourcesStringFieldForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == resource_arn_HASH) + { + return ResourcesStringField::resource_arn; + } + else if (hashCode == resource_id_HASH) + { + return ResourcesStringField::resource_id; + } + else if (hashCode == account_id_HASH) + { + return ResourcesStringField::account_id; + } + else if (hashCode == region_HASH) + { + return ResourcesStringField::region; + } + else if (hashCode == resource_category_HASH) + { + return ResourcesStringField::resource_category; + } + else if (hashCode == resource_type_HASH) + { + return ResourcesStringField::resource_type; + } + else if (hashCode == resource_name_HASH) + { + return ResourcesStringField::resource_name; + } + else if (hashCode == findings_summary_finding_type_HASH) + { + return ResourcesStringField::findings_summary_finding_type; + } + else if (hashCode == findings_summary_product_name_HASH) + { + return ResourcesStringField::findings_summary_product_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourcesStringField::NOT_SET; + } + + Aws::String GetNameForResourcesStringField(ResourcesStringField enumValue) + { + switch(enumValue) + { + case ResourcesStringField::NOT_SET: + return {}; + case ResourcesStringField::resource_arn: + return "resource_arn"; + case ResourcesStringField::resource_id: + return "resource_id"; + case ResourcesStringField::account_id: + return "account_id"; + case ResourcesStringField::region: + return "region"; + case ResourcesStringField::resource_category: + return "resource_category"; + case ResourcesStringField::resource_type: + return "resource_type"; + case ResourcesStringField::resource_name: + return "resource_name"; + case ResourcesStringField::findings_summary_finding_type: + return "findings_summary.finding_type"; + case ResourcesStringField::findings_summary_product_name: + return "findings_summary.product_name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourcesStringFieldMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringFilter.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringFilter.cpp new file mode 100644 index 00000000000..93828a2b77d --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ResourcesStringFilter.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ResourcesStringFilter::ResourcesStringFilter(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourcesStringFilter& ResourcesStringFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FieldName")) + { + m_fieldName = ResourcesStringFieldMapper::GetResourcesStringFieldForName(jsonValue.GetString("FieldName")); + m_fieldNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Filter")) + { + m_filter = jsonValue.GetObject("Filter"); + m_filterHasBeenSet = true; + } + return *this; +} + +JsonValue ResourcesStringFilter::Jsonize() const +{ + JsonValue payload; + + if(m_fieldNameHasBeenSet) + { + payload.WithString("FieldName", ResourcesStringFieldMapper::GetNameForResourcesStringField(m_fieldName)); + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/RuleStatusV2.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/RuleStatusV2.cpp new file mode 100644 index 00000000000..3c694bfbf94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/RuleStatusV2.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace RuleStatusV2Mapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + RuleStatusV2 GetRuleStatusV2ForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return RuleStatusV2::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return RuleStatusV2::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RuleStatusV2::NOT_SET; + } + + Aws::String GetNameForRuleStatusV2(RuleStatusV2 enumValue) + { + switch(enumValue) + { + case RuleStatusV2::NOT_SET: + return {}; + case RuleStatusV2::ENABLED: + return "ENABLED"; + case RuleStatusV2::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RuleStatusV2Mapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityHubFeature.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityHubFeature.cpp new file mode 100644 index 00000000000..c33bdf06d5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/SecurityHubFeature.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace SecurityHub + { + namespace Model + { + namespace SecurityHubFeatureMapper + { + + static const int SecurityHub_HASH = HashingUtils::HashString("SecurityHub"); + static const int SecurityHubV2_HASH = HashingUtils::HashString("SecurityHubV2"); + + + SecurityHubFeature GetSecurityHubFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SecurityHub_HASH) + { + return SecurityHubFeature::SecurityHub; + } + else if (hashCode == SecurityHubV2_HASH) + { + return SecurityHubFeature::SecurityHubV2; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SecurityHubFeature::NOT_SET; + } + + Aws::String GetNameForSecurityHubFeature(SecurityHubFeature enumValue) + { + switch(enumValue) + { + case SecurityHubFeature::NOT_SET: + return {}; + case SecurityHubFeature::SecurityHub: + return "SecurityHub"; + case SecurityHubFeature::SecurityHubV2: + return "SecurityHubV2"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SecurityHubFeatureMapper + } // namespace Model + } // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowDetail.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowDetail.cpp new file mode 100644 index 00000000000..6341b7d1aa4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowDetail.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ServiceNowDetail::ServiceNowDetail(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceNowDetail& ServiceNowDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceName")) + { + m_instanceName = jsonValue.GetString("InstanceName"); + m_instanceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ClientId")) + { + m_clientId = jsonValue.GetString("ClientId"); + m_clientIdHasBeenSet = true; + } + if(jsonValue.ValueExists("AuthStatus")) + { + m_authStatus = ConnectorAuthStatusMapper::GetConnectorAuthStatusForName(jsonValue.GetString("AuthStatus")); + m_authStatusHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceNowDetail::Jsonize() const +{ + JsonValue payload; + + if(m_instanceNameHasBeenSet) + { + payload.WithString("InstanceName", m_instanceName); + + } + + if(m_clientIdHasBeenSet) + { + payload.WithString("ClientId", m_clientId); + + } + + if(m_authStatusHasBeenSet) + { + payload.WithString("AuthStatus", ConnectorAuthStatusMapper::GetNameForConnectorAuthStatus(m_authStatus)); + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowProviderConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowProviderConfiguration.cpp new file mode 100644 index 00000000000..a15f25c00da --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ServiceNowProviderConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ServiceNowProviderConfiguration::ServiceNowProviderConfiguration(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceNowProviderConfiguration& ServiceNowProviderConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceName")) + { + m_instanceName = jsonValue.GetString("InstanceName"); + m_instanceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("ClientId")) + { + m_clientId = jsonValue.GetString("ClientId"); + m_clientIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ClientSecret")) + { + m_clientSecret = jsonValue.GetString("ClientSecret"); + m_clientSecretHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceNowProviderConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_instanceNameHasBeenSet) + { + payload.WithString("InstanceName", m_instanceName); + + } + + if(m_clientIdHasBeenSet) + { + payload.WithString("ClientId", m_clientId); + + } + + if(m_clientSecretHasBeenSet) + { + payload.WithString("ClientSecret", m_clientSecret); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp index c47d360798b..e0a867162f9 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/StringFilterComparison.cpp @@ -26,6 +26,7 @@ namespace Aws static const int PREFIX_NOT_EQUALS_HASH = HashingUtils::HashString("PREFIX_NOT_EQUALS"); static const int CONTAINS_HASH = HashingUtils::HashString("CONTAINS"); static const int NOT_CONTAINS_HASH = HashingUtils::HashString("NOT_CONTAINS"); + static const int CONTAINS_WORD_HASH = HashingUtils::HashString("CONTAINS_WORD"); StringFilterComparison GetStringFilterComparisonForName(const Aws::String& name) @@ -55,6 +56,10 @@ namespace Aws { return StringFilterComparison::NOT_CONTAINS; } + else if (hashCode == CONTAINS_WORD_HASH) + { + return StringFilterComparison::CONTAINS_WORD; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -83,6 +88,8 @@ namespace Aws return "CONTAINS"; case StringFilterComparison::NOT_CONTAINS: return "NOT_CONTAINS"; + case StringFilterComparison::CONTAINS_WORD: + return "CONTAINS_WORD"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..f8ba0c67b63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ThrottlingException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ThrottlingException::ThrottlingException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Request.cpp new file mode 100644 index 00000000000..395fb38c326 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Request.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateAggregatorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_regionLinkingModeHasBeenSet) + { + payload.WithString("RegionLinkingMode", m_regionLinkingMode); + + } + + if(m_linkedRegionsHasBeenSet) + { + Aws::Utils::Array linkedRegionsJsonList(m_linkedRegions.size()); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + linkedRegionsJsonList[linkedRegionsIndex].AsString(m_linkedRegions[linkedRegionsIndex]); + } + payload.WithArray("LinkedRegions", std::move(linkedRegionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Result.cpp new file mode 100644 index 00000000000..8c54790b63f --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAggregatorV2Result.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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAggregatorV2Result::UpdateAggregatorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAggregatorV2Result& UpdateAggregatorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AggregatorV2Arn")) + { + m_aggregatorV2Arn = jsonValue.GetString("AggregatorV2Arn"); + m_aggregatorV2ArnHasBeenSet = true; + } + if(jsonValue.ValueExists("AggregationRegion")) + { + m_aggregationRegion = jsonValue.GetString("AggregationRegion"); + m_aggregationRegionHasBeenSet = true; + } + if(jsonValue.ValueExists("RegionLinkingMode")) + { + m_regionLinkingMode = jsonValue.GetString("RegionLinkingMode"); + m_regionLinkingModeHasBeenSet = true; + } + if(jsonValue.ValueExists("LinkedRegions")) + { + Aws::Utils::Array linkedRegionsJsonList = jsonValue.GetArray("LinkedRegions"); + for(unsigned linkedRegionsIndex = 0; linkedRegionsIndex < linkedRegionsJsonList.GetLength(); ++linkedRegionsIndex) + { + m_linkedRegions.push_back(linkedRegionsJsonList[linkedRegionsIndex].AsString()); + } + m_linkedRegionsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Request.cpp new file mode 100644 index 00000000000..a868148ac21 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Request.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateAutomationRuleV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_ruleStatusHasBeenSet) + { + payload.WithString("RuleStatus", RuleStatusV2Mapper::GetNameForRuleStatusV2(m_ruleStatus)); + } + + if(m_ruleOrderHasBeenSet) + { + payload.WithDouble("RuleOrder", m_ruleOrder); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_ruleNameHasBeenSet) + { + payload.WithString("RuleName", m_ruleName); + + } + + if(m_criteriaHasBeenSet) + { + payload.WithObject("Criteria", m_criteria.Jsonize()); + + } + + if(m_actionsHasBeenSet) + { + Aws::Utils::Array actionsJsonList(m_actions.size()); + for(unsigned actionsIndex = 0; actionsIndex < actionsJsonList.GetLength(); ++actionsIndex) + { + actionsJsonList[actionsIndex].AsObject(m_actions[actionsIndex].Jsonize()); + } + payload.WithArray("Actions", std::move(actionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Result.cpp new file mode 100644 index 00000000000..d51b1f6f5c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateAutomationRuleV2Result.cpp @@ -0,0 +1,39 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateAutomationRuleV2Result::UpdateAutomationRuleV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateAutomationRuleV2Result& UpdateAutomationRuleV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Request.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Request.cpp new file mode 100644 index 00000000000..97ce903ae71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Request.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UpdateConnectorV2Request::SerializePayload() const +{ + JsonValue payload; + + if(m_clientSecretHasBeenSet) + { + payload.WithString("ClientSecret", m_clientSecret); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_providerHasBeenSet) + { + payload.WithObject("Provider", m_provider.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Result.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Result.cpp new file mode 100644 index 00000000000..f4e737c8f71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/UpdateConnectorV2Result.cpp @@ -0,0 +1,39 @@ +/** + * 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::SecurityHub::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateConnectorV2Result::UpdateConnectorV2Result(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateConnectorV2Result& UpdateConnectorV2Result::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-securityhub/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-securityhub/source/model/ValidationException.cpp new file mode 100644 index 00000000000..e8c508a16e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/model/ValidationException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SecurityHub +{ +namespace Model +{ + +ValidationException::ValidationException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + m_codeHasBeenSet = true; + } + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + return payload; +} + +} // namespace Model +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesACFPRuleSet.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesACFPRuleSet.h index 3ce2d1d52b4..ed1843c0a78 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesACFPRuleSet.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesACFPRuleSet.h @@ -28,7 +28,13 @@ namespace Model /** *

                              Details for your use of the account creation fraud prevention managed rule * group, AWSManagedRulesACFPRuleSet. This configuration is used in - * ManagedRuleGroupConfig.

                              See Also:

                              ManagedRuleGroupConfig
                              .

                              For additional information about + * this and the other intelligent threat mitigation rule groups, see Intelligent + * threat mitigation in WAF and Amazon + * Web Services Managed Rules rule groups list in the WAF Developer + * Guide.

                              See Also:

                              AWS * API Reference

                              */ diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesATPRuleSet.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesATPRuleSet.h index 5666c5d49ff..c3574f3a646 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesATPRuleSet.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesATPRuleSet.h @@ -28,7 +28,13 @@ namespace Model /** *

                              Details for your use of the account takeover prevention managed rule group, * AWSManagedRulesATPRuleSet. This configuration is used in - * ManagedRuleGroupConfig.

                              See Also:

                              ManagedRuleGroupConfig
                              .

                              For additional information about + * this and the other intelligent threat mitigation rule groups, see Intelligent + * threat mitigation in WAF and Amazon + * Web Services Managed Rules rule groups list in the WAF Developer + * Guide.

                              See Also:

                              AWS * API Reference

                              */ diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesAntiDDoSRuleSet.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesAntiDDoSRuleSet.h new file mode 100644 index 00000000000..910338ccbdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesAntiDDoSRuleSet.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 WAFV2 +{ +namespace Model +{ + + /** + *

                              Configures the use of the anti-DDoS managed rule group, + * AWSManagedRulesAntiDDoSRuleSet. This configuration is used in + * ManagedRuleGroupConfig.

                              The configuration that you provide + * here determines whether and how the rules in the rule group are used.

                              + *

                              For additional information about this and the other intelligent threat + * mitigation rule groups, see Intelligent + * threat mitigation in WAF and Amazon + * Web Services Managed Rules rule groups list in the WAF Developer + * Guide.

                              See Also:

                              AWS + * API Reference

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

                              Configures the request handling that's applied by the managed rule group + * rules ChallengeAllDuringEvent and + * ChallengeDDoSRequests during a distributed denial of service (DDoS) + * attack.

                              + */ + inline const ClientSideActionConfig& GetClientSideActionConfig() const { return m_clientSideActionConfig; } + inline bool ClientSideActionConfigHasBeenSet() const { return m_clientSideActionConfigHasBeenSet; } + template + void SetClientSideActionConfig(ClientSideActionConfigT&& value) { m_clientSideActionConfigHasBeenSet = true; m_clientSideActionConfig = std::forward(value); } + template + AWSManagedRulesAntiDDoSRuleSet& WithClientSideActionConfig(ClientSideActionConfigT&& value) { SetClientSideActionConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              The sensitivity that the rule group rule DDoSRequests uses when + * matching against the DDoS suspicion labeling on a request. The managed rule + * group adds the labeling during DDoS events, before the DDoSRequests + * rule runs.

                              The higher the sensitivity, the more levels of labeling that + * the rule matches:

                              • Low sensitivity is less sensitive, causing + * the rule to match only on the most likely participants in an attack, which are + * the requests with the high suspicion label + * awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request.

                              • + *
                              • Medium sensitivity causes the rule to match on the medium and high + * suspicion labels.

                              • High sensitivity causes the rule to match on + * all of the suspicion labels: low, medium, and high.

                              Default: + * LOW

                              + */ + inline SensitivityToAct GetSensitivityToBlock() const { return m_sensitivityToBlock; } + inline bool SensitivityToBlockHasBeenSet() const { return m_sensitivityToBlockHasBeenSet; } + inline void SetSensitivityToBlock(SensitivityToAct value) { m_sensitivityToBlockHasBeenSet = true; m_sensitivityToBlock = value; } + inline AWSManagedRulesAntiDDoSRuleSet& WithSensitivityToBlock(SensitivityToAct value) { SetSensitivityToBlock(value); return *this;} + ///@} + private: + + ClientSideActionConfig m_clientSideActionConfig; + bool m_clientSideActionConfigHasBeenSet = false; + + SensitivityToAct m_sensitivityToBlock{SensitivityToAct::NOT_SET}; + bool m_sensitivityToBlockHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesBotControlRuleSet.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesBotControlRuleSet.h index 1861ab1fcd5..3d22534e1a1 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesBotControlRuleSet.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/AWSManagedRulesBotControlRuleSet.h @@ -26,7 +26,13 @@ namespace Model /** *

                              Details for your use of the Bot Control managed rule group, * AWSManagedRulesBotControlRuleSet. This configuration is used in - * ManagedRuleGroupConfig.

                              See Also:

                              ManagedRuleGroupConfig.

                              For additional information about + * this and the other intelligent threat mitigation rule groups, see Intelligent + * threat mitigation in WAF and Amazon + * Web Services Managed Rules rule groups list in the WAF Developer + * Guide.

                              See Also:

                              AWS * API Reference

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

                              Application details defined during the web ACL creation process. Application + * attributes help WAF give recommendations for protection packs.

                              See + * Also:

                              AWS + * API Reference

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

                              Specifies the attribute name.

                              + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ApplicationAttribute& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Specifies the attribute value.

                              + */ + inline const Aws::Vector& GetValues() const { return m_values; } + inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } + template> + void SetValues(ValuesT&& value) { m_valuesHasBeenSet = true; m_values = std::forward(value); } + template> + ApplicationAttribute& WithValues(ValuesT&& value) { SetValues(std::forward(value)); return *this;} + template + ApplicationAttribute& AddValues(ValuesT&& value) { m_valuesHasBeenSet = true; m_values.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_values; + bool m_valuesHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationConfig.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationConfig.h new file mode 100644 index 00000000000..1a54c04f05a --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ApplicationConfig.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WAFV2 +{ +namespace Model +{ + + /** + *

                              A list of ApplicationAttributes that contains information about + * the application.

                              See Also:

                              AWS + * API Reference

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

                              Contains the attribute name and a list of values for that attribute.

                              + */ + inline const Aws::Vector& GetAttributes() const { return m_attributes; } + inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } + template> + void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward(value); } + template> + ApplicationConfig& WithAttributes(AttributesT&& value) { SetAttributes(std::forward(value)); return *this;} + template + ApplicationConfig& AddAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::Vector m_attributes; + bool m_attributesHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ClientSideAction.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ClientSideAction.h new file mode 100644 index 00000000000..09189cc81e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ClientSideAction.h @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WAFV2 +{ +namespace Model +{ + + /** + *

                              This is part of the AWSManagedRulesAntiDDoSRuleSet + * ClientSideActionConfig configuration in + * ManagedRuleGroupConfig.

                              See Also:

                              AWS + * API Reference

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

                              Determines whether to use the AWSManagedRulesAntiDDoSRuleSet + * rules ChallengeAllDuringEvent and + * ChallengeDDoSRequests in the rule group evaluation and the related + * label awswaf:managed:aws:anti-ddos:challengeable-request.

                                + *
                              • If usage is enabled:

                                • The managed rule group adds the + * label awswaf:managed:aws:anti-ddos:challengeable-request to any web + * request whose URL does NOT match the regular expressions provided in the + * ClientSideAction setting ExemptUriRegularExpressions. + *

                                • The two rules are evaluated against web requests for + * protected resources that are experiencing a DDoS attack. The two rules only + * apply their action to matching requests that have the label + * awswaf:managed:aws:anti-ddos:challengeable-request.

                                • + *
                              • If usage is disabled:

                                • The managed rule + * group doesn't add the label + * awswaf:managed:aws:anti-ddos:challengeable-request to any web + * requests.

                                • The two rules are not evaluated.

                                • + *

                                  None of the other ClientSideAction settings have any effect.

                                  + *

                              This setting only enables or disables the use + * of the two anti-DDOS rules ChallengeAllDuringEvent and + * ChallengeDDoSRequests in the anti-DDoS managed rule group.

                              + *

                              This setting doesn't alter the action setting in the two rules. To override + * the actions used by the rules ChallengeAllDuringEvent and + * ChallengeDDoSRequests, enable this setting, and then override the + * rule actions in the usual way, in your managed rule group configuration.

                              + * + */ + inline UsageOfAction GetUsageOfAction() const { return m_usageOfAction; } + inline bool UsageOfActionHasBeenSet() const { return m_usageOfActionHasBeenSet; } + inline void SetUsageOfAction(UsageOfAction value) { m_usageOfActionHasBeenSet = true; m_usageOfAction = value; } + inline ClientSideAction& WithUsageOfAction(UsageOfAction value) { SetUsageOfAction(value); return *this;} + ///@} + + ///@{ + /** + *

                              The sensitivity that the rule group rule ChallengeDDoSRequests + * uses when matching against the DDoS suspicion labeling on a request. The managed + * rule group adds the labeling during DDoS events, before the + * ChallengeDDoSRequests rule runs.

                              The higher the + * sensitivity, the more levels of labeling that the rule matches:

                              • + *

                                Low sensitivity is less sensitive, causing the rule to match only on the most + * likely participants in an attack, which are the requests with the high suspicion + * label awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request.

                                + *
                              • Medium sensitivity causes the rule to match on the medium and high + * suspicion labels.

                              • High sensitivity causes the rule to match on + * all of the suspicion labels: low, medium, and high.

                              Default: + * HIGH

                              + */ + inline SensitivityToAct GetSensitivity() const { return m_sensitivity; } + inline bool SensitivityHasBeenSet() const { return m_sensitivityHasBeenSet; } + inline void SetSensitivity(SensitivityToAct value) { m_sensitivityHasBeenSet = true; m_sensitivity = value; } + inline ClientSideAction& WithSensitivity(SensitivityToAct value) { SetSensitivity(value); return *this;} + ///@} + + ///@{ + /** + *

                              The regular expression to match against the web request URI, used to identify + * requests that can't handle a silent browser challenge. When the + * ClientSideAction setting UsageOfAction is enabled, the + * managed rule group uses this setting to determine which requests to label with + * awswaf:managed:aws:anti-ddos:challengeable-request. If + * UsageOfAction is disabled, this setting has no effect and the + * managed rule group doesn't add the label to any requests.

                              The anti-DDoS + * managed rule group doesn't evaluate the rules ChallengeDDoSRequests + * or ChallengeAllDuringEvent for web requests whose URIs match this + * regex. This is true regardless of whether you override the rule action for + * either of the rules in your web ACL configuration.

                              Amazon Web Services + * recommends using a regular expression.

                              This setting is required if + * UsageOfAction is set to ENABLED. If required, you can + * provide between 1 and 5 regex objects in the array of settings.

                              Amazon + * Web Services recommends starting with the following setting. Review and update + * it for your application's needs:

                              + * \/api\/|\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$ + *

                              + */ + inline const Aws::Vector& GetExemptUriRegularExpressions() const { return m_exemptUriRegularExpressions; } + inline bool ExemptUriRegularExpressionsHasBeenSet() const { return m_exemptUriRegularExpressionsHasBeenSet; } + template> + void SetExemptUriRegularExpressions(ExemptUriRegularExpressionsT&& value) { m_exemptUriRegularExpressionsHasBeenSet = true; m_exemptUriRegularExpressions = std::forward(value); } + template> + ClientSideAction& WithExemptUriRegularExpressions(ExemptUriRegularExpressionsT&& value) { SetExemptUriRegularExpressions(std::forward(value)); return *this;} + template + ClientSideAction& AddExemptUriRegularExpressions(ExemptUriRegularExpressionsT&& value) { m_exemptUriRegularExpressionsHasBeenSet = true; m_exemptUriRegularExpressions.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + UsageOfAction m_usageOfAction{UsageOfAction::NOT_SET}; + bool m_usageOfActionHasBeenSet = false; + + SensitivityToAct m_sensitivity{SensitivityToAct::NOT_SET}; + bool m_sensitivityHasBeenSet = false; + + Aws::Vector m_exemptUriRegularExpressions; + bool m_exemptUriRegularExpressionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ClientSideActionConfig.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ClientSideActionConfig.h new file mode 100644 index 00000000000..9556ad99610 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ClientSideActionConfig.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WAFV2 +{ +namespace Model +{ + + /** + *

                              This is part of the configuration for the managed rules + * AWSManagedRulesAntiDDoSRuleSet in + * ManagedRuleGroupConfig.

                              See Also:

                              AWS + * API Reference

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

                              Configuration for the use of the AWSManagedRulesAntiDDoSRuleSet + * rules ChallengeAllDuringEvent and + * ChallengeDDoSRequests.

                              This setting isn't related to + * the configuration of the Challenge action itself. It only + * configures the use of the two anti-DDoS rules named here.

                              You + * can enable or disable the use of these rules, and you can configure how to use + * them when they are enabled.

                              + */ + inline const ClientSideAction& GetChallenge() const { return m_challenge; } + inline bool ChallengeHasBeenSet() const { return m_challengeHasBeenSet; } + template + void SetChallenge(ChallengeT&& value) { m_challengeHasBeenSet = true; m_challenge = std::forward(value); } + template + ClientSideActionConfig& WithChallenge(ChallengeT&& value) { SetChallenge(std::forward(value)); return *this;} + ///@} + private: + + ClientSideAction m_challenge; + bool m_challengeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h index 165c1d323ac..b585fc8aead 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/CreateWebACLRequest.h @@ -16,6 +16,8 @@ #include #include #include +#include +#include #include #include #include @@ -258,6 +260,36 @@ namespace Model template CreateWebACLRequest& WithAssociationConfig(AssociationConfigT&& value) { SetAssociationConfig(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                              Specifies the type of DDoS protection to apply to web request data for a web + * ACL. For most scenarios, it is recommended to use the default protection level, + * ACTIVE_UNDER_DDOS. If a web ACL is associated with multiple + * Application Load Balancers, the changes you make to DDoS protection in that web + * ACL will apply to all associated Application Load Balancers.

                              + */ + inline const OnSourceDDoSProtectionConfig& GetOnSourceDDoSProtectionConfig() const { return m_onSourceDDoSProtectionConfig; } + inline bool OnSourceDDoSProtectionConfigHasBeenSet() const { return m_onSourceDDoSProtectionConfigHasBeenSet; } + template + void SetOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { m_onSourceDDoSProtectionConfigHasBeenSet = true; m_onSourceDDoSProtectionConfig = std::forward(value); } + template + CreateWebACLRequest& WithOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { SetOnSourceDDoSProtectionConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                              Configures the ability for the WAF console to store and retrieve application + * attributes during the web ACL creation process. Application attributes help WAF + * give recommendations for protection packs.

                              + */ + inline const ApplicationConfig& GetApplicationConfig() const { return m_applicationConfig; } + inline bool ApplicationConfigHasBeenSet() const { return m_applicationConfigHasBeenSet; } + template + void SetApplicationConfig(ApplicationConfigT&& value) { m_applicationConfigHasBeenSet = true; m_applicationConfig = std::forward(value); } + template + CreateWebACLRequest& WithApplicationConfig(ApplicationConfigT&& value) { SetApplicationConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -298,6 +330,12 @@ namespace Model AssociationConfig m_associationConfig; bool m_associationConfigHasBeenSet = false; + + OnSourceDDoSProtectionConfig m_onSourceDDoSProtectionConfig; + bool m_onSourceDDoSProtectionConfigHasBeenSet = false; + + ApplicationConfig m_applicationConfig; + bool m_applicationConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/LowReputationMode.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/LowReputationMode.h new file mode 100644 index 00000000000..1638d85c267 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/LowReputationMode.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 WAFV2 +{ +namespace Model +{ + enum class LowReputationMode + { + NOT_SET, + ACTIVE_UNDER_DDOS, + ALWAYS_ON + }; + +namespace LowReputationModeMapper +{ +AWS_WAFV2_API LowReputationMode GetLowReputationModeForName(const Aws::String& name); + +AWS_WAFV2_API Aws::String GetNameForLowReputationMode(LowReputationMode value); +} // namespace LowReputationModeMapper +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupConfig.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupConfig.h index 3e07e9f485e..1236da839c8 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupConfig.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupConfig.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -33,11 +34,16 @@ namespace Model * account creation fraud prevention managed rule group. The configuration includes * the registration and sign-up pages of your application and the locations in the * account creation request payload of data, such as the user email and phone - * number fields.

                            • Use the AWSManagedRulesATPRuleSet - * configuration object to configure the account takeover prevention managed rule - * group. The configuration includes the sign-in page of your application and the - * locations in the login request payload of data such as the username and - * password.

                            • Use the + * number fields.

                            • Use the + * AWSManagedRulesAntiDDoSRuleSet configuration object to configure + * the anti-DDoS managed rule group. The configuration includes the sensitivity + * levels to use in the rules that typically block and challenge requests that + * might be participating in DDoS attacks and the specification to use to indicate + * whether a request can handle a silent browser challenge.

                            • Use + * the AWSManagedRulesATPRuleSet configuration object to configure the + * account takeover prevention managed rule group. The configuration includes the + * sign-in page of your application and the locations in the login request payload + * of data such as the username and password.

                            • Use the * AWSManagedRulesBotControlRuleSet configuration object to configure * the protection level that you want the Bot Control rule group to use.

                            • *

                            For example specifications, see the examples section of @@ -118,6 +124,25 @@ namespace Model template ManagedRuleGroupConfig& WithAWSManagedRulesACFPRuleSet(AWSManagedRulesACFPRuleSetT&& value) { SetAWSManagedRulesACFPRuleSet(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                            Additional configuration for using the anti-DDoS managed rule group, + * AWSManagedRulesAntiDDoSRuleSet. Use this to configure anti-DDoS + * behavior for the rule group.

                            For information about using the anti-DDoS + * managed rule group, see WAF + * Anti-DDoS rule group and Distributed + * Denial of Service (DDoS) prevention in the WAF Developer Guide.

                            + */ + inline const AWSManagedRulesAntiDDoSRuleSet& GetAWSManagedRulesAntiDDoSRuleSet() const { return m_aWSManagedRulesAntiDDoSRuleSet; } + inline bool AWSManagedRulesAntiDDoSRuleSetHasBeenSet() const { return m_aWSManagedRulesAntiDDoSRuleSetHasBeenSet; } + template + void SetAWSManagedRulesAntiDDoSRuleSet(AWSManagedRulesAntiDDoSRuleSetT&& value) { m_aWSManagedRulesAntiDDoSRuleSetHasBeenSet = true; m_aWSManagedRulesAntiDDoSRuleSet = std::forward(value); } + template + ManagedRuleGroupConfig& WithAWSManagedRulesAntiDDoSRuleSet(AWSManagedRulesAntiDDoSRuleSetT&& value) { SetAWSManagedRulesAntiDDoSRuleSet(std::forward(value)); return *this;} + ///@} private: AWSManagedRulesBotControlRuleSet m_aWSManagedRulesBotControlRuleSet; @@ -128,6 +153,9 @@ namespace Model AWSManagedRulesACFPRuleSet m_aWSManagedRulesACFPRuleSet; bool m_aWSManagedRulesACFPRuleSetHasBeenSet = false; + + AWSManagedRulesAntiDDoSRuleSet m_aWSManagedRulesAntiDDoSRuleSet; + bool m_aWSManagedRulesAntiDDoSRuleSetHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupStatement.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupStatement.h index fce9a3caaf8..fd5af2be2a0 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupStatement.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ManagedRuleGroupStatement.h @@ -146,11 +146,16 @@ namespace Model * account creation fraud prevention managed rule group. The configuration includes * the registration and sign-up pages of your application and the locations in the * account creation request payload of data, such as the user email and phone - * number fields.

                          • Use the AWSManagedRulesATPRuleSet - * configuration object to configure the account takeover prevention managed rule - * group. The configuration includes the sign-in page of your application and the - * locations in the login request payload of data such as the username and - * password.

                          • Use the + * number fields.

                          • Use the + * AWSManagedRulesAntiDDoSRuleSet configuration object to configure + * the anti-DDoS managed rule group. The configuration includes the sensitivity + * levels to use in the rules that typically block and challenge requests that + * might be participating in DDoS attacks and the specification to use to indicate + * whether a request can handle a silent browser challenge.

                          • Use + * the AWSManagedRulesATPRuleSet configuration object to configure the + * account takeover prevention managed rule group. The configuration includes the + * sign-in page of your application and the locations in the login request payload + * of data such as the username and password.

                          • Use the * AWSManagedRulesBotControlRuleSet configuration object to configure * the protection level that you want the Bot Control rule group to use.

                          • *
                          @@ -169,11 +174,13 @@ namespace Model /** *

                          Action settings to use in the place of the rule actions that are configured * inside the rule group. You specify one override for each rule whose action you - * want to change.

                          Take care to verify the rule names in your - * overrides. If you provide a rule name that doesn't match the name of any rule in - * the rule group, WAF doesn't return an error and doesn't apply the override - * setting.

                          You can use overrides for testing, for example you can - * override all of rule actions to Count and then monitor the + * want to change.

                          Verify the rule names in your overrides + * carefully. With managed rule groups, WAF silently ignores any override that uses + * an invalid rule name. With customer-owned rule groups, invalid rule names in + * your overrides will cause web ACL updates to fail. An invalid rule name is any + * name that doesn't exactly match the case-sensitive name of an existing rule in + * the rule group.

                          You can use overrides for testing, for example + * you can override all of rule actions to Count and then monitor the * resulting count metrics to understand how the rule group would handle your web * traffic. You can also permanently override some or all actions, to modify how * the rule group manages your web traffic.

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

                          Configures the level of DDoS protection that applies to web ACLs associated + * with Application Load Balancers.

                          See Also:

                          AWS + * API Reference

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

                          The level of DDoS protection that applies to web ACLs associated with + * Application Load Balancers. ACTIVE_UNDER_DDOS protection is enabled + * by default whenever a web ACL is associated with an Application Load Balancer. + * In the event that an Application Load Balancer experiences high-load conditions + * or suspected DDoS attacks, the ACTIVE_UNDER_DDOS protection + * automatically rate limits traffic from known low reputation sources without + * disrupting Application Load Balancer availability. ALWAYS_ON + * protection provides constant, always-on monitoring of known low reputation + * sources for suspected DDoS attacks. While this provides a higher level of + * protection, there may be potential impacts on legitimate traffic.

                          + */ + inline LowReputationMode GetALBLowReputationMode() const { return m_aLBLowReputationMode; } + inline bool ALBLowReputationModeHasBeenSet() const { return m_aLBLowReputationModeHasBeenSet; } + inline void SetALBLowReputationMode(LowReputationMode value) { m_aLBLowReputationModeHasBeenSet = true; m_aLBLowReputationMode = value; } + inline OnSourceDDoSProtectionConfig& WithALBLowReputationMode(LowReputationMode value) { SetALBLowReputationMode(value); return *this;} + ///@} + private: + + LowReputationMode m_aLBLowReputationMode{LowReputationMode::NOT_SET}; + bool m_aLBLowReputationModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ParameterExceptionField.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ParameterExceptionField.h index 1aa63254f69..cec2c00e959 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ParameterExceptionField.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/ParameterExceptionField.h @@ -86,7 +86,8 @@ namespace Model SCOPE_DOWN, CUSTOM_KEYS, ACP_RULE_SET_RESPONSE_INSPECTION, - DATA_PROTECTION_CONFIG + DATA_PROTECTION_CONFIG, + LOW_REPUTATION_MODE }; namespace ParameterExceptionFieldMapper diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/Regex.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/Regex.h index c7de60c0a41..6e0e5057a97 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/Regex.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/Regex.h @@ -24,8 +24,9 @@ namespace Model { /** - *

                          A single regular expression. This is used in a - * RegexPatternSet.

                          See Also:

                          A single regular expression. This is used in a RegexPatternSet and + * also in the configuration for the Amazon Web Services Managed Rules rule group + * AWSManagedRulesAntiDDoSRuleSet.

                          See Also:

                          AWS API * Reference

                          */ diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/RuleGroupReferenceStatement.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/RuleGroupReferenceStatement.h index 493fb517b18..b29964a4974 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/RuleGroupReferenceStatement.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/RuleGroupReferenceStatement.h @@ -80,11 +80,13 @@ namespace Model /** *

                          Action settings to use in the place of the rule actions that are configured * inside the rule group. You specify one override for each rule whose action you - * want to change.

                          Take care to verify the rule names in your - * overrides. If you provide a rule name that doesn't match the name of any rule in - * the rule group, WAF doesn't return an error and doesn't apply the override - * setting.

                          You can use overrides for testing, for example you can - * override all of rule actions to Count and then monitor the + * want to change.

                          Verify the rule names in your overrides + * carefully. With managed rule groups, WAF silently ignores any override that uses + * an invalid rule name. With customer-owned rule groups, invalid rule names in + * your overrides will cause web ACL updates to fail. An invalid rule name is any + * name that doesn't exactly match the case-sensitive name of an existing rule in + * the rule group.

                          You can use overrides for testing, for example + * you can override all of rule actions to Count and then monitor the * resulting count metrics to understand how the rule group would handle your web * traffic. You can also permanently override some or all actions, to modify how * the rule group manages your web traffic.

                          diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/SensitivityToAct.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/SensitivityToAct.h new file mode 100644 index 00000000000..45ffc7f9fd9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/SensitivityToAct.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + enum class SensitivityToAct + { + NOT_SET, + LOW, + MEDIUM, + HIGH + }; + +namespace SensitivityToActMapper +{ +AWS_WAFV2_API SensitivityToAct GetSensitivityToActForName(const Aws::String& name); + +AWS_WAFV2_API Aws::String GetNameForSensitivityToAct(SensitivityToAct value); +} // namespace SensitivityToActMapper +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UpdateWebACLRequest.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UpdateWebACLRequest.h index 0513ee5a8a6..c12ccd430db 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UpdateWebACLRequest.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UpdateWebACLRequest.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -276,6 +277,22 @@ namespace Model template UpdateWebACLRequest& WithAssociationConfig(AssociationConfigT&& value) { SetAssociationConfig(std::forward(value)); return *this;} ///@} + + ///@{ + /** + *

                          Specifies the type of DDoS protection to apply to web request data for a web + * ACL. For most scenarios, it is recommended to use the default protection level, + * ACTIVE_UNDER_DDOS. If a web ACL is associated with multiple + * Application Load Balancers, the changes you make to DDoS protection in that web + * ACL will apply to all associated Application Load Balancers.

                          + */ + inline const OnSourceDDoSProtectionConfig& GetOnSourceDDoSProtectionConfig() const { return m_onSourceDDoSProtectionConfig; } + inline bool OnSourceDDoSProtectionConfigHasBeenSet() const { return m_onSourceDDoSProtectionConfigHasBeenSet; } + template + void SetOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { m_onSourceDDoSProtectionConfigHasBeenSet = true; m_onSourceDDoSProtectionConfig = std::forward(value); } + template + UpdateWebACLRequest& WithOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { SetOnSourceDDoSProtectionConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -319,6 +336,9 @@ namespace Model AssociationConfig m_associationConfig; bool m_associationConfigHasBeenSet = false; + + OnSourceDDoSProtectionConfig m_onSourceDDoSProtectionConfig; + bool m_onSourceDDoSProtectionConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UsageOfAction.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UsageOfAction.h new file mode 100644 index 00000000000..2d6319cb5be --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/UsageOfAction.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 WAFV2 +{ +namespace Model +{ + enum class UsageOfAction + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace UsageOfActionMapper +{ +AWS_WAFV2_API UsageOfAction GetUsageOfActionForName(const Aws::String& name); + +AWS_WAFV2_API Aws::String GetNameForUsageOfAction(UsageOfAction value); +} // namespace UsageOfActionMapper +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h index 51dc66bd72c..75fd15997b3 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/model/WebACL.h @@ -14,6 +14,8 @@ #include #include #include +#include +#include #include #include #include @@ -376,6 +378,31 @@ namespace Model inline void SetRetrofittedByFirewallManager(bool value) { m_retrofittedByFirewallManagerHasBeenSet = true; m_retrofittedByFirewallManager = value; } inline WebACL& WithRetrofittedByFirewallManager(bool value) { SetRetrofittedByFirewallManager(value); return *this;} ///@} + + ///@{ + /** + *

                          Configures the level of DDoS protection that applies to web ACLs associated + * with Application Load Balancers.

                          + */ + inline const OnSourceDDoSProtectionConfig& GetOnSourceDDoSProtectionConfig() const { return m_onSourceDDoSProtectionConfig; } + inline bool OnSourceDDoSProtectionConfigHasBeenSet() const { return m_onSourceDDoSProtectionConfigHasBeenSet; } + template + void SetOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { m_onSourceDDoSProtectionConfigHasBeenSet = true; m_onSourceDDoSProtectionConfig = std::forward(value); } + template + WebACL& WithOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT&& value) { SetOnSourceDDoSProtectionConfig(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Returns a list of ApplicationAttributes.

                          + */ + inline const ApplicationConfig& GetApplicationConfig() const { return m_applicationConfig; } + inline bool ApplicationConfigHasBeenSet() const { return m_applicationConfigHasBeenSet; } + template + void SetApplicationConfig(ApplicationConfigT&& value) { m_applicationConfigHasBeenSet = true; m_applicationConfig = std::forward(value); } + template + WebACL& WithApplicationConfig(ApplicationConfigT&& value) { SetApplicationConfig(std::forward(value)); return *this;} + ///@} private: Aws::String m_name; @@ -434,6 +461,12 @@ namespace Model bool m_retrofittedByFirewallManager{false}; bool m_retrofittedByFirewallManagerHasBeenSet = false; + + OnSourceDDoSProtectionConfig m_onSourceDDoSProtectionConfig; + bool m_onSourceDDoSProtectionConfigHasBeenSet = false; + + ApplicationConfig m_applicationConfig; + bool m_applicationConfigHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/AWSManagedRulesAntiDDoSRuleSet.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/AWSManagedRulesAntiDDoSRuleSet.cpp new file mode 100644 index 00000000000..51030c7c9b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/AWSManagedRulesAntiDDoSRuleSet.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + +AWSManagedRulesAntiDDoSRuleSet::AWSManagedRulesAntiDDoSRuleSet(JsonView jsonValue) +{ + *this = jsonValue; +} + +AWSManagedRulesAntiDDoSRuleSet& AWSManagedRulesAntiDDoSRuleSet::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ClientSideActionConfig")) + { + m_clientSideActionConfig = jsonValue.GetObject("ClientSideActionConfig"); + m_clientSideActionConfigHasBeenSet = true; + } + if(jsonValue.ValueExists("SensitivityToBlock")) + { + m_sensitivityToBlock = SensitivityToActMapper::GetSensitivityToActForName(jsonValue.GetString("SensitivityToBlock")); + m_sensitivityToBlockHasBeenSet = true; + } + return *this; +} + +JsonValue AWSManagedRulesAntiDDoSRuleSet::Jsonize() const +{ + JsonValue payload; + + if(m_clientSideActionConfigHasBeenSet) + { + payload.WithObject("ClientSideActionConfig", m_clientSideActionConfig.Jsonize()); + + } + + if(m_sensitivityToBlockHasBeenSet) + { + payload.WithString("SensitivityToBlock", SensitivityToActMapper::GetNameForSensitivityToAct(m_sensitivityToBlock)); + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationAttribute.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationAttribute.cpp new file mode 100644 index 00000000000..c6ce581aaab --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationAttribute.cpp @@ -0,0 +1,71 @@ +/** + * 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 WAFV2 +{ +namespace Model +{ + +ApplicationAttribute::ApplicationAttribute(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApplicationAttribute& ApplicationAttribute::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Values")) + { + Aws::Utils::Array valuesJsonList = jsonValue.GetArray("Values"); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + m_values.push_back(valuesJsonList[valuesIndex].AsString()); + } + m_valuesHasBeenSet = true; + } + return *this; +} + +JsonValue ApplicationAttribute::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_valuesHasBeenSet) + { + Aws::Utils::Array valuesJsonList(m_values.size()); + for(unsigned valuesIndex = 0; valuesIndex < valuesJsonList.GetLength(); ++valuesIndex) + { + valuesJsonList[valuesIndex].AsString(m_values[valuesIndex]); + } + payload.WithArray("Values", std::move(valuesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationConfig.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationConfig.cpp new file mode 100644 index 00000000000..4ba0e977ebd --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ApplicationConfig.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + +ApplicationConfig::ApplicationConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +ApplicationConfig& ApplicationConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Attributes")) + { + Aws::Utils::Array attributesJsonList = jsonValue.GetArray("Attributes"); + for(unsigned attributesIndex = 0; attributesIndex < attributesJsonList.GetLength(); ++attributesIndex) + { + m_attributes.push_back(attributesJsonList[attributesIndex].AsObject()); + } + m_attributesHasBeenSet = true; + } + return *this; +} + +JsonValue ApplicationConfig::Jsonize() const +{ + JsonValue payload; + + if(m_attributesHasBeenSet) + { + Aws::Utils::Array attributesJsonList(m_attributes.size()); + for(unsigned attributesIndex = 0; attributesIndex < attributesJsonList.GetLength(); ++attributesIndex) + { + attributesJsonList[attributesIndex].AsObject(m_attributes[attributesIndex].Jsonize()); + } + payload.WithArray("Attributes", std::move(attributesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ClientSideAction.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ClientSideAction.cpp new file mode 100644 index 00000000000..16941884a86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ClientSideAction.cpp @@ -0,0 +1,80 @@ +/** + * 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 WAFV2 +{ +namespace Model +{ + +ClientSideAction::ClientSideAction(JsonView jsonValue) +{ + *this = jsonValue; +} + +ClientSideAction& ClientSideAction::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("UsageOfAction")) + { + m_usageOfAction = UsageOfActionMapper::GetUsageOfActionForName(jsonValue.GetString("UsageOfAction")); + m_usageOfActionHasBeenSet = true; + } + if(jsonValue.ValueExists("Sensitivity")) + { + m_sensitivity = SensitivityToActMapper::GetSensitivityToActForName(jsonValue.GetString("Sensitivity")); + m_sensitivityHasBeenSet = true; + } + if(jsonValue.ValueExists("ExemptUriRegularExpressions")) + { + Aws::Utils::Array exemptUriRegularExpressionsJsonList = jsonValue.GetArray("ExemptUriRegularExpressions"); + for(unsigned exemptUriRegularExpressionsIndex = 0; exemptUriRegularExpressionsIndex < exemptUriRegularExpressionsJsonList.GetLength(); ++exemptUriRegularExpressionsIndex) + { + m_exemptUriRegularExpressions.push_back(exemptUriRegularExpressionsJsonList[exemptUriRegularExpressionsIndex].AsObject()); + } + m_exemptUriRegularExpressionsHasBeenSet = true; + } + return *this; +} + +JsonValue ClientSideAction::Jsonize() const +{ + JsonValue payload; + + if(m_usageOfActionHasBeenSet) + { + payload.WithString("UsageOfAction", UsageOfActionMapper::GetNameForUsageOfAction(m_usageOfAction)); + } + + if(m_sensitivityHasBeenSet) + { + payload.WithString("Sensitivity", SensitivityToActMapper::GetNameForSensitivityToAct(m_sensitivity)); + } + + if(m_exemptUriRegularExpressionsHasBeenSet) + { + Aws::Utils::Array exemptUriRegularExpressionsJsonList(m_exemptUriRegularExpressions.size()); + for(unsigned exemptUriRegularExpressionsIndex = 0; exemptUriRegularExpressionsIndex < exemptUriRegularExpressionsJsonList.GetLength(); ++exemptUriRegularExpressionsIndex) + { + exemptUriRegularExpressionsJsonList[exemptUriRegularExpressionsIndex].AsObject(m_exemptUriRegularExpressions[exemptUriRegularExpressionsIndex].Jsonize()); + } + payload.WithArray("ExemptUriRegularExpressions", std::move(exemptUriRegularExpressionsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ClientSideActionConfig.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ClientSideActionConfig.cpp new file mode 100644 index 00000000000..b23ee9706b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ClientSideActionConfig.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + +ClientSideActionConfig::ClientSideActionConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +ClientSideActionConfig& ClientSideActionConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Challenge")) + { + m_challenge = jsonValue.GetObject("Challenge"); + m_challengeHasBeenSet = true; + } + return *this; +} + +JsonValue ClientSideActionConfig::Jsonize() const +{ + JsonValue payload; + + if(m_challengeHasBeenSet) + { + payload.WithObject("Challenge", m_challenge.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp index eb31fafee2b..c41187d4067 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/CreateWebACLRequest.cpp @@ -113,6 +113,18 @@ Aws::String CreateWebACLRequest::SerializePayload() const } + if(m_onSourceDDoSProtectionConfigHasBeenSet) + { + payload.WithObject("OnSourceDDoSProtectionConfig", m_onSourceDDoSProtectionConfig.Jsonize()); + + } + + if(m_applicationConfigHasBeenSet) + { + payload.WithObject("ApplicationConfig", m_applicationConfig.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/LowReputationMode.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/LowReputationMode.cpp new file mode 100644 index 00000000000..89accf65554 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/LowReputationMode.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 WAFV2 + { + namespace Model + { + namespace LowReputationModeMapper + { + + static const int ACTIVE_UNDER_DDOS_HASH = HashingUtils::HashString("ACTIVE_UNDER_DDOS"); + static const int ALWAYS_ON_HASH = HashingUtils::HashString("ALWAYS_ON"); + + + LowReputationMode GetLowReputationModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_UNDER_DDOS_HASH) + { + return LowReputationMode::ACTIVE_UNDER_DDOS; + } + else if (hashCode == ALWAYS_ON_HASH) + { + return LowReputationMode::ALWAYS_ON; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return LowReputationMode::NOT_SET; + } + + Aws::String GetNameForLowReputationMode(LowReputationMode enumValue) + { + switch(enumValue) + { + case LowReputationMode::NOT_SET: + return {}; + case LowReputationMode::ACTIVE_UNDER_DDOS: + return "ACTIVE_UNDER_DDOS"; + case LowReputationMode::ALWAYS_ON: + return "ALWAYS_ON"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace LowReputationModeMapper + } // namespace Model + } // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ManagedRuleGroupConfig.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ManagedRuleGroupConfig.cpp index 52dea6b6292..6bb26d00719 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/ManagedRuleGroupConfig.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ManagedRuleGroupConfig.cpp @@ -40,6 +40,11 @@ ManagedRuleGroupConfig& ManagedRuleGroupConfig::operator =(JsonView jsonValue) m_aWSManagedRulesACFPRuleSet = jsonValue.GetObject("AWSManagedRulesACFPRuleSet"); m_aWSManagedRulesACFPRuleSetHasBeenSet = true; } + if(jsonValue.ValueExists("AWSManagedRulesAntiDDoSRuleSet")) + { + m_aWSManagedRulesAntiDDoSRuleSet = jsonValue.GetObject("AWSManagedRulesAntiDDoSRuleSet"); + m_aWSManagedRulesAntiDDoSRuleSetHasBeenSet = true; + } return *this; } @@ -65,6 +70,12 @@ JsonValue ManagedRuleGroupConfig::Jsonize() const } + if(m_aWSManagedRulesAntiDDoSRuleSetHasBeenSet) + { + payload.WithObject("AWSManagedRulesAntiDDoSRuleSet", m_aWSManagedRulesAntiDDoSRuleSet.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/OnSourceDDoSProtectionConfig.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/OnSourceDDoSProtectionConfig.cpp new file mode 100644 index 00000000000..073c97dca10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/OnSourceDDoSProtectionConfig.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WAFV2 +{ +namespace Model +{ + +OnSourceDDoSProtectionConfig::OnSourceDDoSProtectionConfig(JsonView jsonValue) +{ + *this = jsonValue; +} + +OnSourceDDoSProtectionConfig& OnSourceDDoSProtectionConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ALBLowReputationMode")) + { + m_aLBLowReputationMode = LowReputationModeMapper::GetLowReputationModeForName(jsonValue.GetString("ALBLowReputationMode")); + m_aLBLowReputationModeHasBeenSet = true; + } + return *this; +} + +JsonValue OnSourceDDoSProtectionConfig::Jsonize() const +{ + JsonValue payload; + + if(m_aLBLowReputationModeHasBeenSet) + { + payload.WithString("ALBLowReputationMode", LowReputationModeMapper::GetNameForLowReputationMode(m_aLBLowReputationMode)); + } + + return payload; +} + +} // namespace Model +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/ParameterExceptionField.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/ParameterExceptionField.cpp index 27de00a9f7d..13786fddcd3 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/ParameterExceptionField.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/ParameterExceptionField.cpp @@ -91,6 +91,7 @@ namespace Aws static const int CUSTOM_KEYS_HASH = HashingUtils::HashString("CUSTOM_KEYS"); static const int ACP_RULE_SET_RESPONSE_INSPECTION_HASH = HashingUtils::HashString("ACP_RULE_SET_RESPONSE_INSPECTION"); static const int DATA_PROTECTION_CONFIG_HASH = HashingUtils::HashString("DATA_PROTECTION_CONFIG"); + static const int LOW_REPUTATION_MODE_HASH = HashingUtils::HashString("LOW_REPUTATION_MODE"); ParameterExceptionField GetParameterExceptionFieldForName(const Aws::String& name) @@ -380,6 +381,10 @@ namespace Aws { return ParameterExceptionField::DATA_PROTECTION_CONFIG; } + else if (hashCode == LOW_REPUTATION_MODE_HASH) + { + return ParameterExceptionField::LOW_REPUTATION_MODE; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -538,6 +543,8 @@ namespace Aws return "ACP_RULE_SET_RESPONSE_INSPECTION"; case ParameterExceptionField::DATA_PROTECTION_CONFIG: return "DATA_PROTECTION_CONFIG"; + case ParameterExceptionField::LOW_REPUTATION_MODE: + return "LOW_REPUTATION_MODE"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/SensitivityToAct.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/SensitivityToAct.cpp new file mode 100644 index 00000000000..1d8379b124c --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/SensitivityToAct.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WAFV2 + { + namespace Model + { + namespace SensitivityToActMapper + { + + static const int LOW_HASH = HashingUtils::HashString("LOW"); + static const int MEDIUM_HASH = HashingUtils::HashString("MEDIUM"); + static const int HIGH_HASH = HashingUtils::HashString("HIGH"); + + + SensitivityToAct GetSensitivityToActForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == LOW_HASH) + { + return SensitivityToAct::LOW; + } + else if (hashCode == MEDIUM_HASH) + { + return SensitivityToAct::MEDIUM; + } + else if (hashCode == HIGH_HASH) + { + return SensitivityToAct::HIGH; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SensitivityToAct::NOT_SET; + } + + Aws::String GetNameForSensitivityToAct(SensitivityToAct enumValue) + { + switch(enumValue) + { + case SensitivityToAct::NOT_SET: + return {}; + case SensitivityToAct::LOW: + return "LOW"; + case SensitivityToAct::MEDIUM: + return "MEDIUM"; + case SensitivityToAct::HIGH: + return "HIGH"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SensitivityToActMapper + } // namespace Model + } // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/UpdateWebACLRequest.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/UpdateWebACLRequest.cpp index 25a421c7b00..e0c2d932cfe 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/UpdateWebACLRequest.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/UpdateWebACLRequest.cpp @@ -114,6 +114,12 @@ Aws::String UpdateWebACLRequest::SerializePayload() const } + if(m_onSourceDDoSProtectionConfigHasBeenSet) + { + payload.WithObject("OnSourceDDoSProtectionConfig", m_onSourceDDoSProtectionConfig.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/UsageOfAction.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/UsageOfAction.cpp new file mode 100644 index 00000000000..50bcb1e10fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/UsageOfAction.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 WAFV2 + { + namespace Model + { + namespace UsageOfActionMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + UsageOfAction GetUsageOfActionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return UsageOfAction::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return UsageOfAction::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return UsageOfAction::NOT_SET; + } + + Aws::String GetNameForUsageOfAction(UsageOfAction enumValue) + { + switch(enumValue) + { + case UsageOfAction::NOT_SET: + return {}; + case UsageOfAction::ENABLED: + return "ENABLED"; + case UsageOfAction::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace UsageOfActionMapper + } // namespace Model + } // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp b/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp index 5834460a14e..a47c319e272 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/model/WebACL.cpp @@ -140,6 +140,16 @@ WebACL& WebACL::operator =(JsonView jsonValue) m_retrofittedByFirewallManager = jsonValue.GetBool("RetrofittedByFirewallManager"); m_retrofittedByFirewallManagerHasBeenSet = true; } + if(jsonValue.ValueExists("OnSourceDDoSProtectionConfig")) + { + m_onSourceDDoSProtectionConfig = jsonValue.GetObject("OnSourceDDoSProtectionConfig"); + m_onSourceDDoSProtectionConfigHasBeenSet = true; + } + if(jsonValue.ValueExists("ApplicationConfig")) + { + m_applicationConfig = jsonValue.GetObject("ApplicationConfig"); + m_applicationConfigHasBeenSet = true; + } return *this; } @@ -286,6 +296,18 @@ JsonValue WebACL::Jsonize() const } + if(m_onSourceDDoSProtectionConfigHasBeenSet) + { + payload.WithObject("OnSourceDDoSProtectionConfig", m_onSourceDDoSProtectionConfig.Jsonize()); + + } + + if(m_applicationConfigHasBeenSet) + { + payload.WithObject("ApplicationConfig", m_applicationConfig.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt b/generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt new file mode 100644 index 00000000000..03460c8acb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-workspaces-instances "C++ SDK for the AWS workspaces-instances service" aws-cpp-sdk-core) + +file(GLOB AWS_WORKSPACES-INSTANCES_HEADERS + "include/aws/workspaces-instances/*.h" +) + +file(GLOB AWS_WORKSPACES-INSTANCES_MODEL_HEADERS + "include/aws/workspaces-instances/model/*.h" +) + +file(GLOB AWS_WORKSPACES-INSTANCES_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_WORKSPACES-INSTANCES_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB WORKSPACES-INSTANCES_UNIFIED_HEADERS + ${AWS_WORKSPACES-INSTANCES_HEADERS} + ${AWS_WORKSPACES-INSTANCES_MODEL_HEADERS} +) + +file(GLOB WORKSPACES-INSTANCES_UNITY_SRC + ${AWS_WORKSPACES-INSTANCES_SOURCE} + ${AWS_WORKSPACES-INSTANCES_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("WORKSPACES-INSTANCES" WORKSPACES-INSTANCES_UNITY_SRC) +endif() + +file(GLOB WORKSPACES-INSTANCES_SRC + ${WORKSPACES-INSTANCES_UNIFIED_HEADERS} + ${WORKSPACES-INSTANCES_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\workspaces-instances" FILES ${AWS_WORKSPACES-INSTANCES_HEADERS}) + source_group("Header Files\\aws\\workspaces-instances\\model" FILES ${AWS_WORKSPACES-INSTANCES_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_WORKSPACES-INSTANCES_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_WORKSPACES-INSTANCES_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(WORKSPACES-INSTANCES_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${WORKSPACES-INSTANCES_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_WORKSPACESINSTANCES_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_WORKSPACES-INSTANCES_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/workspaces-instances) +install (FILES ${AWS_WORKSPACES-INSTANCES_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/workspaces-instances/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h new file mode 100644 index 00000000000..8281a85c7bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h @@ -0,0 +1,425 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ + /** + *

                          Amazon WorkSpaces Instances provides an API framework for managing virtual + * workspace environments across multiple AWS regions, enabling programmatic + * creation and configuration of desktop infrastructure.

                          + */ + class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef WorkspacesInstancesClientConfiguration ClientConfigurationType; + typedef WorkspacesInstancesEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + WorkspacesInstancesClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~WorkspacesInstancesClient(); + + /** + *

                          Attaches a volume to a WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::AssociateVolumeOutcome AssociateVolume(const Model::AssociateVolumeRequest& request) const; + + /** + * A Callable wrapper for AssociateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssociateVolumeOutcomeCallable AssociateVolumeCallable(const AssociateVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::AssociateVolume, request); + } + + /** + * An Async wrapper for AssociateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssociateVolumeAsync(const AssociateVolumeRequestT& request, const AssociateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::AssociateVolume, request, handler, context); + } + + /** + *

                          Creates a new volume for WorkSpace Instances.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::CreateVolumeOutcome CreateVolume(const Model::CreateVolumeRequest& request) const; + + /** + * A Callable wrapper for CreateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateVolumeOutcomeCallable CreateVolumeCallable(const CreateVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::CreateVolume, request); + } + + /** + * An Async wrapper for CreateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateVolumeAsync(const CreateVolumeRequestT& request, const CreateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::CreateVolume, request, handler, context); + } + + /** + *

                          Launches a new WorkSpace Instance with specified configuration parameters, + * enabling programmatic workspace deployment.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::CreateWorkspaceInstanceOutcome CreateWorkspaceInstance(const Model::CreateWorkspaceInstanceRequest& request) const; + + /** + * A Callable wrapper for CreateWorkspaceInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateWorkspaceInstanceOutcomeCallable CreateWorkspaceInstanceCallable(const CreateWorkspaceInstanceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::CreateWorkspaceInstance, request); + } + + /** + * An Async wrapper for CreateWorkspaceInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateWorkspaceInstanceAsync(const CreateWorkspaceInstanceRequestT& request, const CreateWorkspaceInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::CreateWorkspaceInstance, request, handler, context); + } + + /** + *

                          Deletes a specified volume.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::DeleteVolumeOutcome DeleteVolume(const Model::DeleteVolumeRequest& request) const; + + /** + * A Callable wrapper for DeleteVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteVolumeOutcomeCallable DeleteVolumeCallable(const DeleteVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::DeleteVolume, request); + } + + /** + * An Async wrapper for DeleteVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteVolumeAsync(const DeleteVolumeRequestT& request, const DeleteVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::DeleteVolume, request, handler, context); + } + + /** + *

                          Deletes the specified WorkSpace

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::DeleteWorkspaceInstanceOutcome DeleteWorkspaceInstance(const Model::DeleteWorkspaceInstanceRequest& request) const; + + /** + * A Callable wrapper for DeleteWorkspaceInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteWorkspaceInstanceOutcomeCallable DeleteWorkspaceInstanceCallable(const DeleteWorkspaceInstanceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::DeleteWorkspaceInstance, request); + } + + /** + * An Async wrapper for DeleteWorkspaceInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteWorkspaceInstanceAsync(const DeleteWorkspaceInstanceRequestT& request, const DeleteWorkspaceInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::DeleteWorkspaceInstance, request, handler, context); + } + + /** + *

                          Detaches a volume from a WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::DisassociateVolumeOutcome DisassociateVolume(const Model::DisassociateVolumeRequest& request) const; + + /** + * A Callable wrapper for DisassociateVolume that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisassociateVolumeOutcomeCallable DisassociateVolumeCallable(const DisassociateVolumeRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::DisassociateVolume, request); + } + + /** + * An Async wrapper for DisassociateVolume that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisassociateVolumeAsync(const DisassociateVolumeRequestT& request, const DisassociateVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::DisassociateVolume, request, handler, context); + } + + /** + *

                          Retrieves detailed information about a specific WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::GetWorkspaceInstanceOutcome GetWorkspaceInstance(const Model::GetWorkspaceInstanceRequest& request) const; + + /** + * A Callable wrapper for GetWorkspaceInstance that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetWorkspaceInstanceOutcomeCallable GetWorkspaceInstanceCallable(const GetWorkspaceInstanceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::GetWorkspaceInstance, request); + } + + /** + * An Async wrapper for GetWorkspaceInstance that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetWorkspaceInstanceAsync(const GetWorkspaceInstanceRequestT& request, const GetWorkspaceInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::GetWorkspaceInstance, request, handler, context); + } + + /** + *

                          Retrieves a list of instance types supported by Amazon WorkSpaces Instances, + * enabling precise workspace infrastructure configuration.

                          See + * Also:

                          AWS + * API Reference

                          + */ + virtual Model::ListInstanceTypesOutcome ListInstanceTypes(const Model::ListInstanceTypesRequest& request = {}) const; + + /** + * A Callable wrapper for ListInstanceTypes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListInstanceTypesOutcomeCallable ListInstanceTypesCallable(const ListInstanceTypesRequestT& request = {}) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListInstanceTypes, request); + } + + /** + * An Async wrapper for ListInstanceTypes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListInstanceTypesAsync(const ListInstanceTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListInstanceTypesRequestT& request = {}) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListInstanceTypes, request, handler, context); + } + + /** + *

                          Retrieves a list of AWS regions supported by Amazon WorkSpaces Instances, + * enabling region discovery for workspace deployments.

                          See Also:

                          + * AWS + * API Reference

                          + */ + virtual Model::ListRegionsOutcome ListRegions(const Model::ListRegionsRequest& request = {}) const; + + /** + * A Callable wrapper for ListRegions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListRegionsOutcomeCallable ListRegionsCallable(const ListRegionsRequestT& request = {}) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListRegions, request); + } + + /** + * An Async wrapper for ListRegions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListRegionsAsync(const ListRegionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListRegionsRequestT& request = {}) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListRegions, request, handler, context); + } + + /** + *

                          Retrieves tags for a WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListTagsForResource, request, handler, context); + } + + /** + *

                          Retrieves a collection of WorkSpaces Instances based on specified + * filters.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::ListWorkspaceInstancesOutcome ListWorkspaceInstances(const Model::ListWorkspaceInstancesRequest& request = {}) const; + + /** + * A Callable wrapper for ListWorkspaceInstances that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListWorkspaceInstancesOutcomeCallable ListWorkspaceInstancesCallable(const ListWorkspaceInstancesRequestT& request = {}) const + { + return SubmitCallable(&WorkspacesInstancesClient::ListWorkspaceInstances, request); + } + + /** + * An Async wrapper for ListWorkspaceInstances that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListWorkspaceInstancesAsync(const ListWorkspaceInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListWorkspaceInstancesRequestT& request = {}) const + { + return SubmitAsync(&WorkspacesInstancesClient::ListWorkspaceInstances, request, handler, context); + } + + /** + *

                          Adds tags to a WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::TagResource, request, handler, context); + } + + /** + *

                          Removes tags from a WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&WorkspacesInstancesClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkspacesInstancesClient::UntagResource, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const WorkspacesInstancesClientConfiguration& clientConfiguration); + + WorkspacesInstancesClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h new file mode 100644 index 00000000000..c8f13dc4819 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using WorkspacesInstancesClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using WorkspacesInstancesClientConfiguration = Aws::Client::GenericClientConfiguration; +using WorkspacesInstancesBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the WorkspacesInstances Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using WorkspacesInstancesEndpointProviderBase = + EndpointProviderBase; + +using WorkspacesInstancesDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesEndpointProvider : public WorkspacesInstancesDefaultEpProviderBase +{ +public: + using WorkspacesInstancesResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + WorkspacesInstancesEndpointProvider() + : WorkspacesInstancesDefaultEpProviderBase(Aws::WorkspacesInstances::WorkspacesInstancesEndpointRules::GetRulesBlob(), Aws::WorkspacesInstances::WorkspacesInstancesEndpointRules::RulesBlobSize) + {} + + ~WorkspacesInstancesEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h new file mode 100644 index 00000000000..07bde670c70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +class WorkspacesInstancesEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h new file mode 100644 index 00000000000..8504f466886 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h new file mode 100644 index 00000000000..10196e9f10f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesErrors.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +enum class WorkspacesInstancesErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + INTERNAL_SERVER, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesError : public Aws::Client::AWSError +{ +public: + WorkspacesInstancesError() {} + WorkspacesInstancesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + WorkspacesInstancesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + WorkspacesInstancesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + WorkspacesInstancesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace WorkspacesInstancesErrorMapper +{ + AWS_WORKSPACESINSTANCES_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h new file mode 100644 index 00000000000..56866596c7b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ + class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~WorkspacesInstancesRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_0 )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2022-07-26")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h new file mode 100644 index 00000000000..40569594ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in WorkspacesInstancesClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in WorkspacesInstancesClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace WorkspacesInstances + { + using WorkspacesInstancesClientConfiguration = Aws::Client::GenericClientConfiguration; + using WorkspacesInstancesEndpointProviderBase = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProviderBase; + using WorkspacesInstancesEndpointProvider = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in WorkspacesInstancesClient header */ + class AssociateVolumeRequest; + class CreateVolumeRequest; + class CreateWorkspaceInstanceRequest; + class DeleteVolumeRequest; + class DeleteWorkspaceInstanceRequest; + class DisassociateVolumeRequest; + class GetWorkspaceInstanceRequest; + class ListInstanceTypesRequest; + class ListRegionsRequest; + class ListTagsForResourceRequest; + class ListWorkspaceInstancesRequest; + class TagResourceRequest; + class UntagResourceRequest; + /* End of service model forward declarations required in WorkspacesInstancesClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AssociateVolumeOutcome; + typedef Aws::Utils::Outcome CreateVolumeOutcome; + typedef Aws::Utils::Outcome CreateWorkspaceInstanceOutcome; + typedef Aws::Utils::Outcome DeleteVolumeOutcome; + typedef Aws::Utils::Outcome DeleteWorkspaceInstanceOutcome; + typedef Aws::Utils::Outcome DisassociateVolumeOutcome; + typedef Aws::Utils::Outcome GetWorkspaceInstanceOutcome; + typedef Aws::Utils::Outcome ListInstanceTypesOutcome; + typedef Aws::Utils::Outcome ListRegionsOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome ListWorkspaceInstancesOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future AssociateVolumeOutcomeCallable; + typedef std::future CreateVolumeOutcomeCallable; + typedef std::future CreateWorkspaceInstanceOutcomeCallable; + typedef std::future DeleteVolumeOutcomeCallable; + typedef std::future DeleteWorkspaceInstanceOutcomeCallable; + typedef std::future DisassociateVolumeOutcomeCallable; + typedef std::future GetWorkspaceInstanceOutcomeCallable; + typedef std::future ListInstanceTypesOutcomeCallable; + typedef std::future ListRegionsOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future ListWorkspaceInstancesOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class WorkspacesInstancesClient; + + /* Service model async handlers definitions */ + typedef std::function&) > AssociateVolumeResponseReceivedHandler; + typedef std::function&) > CreateVolumeResponseReceivedHandler; + typedef std::function&) > CreateWorkspaceInstanceResponseReceivedHandler; + typedef std::function&) > DeleteVolumeResponseReceivedHandler; + typedef std::function&) > DeleteWorkspaceInstanceResponseReceivedHandler; + typedef std::function&) > DisassociateVolumeResponseReceivedHandler; + typedef std::function&) > GetWorkspaceInstanceResponseReceivedHandler; + typedef std::function&) > ListInstanceTypesResponseReceivedHandler; + typedef std::function&) > ListRegionsResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > ListWorkspaceInstancesResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h new file mode 100644 index 00000000000..0d2d8848c97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstances_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_WORKSPACESINSTANCES_EXPORTS + #define AWS_WORKSPACESINSTANCES_API __declspec(dllexport) + #else + #define AWS_WORKSPACESINSTANCES_API __declspec(dllimport) + #endif /* AWS_WORKSPACESINSTANCES_EXPORTS */ + #define AWS_WORKSPACESINSTANCES_EXTERN + #else + #define AWS_WORKSPACESINSTANCES_API + #define AWS_WORKSPACESINSTANCES_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_WORKSPACESINSTANCES_API + #define AWS_WORKSPACESINSTANCES_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.h new file mode 100644 index 00000000000..b392f7739e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AmdSevSnpEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class AmdSevSnpEnum + { + NOT_SET, + enabled, + disabled + }; + +namespace AmdSevSnpEnumMapper +{ +AWS_WORKSPACESINSTANCES_API AmdSevSnpEnum GetAmdSevSnpEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForAmdSevSnpEnum(AmdSevSnpEnum value); +} // namespace AmdSevSnpEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h new file mode 100644 index 00000000000..9ea02dad62d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeRequest.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies volume attachment parameters.

                          See Also:

                          AWS + * API Reference

                          + */ + class AssociateVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API AssociateVolumeRequest() = default; + + // 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 "AssociateVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          WorkSpace Instance to attach volume to.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + AssociateVolumeRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Volume to be attached.

                          + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + AssociateVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Device path for volume attachment.

                          + */ + inline const Aws::String& GetDevice() const { return m_device; } + inline bool DeviceHasBeenSet() const { return m_deviceHasBeenSet; } + template + void SetDevice(DeviceT&& value) { m_deviceHasBeenSet = true; m_device = std::forward(value); } + template + AssociateVolumeRequest& WithDevice(DeviceT&& value) { SetDevice(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_device; + bool m_deviceHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h new file mode 100644 index 00000000000..e23bd62fd76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AssociateVolumeResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Confirms volume attachment.

                          See Also:

                          AWS + * API Reference

                          + */ + class AssociateVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API AssociateVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API AssociateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API AssociateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + AssociateVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.h new file mode 100644 index 00000000000..b18a373509e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/AutoRecoveryEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class AutoRecoveryEnum + { + NOT_SET, + disabled, + default_ + }; + +namespace AutoRecoveryEnumMapper +{ +AWS_WORKSPACESINSTANCES_API AutoRecoveryEnum GetAutoRecoveryEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForAutoRecoveryEnum(AutoRecoveryEnum value); +} // namespace AutoRecoveryEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h new file mode 100644 index 00000000000..f57172c5447 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BandwidthWeightingEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class BandwidthWeightingEnum + { + NOT_SET, + default_, + vpc_1, + ebs_1 + }; + +namespace BandwidthWeightingEnumMapper +{ +AWS_WORKSPACESINSTANCES_API BandwidthWeightingEnum GetBandwidthWeightingEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForBandwidthWeightingEnum(BandwidthWeightingEnum value); +} // namespace BandwidthWeightingEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h new file mode 100644 index 00000000000..cb01495b4bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/BlockDeviceMappingRequest.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines device mapping for WorkSpace Instance storage.

                          See + * Also:

                          AWS + * API Reference

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

                          Name of the device for storage mapping.

                          + */ + inline const Aws::String& GetDeviceName() const { return m_deviceName; } + inline bool DeviceNameHasBeenSet() const { return m_deviceNameHasBeenSet; } + template + void SetDeviceName(DeviceNameT&& value) { m_deviceNameHasBeenSet = true; m_deviceName = std::forward(value); } + template + BlockDeviceMappingRequest& WithDeviceName(DeviceNameT&& value) { SetDeviceName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          EBS volume configuration for the device.

                          + */ + inline const EbsBlockDevice& GetEbs() const { return m_ebs; } + inline bool EbsHasBeenSet() const { return m_ebsHasBeenSet; } + template + void SetEbs(EbsT&& value) { m_ebsHasBeenSet = true; m_ebs = std::forward(value); } + template + BlockDeviceMappingRequest& WithEbs(EbsT&& value) { SetEbs(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Indicates device should not be mapped.

                          + */ + inline const Aws::String& GetNoDevice() const { return m_noDevice; } + inline bool NoDeviceHasBeenSet() const { return m_noDeviceHasBeenSet; } + template + void SetNoDevice(NoDeviceT&& value) { m_noDeviceHasBeenSet = true; m_noDevice = std::forward(value); } + template + BlockDeviceMappingRequest& WithNoDevice(NoDeviceT&& value) { SetNoDevice(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Virtual device name for ephemeral storage.

                          + */ + inline const Aws::String& GetVirtualName() const { return m_virtualName; } + inline bool VirtualNameHasBeenSet() const { return m_virtualNameHasBeenSet; } + template + void SetVirtualName(VirtualNameT&& value) { m_virtualNameHasBeenSet = true; m_virtualName = std::forward(value); } + template + BlockDeviceMappingRequest& WithVirtualName(VirtualNameT&& value) { SetVirtualName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_deviceName; + bool m_deviceNameHasBeenSet = false; + + EbsBlockDevice m_ebs; + bool m_ebsHasBeenSet = false; + + Aws::String m_noDevice; + bool m_noDeviceHasBeenSet = false; + + Aws::String m_virtualName; + bool m_virtualNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h new file mode 100644 index 00000000000..3e967aace26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationPreferenceEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class CapacityReservationPreferenceEnum + { + NOT_SET, + capacity_reservations_only, + open, + none + }; + +namespace CapacityReservationPreferenceEnumMapper +{ +AWS_WORKSPACESINSTANCES_API CapacityReservationPreferenceEnum GetCapacityReservationPreferenceEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForCapacityReservationPreferenceEnum(CapacityReservationPreferenceEnum value); +} // namespace CapacityReservationPreferenceEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h new file mode 100644 index 00000000000..4bf43308aaa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationSpecification.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies capacity reservation preferences.

                          See Also:

                          AWS + * API Reference

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

                          Preference for using capacity reservation.

                          + */ + inline CapacityReservationPreferenceEnum GetCapacityReservationPreference() const { return m_capacityReservationPreference; } + inline bool CapacityReservationPreferenceHasBeenSet() const { return m_capacityReservationPreferenceHasBeenSet; } + inline void SetCapacityReservationPreference(CapacityReservationPreferenceEnum value) { m_capacityReservationPreferenceHasBeenSet = true; m_capacityReservationPreference = value; } + inline CapacityReservationSpecification& WithCapacityReservationPreference(CapacityReservationPreferenceEnum value) { SetCapacityReservationPreference(value); return *this;} + ///@} + + ///@{ + /** + *

                          Specific capacity reservation target.

                          + */ + inline const CapacityReservationTarget& GetCapacityReservationTarget() const { return m_capacityReservationTarget; } + inline bool CapacityReservationTargetHasBeenSet() const { return m_capacityReservationTargetHasBeenSet; } + template + void SetCapacityReservationTarget(CapacityReservationTargetT&& value) { m_capacityReservationTargetHasBeenSet = true; m_capacityReservationTarget = std::forward(value); } + template + CapacityReservationSpecification& WithCapacityReservationTarget(CapacityReservationTargetT&& value) { SetCapacityReservationTarget(std::forward(value)); return *this;} + ///@} + private: + + CapacityReservationPreferenceEnum m_capacityReservationPreference{CapacityReservationPreferenceEnum::NOT_SET}; + bool m_capacityReservationPreferenceHasBeenSet = false; + + CapacityReservationTarget m_capacityReservationTarget; + bool m_capacityReservationTargetHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h new file mode 100644 index 00000000000..a300eb59efb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CapacityReservationTarget.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Identifies a specific capacity reservation.

                          See Also:

                          AWS + * API Reference

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

                          Unique identifier for the capacity reservation.

                          + */ + inline const Aws::String& GetCapacityReservationId() const { return m_capacityReservationId; } + inline bool CapacityReservationIdHasBeenSet() const { return m_capacityReservationIdHasBeenSet; } + template + void SetCapacityReservationId(CapacityReservationIdT&& value) { m_capacityReservationIdHasBeenSet = true; m_capacityReservationId = std::forward(value); } + template + CapacityReservationTarget& WithCapacityReservationId(CapacityReservationIdT&& value) { SetCapacityReservationId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          ARN of the capacity reservation resource group.

                          + */ + inline const Aws::String& GetCapacityReservationResourceGroupArn() const { return m_capacityReservationResourceGroupArn; } + inline bool CapacityReservationResourceGroupArnHasBeenSet() const { return m_capacityReservationResourceGroupArnHasBeenSet; } + template + void SetCapacityReservationResourceGroupArn(CapacityReservationResourceGroupArnT&& value) { m_capacityReservationResourceGroupArnHasBeenSet = true; m_capacityReservationResourceGroupArn = std::forward(value); } + template + CapacityReservationTarget& WithCapacityReservationResourceGroupArn(CapacityReservationResourceGroupArnT&& value) { SetCapacityReservationResourceGroupArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_capacityReservationId; + bool m_capacityReservationIdHasBeenSet = false; + + Aws::String m_capacityReservationResourceGroupArn; + bool m_capacityReservationResourceGroupArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h new file mode 100644 index 00000000000..f5fd13e37d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConflictException.h @@ -0,0 +1,90 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Signals a conflict with the current state of the resource.

                          See + * Also:

                          AWS + * API Reference

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

                          Description of the conflict encountered.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ConflictException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifier of the conflicting resource.

                          + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ConflictException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Type of the conflicting resource.

                          + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ConflictException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h new file mode 100644 index 00000000000..f697ef0f4f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines connection tracking parameters for network interfaces.

                          See + * Also:

                          AWS + * API Reference

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

                          Timeout for established TCP connections.

                          + */ + inline int GetTcpEstablishedTimeout() const { return m_tcpEstablishedTimeout; } + inline bool TcpEstablishedTimeoutHasBeenSet() const { return m_tcpEstablishedTimeoutHasBeenSet; } + inline void SetTcpEstablishedTimeout(int value) { m_tcpEstablishedTimeoutHasBeenSet = true; m_tcpEstablishedTimeout = value; } + inline ConnectionTrackingSpecificationRequest& WithTcpEstablishedTimeout(int value) { SetTcpEstablishedTimeout(value); return *this;} + ///@} + + ///@{ + /** + *

                          Timeout for UDP stream connections.

                          + */ + inline int GetUdpStreamTimeout() const { return m_udpStreamTimeout; } + inline bool UdpStreamTimeoutHasBeenSet() const { return m_udpStreamTimeoutHasBeenSet; } + inline void SetUdpStreamTimeout(int value) { m_udpStreamTimeoutHasBeenSet = true; m_udpStreamTimeout = value; } + inline ConnectionTrackingSpecificationRequest& WithUdpStreamTimeout(int value) { SetUdpStreamTimeout(value); return *this;} + ///@} + + ///@{ + /** + *

                          General timeout for UDP connections.

                          + */ + inline int GetUdpTimeout() const { return m_udpTimeout; } + inline bool UdpTimeoutHasBeenSet() const { return m_udpTimeoutHasBeenSet; } + inline void SetUdpTimeout(int value) { m_udpTimeoutHasBeenSet = true; m_udpTimeout = value; } + inline ConnectionTrackingSpecificationRequest& WithUdpTimeout(int value) { SetUdpTimeout(value); return *this;} + ///@} + private: + + int m_tcpEstablishedTimeout{0}; + bool m_tcpEstablishedTimeoutHasBeenSet = false; + + int m_udpStreamTimeout{0}; + bool m_udpStreamTimeoutHasBeenSet = false; + + int m_udpTimeout{0}; + bool m_udpTimeoutHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.h new file mode 100644 index 00000000000..e7063b47cc6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuCreditsEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class CpuCreditsEnum + { + NOT_SET, + standard, + unlimited + }; + +namespace CpuCreditsEnumMapper +{ +AWS_WORKSPACESINSTANCES_API CpuCreditsEnum GetCpuCreditsEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForCpuCreditsEnum(CpuCreditsEnum value); +} // namespace CpuCreditsEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h new file mode 100644 index 00000000000..bf1bb76f2b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CpuOptionsRequest.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures CPU-specific settings for WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          AMD Secure Encrypted Virtualization configuration.

                          + */ + inline AmdSevSnpEnum GetAmdSevSnp() const { return m_amdSevSnp; } + inline bool AmdSevSnpHasBeenSet() const { return m_amdSevSnpHasBeenSet; } + inline void SetAmdSevSnp(AmdSevSnpEnum value) { m_amdSevSnpHasBeenSet = true; m_amdSevSnp = value; } + inline CpuOptionsRequest& WithAmdSevSnp(AmdSevSnpEnum value) { SetAmdSevSnp(value); return *this;} + ///@} + + ///@{ + /** + *

                          Number of CPU cores to allocate.

                          + */ + inline int GetCoreCount() const { return m_coreCount; } + inline bool CoreCountHasBeenSet() const { return m_coreCountHasBeenSet; } + inline void SetCoreCount(int value) { m_coreCountHasBeenSet = true; m_coreCount = value; } + inline CpuOptionsRequest& WithCoreCount(int value) { SetCoreCount(value); return *this;} + ///@} + + ///@{ + /** + *

                          Number of threads per CPU core.

                          + */ + inline int GetThreadsPerCore() const { return m_threadsPerCore; } + inline bool ThreadsPerCoreHasBeenSet() const { return m_threadsPerCoreHasBeenSet; } + inline void SetThreadsPerCore(int value) { m_threadsPerCoreHasBeenSet = true; m_threadsPerCore = value; } + inline CpuOptionsRequest& WithThreadsPerCore(int value) { SetThreadsPerCore(value); return *this;} + ///@} + private: + + AmdSevSnpEnum m_amdSevSnp{AmdSevSnpEnum::NOT_SET}; + bool m_amdSevSnpHasBeenSet = false; + + int m_coreCount{0}; + bool m_coreCountHasBeenSet = false; + + int m_threadsPerCore{0}; + bool m_threadsPerCoreHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h new file mode 100644 index 00000000000..7fc73bdd502 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeRequest.h @@ -0,0 +1,190 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies volume creation parameters.

                          See Also:

                          AWS + * API Reference

                          + */ + class CreateVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API CreateVolumeRequest() = default; + + // 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 "CreateVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Availability zone for the volume.

                          + */ + inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; } + inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } + template + void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward(value); } + template + CreateVolumeRequest& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Unique token to prevent duplicate volume creation.

                          + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateVolumeRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Indicates if the volume should be encrypted.

                          + */ + inline bool GetEncrypted() const { return m_encrypted; } + inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } + inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } + inline CreateVolumeRequest& WithEncrypted(bool value) { SetEncrypted(value); return *this;} + ///@} + + ///@{ + /** + *

                          Input/output operations per second for the volume.

                          + */ + inline int GetIops() const { return m_iops; } + inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } + inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } + inline CreateVolumeRequest& WithIops(int value) { SetIops(value); return *this;} + ///@} + + ///@{ + /** + *

                          KMS key for volume encryption.

                          + */ + inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + template + void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward(value); } + template + CreateVolumeRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Volume size in gigabytes.

                          + */ + inline int GetSizeInGB() const { return m_sizeInGB; } + inline bool SizeInGBHasBeenSet() const { return m_sizeInGBHasBeenSet; } + inline void SetSizeInGB(int value) { m_sizeInGBHasBeenSet = true; m_sizeInGB = value; } + inline CreateVolumeRequest& WithSizeInGB(int value) { SetSizeInGB(value); return *this;} + ///@} + + ///@{ + /** + *

                          Source snapshot for volume creation.

                          + */ + inline const Aws::String& GetSnapshotId() const { return m_snapshotId; } + inline bool SnapshotIdHasBeenSet() const { return m_snapshotIdHasBeenSet; } + template + void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet = true; m_snapshotId = std::forward(value); } + template + CreateVolumeRequest& WithSnapshotId(SnapshotIdT&& value) { SetSnapshotId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Metadata tags for the volume.

                          + */ + inline const Aws::Vector& GetTagSpecifications() const { return m_tagSpecifications; } + inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } + template> + void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward(value); } + template> + CreateVolumeRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward(value)); return *this;} + template + CreateVolumeRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Volume throughput performance.

                          + */ + inline int GetThroughput() const { return m_throughput; } + inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } + inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; } + inline CreateVolumeRequest& WithThroughput(int value) { SetThroughput(value); return *this;} + ///@} + + ///@{ + /** + *

                          Type of EBS volume.

                          + */ + inline VolumeTypeEnum GetVolumeType() const { return m_volumeType; } + inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; } + inline void SetVolumeType(VolumeTypeEnum value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; } + inline CreateVolumeRequest& WithVolumeType(VolumeTypeEnum value) { SetVolumeType(value); return *this;} + ///@} + private: + + Aws::String m_availabilityZone; + bool m_availabilityZoneHasBeenSet = false; + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + bool m_encrypted{false}; + bool m_encryptedHasBeenSet = false; + + int m_iops{0}; + bool m_iopsHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + int m_sizeInGB{0}; + bool m_sizeInGBHasBeenSet = false; + + Aws::String m_snapshotId; + bool m_snapshotIdHasBeenSet = false; + + Aws::Vector m_tagSpecifications; + bool m_tagSpecificationsHasBeenSet = false; + + int m_throughput{0}; + bool m_throughputHasBeenSet = false; + + VolumeTypeEnum m_volumeType{VolumeTypeEnum::NOT_SET}; + bool m_volumeTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.h new file mode 100644 index 00000000000..b43d0e3208c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateVolumeResult.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 +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Returns the created volume identifier.

                          See Also:

                          AWS + * API Reference

                          + */ + class CreateVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API CreateVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API CreateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API CreateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Unique identifier for the new volume.

                          + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + CreateVolumeResult& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h new file mode 100644 index 00000000000..62c8157d74e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceRequest.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines the configuration parameters for creating a new WorkSpaces + * Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + class CreateWorkspaceInstanceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceRequest() = default; + + // 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 "CreateWorkspaceInstance"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Unique token to ensure idempotent instance creation, preventing duplicate + * workspace launches.

                          + */ + inline const Aws::String& GetClientToken() const { return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + template + void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward(value); } + template + CreateWorkspaceInstanceRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Optional metadata tags for categorizing and managing WorkSpaces + * Instances.

                          + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + CreateWorkspaceInstanceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + CreateWorkspaceInstanceRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Comprehensive configuration settings for the WorkSpaces Instance, including + * network, compute, and storage parameters.

                          + */ + inline const ManagedInstanceRequest& GetManagedInstance() const { return m_managedInstance; } + inline bool ManagedInstanceHasBeenSet() const { return m_managedInstanceHasBeenSet; } + template + void SetManagedInstance(ManagedInstanceT&& value) { m_managedInstanceHasBeenSet = true; m_managedInstance = std::forward(value); } + template + CreateWorkspaceInstanceRequest& WithManagedInstance(ManagedInstanceT&& value) { SetManagedInstance(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_clientToken{Aws::Utils::UUID::PseudoRandomUUID()}; + bool m_clientTokenHasBeenSet = true; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + + ManagedInstanceRequest m_managedInstance; + bool m_managedInstanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h new file mode 100644 index 00000000000..b63ff769dc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreateWorkspaceInstanceResult.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Returns the unique identifier for the newly created WorkSpaces + * Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + class CreateWorkspaceInstanceResult + { + public: + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceResult() = default; + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API CreateWorkspaceInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Unique identifier assigned to the newly created WorkSpaces Instance.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + CreateWorkspaceInstanceResult& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + CreateWorkspaceInstanceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h new file mode 100644 index 00000000000..6d1b9d28d97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/CreditSpecificationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines CPU credit configuration for burstable instances.

                          See + * Also:

                          AWS + * API Reference

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

                          CPU credit specification mode.

                          + */ + inline CpuCreditsEnum GetCpuCredits() const { return m_cpuCredits; } + inline bool CpuCreditsHasBeenSet() const { return m_cpuCreditsHasBeenSet; } + inline void SetCpuCredits(CpuCreditsEnum value) { m_cpuCreditsHasBeenSet = true; m_cpuCredits = value; } + inline CreditSpecificationRequest& WithCpuCredits(CpuCreditsEnum value) { SetCpuCredits(value); return *this;} + ///@} + private: + + CpuCreditsEnum m_cpuCredits{CpuCreditsEnum::NOT_SET}; + bool m_cpuCreditsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.h new file mode 100644 index 00000000000..f5f4eedb8b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeRequest.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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies the volume to delete.

                          See Also:

                          AWS + * API Reference

                          + */ + class DeleteVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API DeleteVolumeRequest() = default; + + // 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 "DeleteVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Identifier of the volume to delete.

                          + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + DeleteVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h new file mode 100644 index 00000000000..7fe1e2519f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteVolumeResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Confirms volume deletion.

                          See Also:

                          AWS + * API Reference

                          + */ + class DeleteVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API DeleteVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API DeleteVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API DeleteVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.h new file mode 100644 index 00000000000..800fb4d66d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceRequest.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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          The WorkSpace to delete

                          See Also:

                          AWS + * API Reference

                          + */ + class DeleteWorkspaceInstanceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceRequest() = default; + + // 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 "DeleteWorkspaceInstance"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Unique identifier of the WorkSpaces Instance targeted for deletion.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + DeleteWorkspaceInstanceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h new file mode 100644 index 00000000000..71848fdd6ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DeleteWorkspaceInstanceResult.h @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Confirms the successful deletion of the specified WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + class DeleteWorkspaceInstanceResult + { + public: + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceResult() = default; + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API DeleteWorkspaceInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DeleteWorkspaceInstanceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.h new file mode 100644 index 00000000000..00ed4794baa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateModeEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class DisassociateModeEnum + { + NOT_SET, + FORCE, + NO_FORCE + }; + +namespace DisassociateModeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API DisassociateModeEnum GetDisassociateModeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForDisassociateModeEnum(DisassociateModeEnum value); +} // namespace DisassociateModeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h new file mode 100644 index 00000000000..86b7abeda29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies volume detachment parameters.

                          See Also:

                          AWS + * API Reference

                          + */ + class DisassociateVolumeRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API DisassociateVolumeRequest() = default; + + // 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 "DisassociateVolume"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          WorkSpace Instance to detach volume from.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + DisassociateVolumeRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Volume to be detached.

                          + */ + inline const Aws::String& GetVolumeId() const { return m_volumeId; } + inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } + template + void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward(value); } + template + DisassociateVolumeRequest& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Device path of volume to detach.

                          + */ + inline const Aws::String& GetDevice() const { return m_device; } + inline bool DeviceHasBeenSet() const { return m_deviceHasBeenSet; } + template + void SetDevice(DeviceT&& value) { m_deviceHasBeenSet = true; m_device = std::forward(value); } + template + DisassociateVolumeRequest& WithDevice(DeviceT&& value) { SetDevice(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Mode for volume detachment.

                          + */ + inline DisassociateModeEnum GetDisassociateMode() const { return m_disassociateMode; } + inline bool DisassociateModeHasBeenSet() const { return m_disassociateModeHasBeenSet; } + inline void SetDisassociateMode(DisassociateModeEnum value) { m_disassociateModeHasBeenSet = true; m_disassociateMode = value; } + inline DisassociateVolumeRequest& WithDisassociateMode(DisassociateModeEnum value) { SetDisassociateMode(value); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::String m_volumeId; + bool m_volumeIdHasBeenSet = false; + + Aws::String m_device; + bool m_deviceHasBeenSet = false; + + DisassociateModeEnum m_disassociateMode{DisassociateModeEnum::NOT_SET}; + bool m_disassociateModeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h new file mode 100644 index 00000000000..7c173b63259 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/DisassociateVolumeResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Confirms volume detachment.

                          See Also:

                          AWS + * API Reference

                          + */ + class DisassociateVolumeResult + { + public: + AWS_WORKSPACESINSTANCES_API DisassociateVolumeResult() = default; + AWS_WORKSPACESINSTANCES_API DisassociateVolumeResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API DisassociateVolumeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + DisassociateVolumeResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h new file mode 100644 index 00000000000..ca20db201dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2InstanceError.h @@ -0,0 +1,90 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Captures detailed error information for EC2 instance + * operations.

                          See Also:

                          AWS + * API Reference

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

                          Unique error code identifying the specific EC2 instance error.

                          + */ + inline const Aws::String& GetEC2ErrorCode() const { return m_eC2ErrorCode; } + inline bool EC2ErrorCodeHasBeenSet() const { return m_eC2ErrorCodeHasBeenSet; } + template + void SetEC2ErrorCode(EC2ErrorCodeT&& value) { m_eC2ErrorCodeHasBeenSet = true; m_eC2ErrorCode = std::forward(value); } + template + EC2InstanceError& WithEC2ErrorCode(EC2ErrorCodeT&& value) { SetEC2ErrorCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Type of exception encountered during EC2 instance operation.

                          + */ + inline const Aws::String& GetEC2ExceptionType() const { return m_eC2ExceptionType; } + inline bool EC2ExceptionTypeHasBeenSet() const { return m_eC2ExceptionTypeHasBeenSet; } + template + void SetEC2ExceptionType(EC2ExceptionTypeT&& value) { m_eC2ExceptionTypeHasBeenSet = true; m_eC2ExceptionType = std::forward(value); } + template + EC2InstanceError& WithEC2ExceptionType(EC2ExceptionTypeT&& value) { SetEC2ExceptionType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Detailed description of the EC2 instance error.

                          + */ + inline const Aws::String& GetEC2ErrorMessage() const { return m_eC2ErrorMessage; } + inline bool EC2ErrorMessageHasBeenSet() const { return m_eC2ErrorMessageHasBeenSet; } + template + void SetEC2ErrorMessage(EC2ErrorMessageT&& value) { m_eC2ErrorMessageHasBeenSet = true; m_eC2ErrorMessage = std::forward(value); } + template + EC2InstanceError& WithEC2ErrorMessage(EC2ErrorMessageT&& value) { SetEC2ErrorMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_eC2ErrorCode; + bool m_eC2ErrorCodeHasBeenSet = false; + + Aws::String m_eC2ExceptionType; + bool m_eC2ExceptionTypeHasBeenSet = false; + + Aws::String m_eC2ErrorMessage; + bool m_eC2ErrorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h new file mode 100644 index 00000000000..4033ca9bad9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EC2ManagedInstance.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Represents an EC2 instance managed by WorkSpaces.

                          See Also:

                          + * AWS + * API Reference

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

                          Unique identifier of the managed EC2 instance.

                          + */ + inline const Aws::String& GetInstanceId() const { return m_instanceId; } + inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } + template + void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward(value); } + template + EC2ManagedInstance& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceId; + bool m_instanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h new file mode 100644 index 00000000000..6f26e4ad5c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EbsBlockDevice.h @@ -0,0 +1,126 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines configuration for an Elastic Block Store volume.

                          See + * Also:

                          AWS + * API Reference

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

                          Type of EBS volume (e.g., gp2, io1).

                          + */ + inline VolumeTypeEnum GetVolumeType() const { return m_volumeType; } + inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; } + inline void SetVolumeType(VolumeTypeEnum value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; } + inline EbsBlockDevice& WithVolumeType(VolumeTypeEnum value) { SetVolumeType(value); return *this;} + ///@} + + ///@{ + /** + *

                          Indicates if the volume is encrypted.

                          + */ + inline bool GetEncrypted() const { return m_encrypted; } + inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } + inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } + inline EbsBlockDevice& WithEncrypted(bool value) { SetEncrypted(value); return *this;} + ///@} + + ///@{ + /** + *

                          KMS key used for volume encryption.

                          + */ + inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; } + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + template + void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward(value); } + template + EbsBlockDevice& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Input/output operations per second for the volume.

                          + */ + inline int GetIops() const { return m_iops; } + inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } + inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } + inline EbsBlockDevice& WithIops(int value) { SetIops(value); return *this;} + ///@} + + ///@{ + /** + *

                          Volume data transfer rate.

                          + */ + inline int GetThroughput() const { return m_throughput; } + inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } + inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; } + inline EbsBlockDevice& WithThroughput(int value) { SetThroughput(value); return *this;} + ///@} + + ///@{ + /** + *

                          Size of the EBS volume in gigabytes.

                          + */ + inline int GetVolumeSize() const { return m_volumeSize; } + inline bool VolumeSizeHasBeenSet() const { return m_volumeSizeHasBeenSet; } + inline void SetVolumeSize(int value) { m_volumeSizeHasBeenSet = true; m_volumeSize = value; } + inline EbsBlockDevice& WithVolumeSize(int value) { SetVolumeSize(value); return *this;} + ///@} + private: + + VolumeTypeEnum m_volumeType{VolumeTypeEnum::NOT_SET}; + bool m_volumeTypeHasBeenSet = false; + + bool m_encrypted{false}; + bool m_encryptedHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + int m_iops{0}; + bool m_iopsHasBeenSet = false; + + int m_throughput{0}; + bool m_throughputHasBeenSet = false; + + int m_volumeSize{0}; + bool m_volumeSizeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h new file mode 100644 index 00000000000..13a052771b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdSpecificationRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) + * configuration.

                          See Also:

                          AWS + * API Reference

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

                          Enables or disables ENA SRD for network performance.

                          + */ + inline bool GetEnaSrdEnabled() const { return m_enaSrdEnabled; } + inline bool EnaSrdEnabledHasBeenSet() const { return m_enaSrdEnabledHasBeenSet; } + inline void SetEnaSrdEnabled(bool value) { m_enaSrdEnabledHasBeenSet = true; m_enaSrdEnabled = value; } + inline EnaSrdSpecificationRequest& WithEnaSrdEnabled(bool value) { SetEnaSrdEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configures UDP-specific ENA SRD settings.

                          + */ + inline const EnaSrdUdpSpecificationRequest& GetEnaSrdUdpSpecification() const { return m_enaSrdUdpSpecification; } + inline bool EnaSrdUdpSpecificationHasBeenSet() const { return m_enaSrdUdpSpecificationHasBeenSet; } + template + void SetEnaSrdUdpSpecification(EnaSrdUdpSpecificationT&& value) { m_enaSrdUdpSpecificationHasBeenSet = true; m_enaSrdUdpSpecification = std::forward(value); } + template + EnaSrdSpecificationRequest& WithEnaSrdUdpSpecification(EnaSrdUdpSpecificationT&& value) { SetEnaSrdUdpSpecification(std::forward(value)); return *this;} + ///@} + private: + + bool m_enaSrdEnabled{false}; + bool m_enaSrdEnabledHasBeenSet = false; + + EnaSrdUdpSpecificationRequest m_enaSrdUdpSpecification; + bool m_enaSrdUdpSpecificationHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h new file mode 100644 index 00000000000..378274adaef --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnaSrdUdpSpecificationRequest.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies UDP configuration for ENA SRD.

                          See Also:

                          AWS + * API Reference

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

                          Enables or disables ENA SRD for UDP traffic.

                          + */ + inline bool GetEnaSrdUdpEnabled() const { return m_enaSrdUdpEnabled; } + inline bool EnaSrdUdpEnabledHasBeenSet() const { return m_enaSrdUdpEnabledHasBeenSet; } + inline void SetEnaSrdUdpEnabled(bool value) { m_enaSrdUdpEnabledHasBeenSet = true; m_enaSrdUdpEnabled = value; } + inline EnaSrdUdpSpecificationRequest& WithEnaSrdUdpEnabled(bool value) { SetEnaSrdUdpEnabled(value); return *this;} + ///@} + private: + + bool m_enaSrdUdpEnabled{false}; + bool m_enaSrdUdpEnabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h new file mode 100644 index 00000000000..3be584bf639 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/EnclaveOptionsRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures AWS Nitro Enclave options for the WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

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

                          Enables or disables AWS Nitro Enclaves for enhanced security.

                          + */ + inline bool GetEnabled() const { return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline EnclaveOptionsRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled{false}; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.h new file mode 100644 index 00000000000..421a9309512 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceRequest.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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Identifies the WorkSpaces Instance to retrieve detailed information + * for.

                          See Also:

                          AWS + * API Reference

                          + */ + class GetWorkspaceInstanceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceRequest() = default; + + // 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 "GetWorkspaceInstance"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Unique identifier of the WorkSpace Instance to retrieve.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + GetWorkspaceInstanceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h new file mode 100644 index 00000000000..27ea936edad --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/GetWorkspaceInstanceResult.h @@ -0,0 +1,134 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Provides comprehensive details about the requested WorkSpaces + * Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + class GetWorkspaceInstanceResult + { + public: + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceResult() = default; + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API GetWorkspaceInstanceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Captures any errors specific to the WorkSpace Instance lifecycle.

                          + */ + inline const Aws::Vector& GetWorkspaceInstanceErrors() const { return m_workspaceInstanceErrors; } + template> + void SetWorkspaceInstanceErrors(WorkspaceInstanceErrorsT&& value) { m_workspaceInstanceErrorsHasBeenSet = true; m_workspaceInstanceErrors = std::forward(value); } + template> + GetWorkspaceInstanceResult& WithWorkspaceInstanceErrors(WorkspaceInstanceErrorsT&& value) { SetWorkspaceInstanceErrors(std::forward(value)); return *this;} + template + GetWorkspaceInstanceResult& AddWorkspaceInstanceErrors(WorkspaceInstanceErrorsT&& value) { m_workspaceInstanceErrorsHasBeenSet = true; m_workspaceInstanceErrors.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Includes any underlying EC2 instance errors encountered.

                          + */ + inline const Aws::Vector& GetEC2InstanceErrors() const { return m_eC2InstanceErrors; } + template> + void SetEC2InstanceErrors(EC2InstanceErrorsT&& value) { m_eC2InstanceErrorsHasBeenSet = true; m_eC2InstanceErrors = std::forward(value); } + template> + GetWorkspaceInstanceResult& WithEC2InstanceErrors(EC2InstanceErrorsT&& value) { SetEC2InstanceErrors(std::forward(value)); return *this;} + template + GetWorkspaceInstanceResult& AddEC2InstanceErrors(EC2InstanceErrorsT&& value) { m_eC2InstanceErrorsHasBeenSet = true; m_eC2InstanceErrors.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Current provisioning state of the WorkSpaces Instance.

                          + */ + inline ProvisionStateEnum GetProvisionState() const { return m_provisionState; } + inline void SetProvisionState(ProvisionStateEnum value) { m_provisionStateHasBeenSet = true; m_provisionState = value; } + inline GetWorkspaceInstanceResult& WithProvisionState(ProvisionStateEnum value) { SetProvisionState(value); return *this;} + ///@} + + ///@{ + /** + *

                          Unique identifier of the retrieved WorkSpaces Instance.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + GetWorkspaceInstanceResult& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Details of the associated EC2 managed instance.

                          + */ + inline const EC2ManagedInstance& GetEC2ManagedInstance() const { return m_eC2ManagedInstance; } + template + void SetEC2ManagedInstance(EC2ManagedInstanceT&& value) { m_eC2ManagedInstanceHasBeenSet = true; m_eC2ManagedInstance = std::forward(value); } + template + GetWorkspaceInstanceResult& WithEC2ManagedInstance(EC2ManagedInstanceT&& value) { SetEC2ManagedInstance(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + GetWorkspaceInstanceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_workspaceInstanceErrors; + bool m_workspaceInstanceErrorsHasBeenSet = false; + + Aws::Vector m_eC2InstanceErrors; + bool m_eC2InstanceErrorsHasBeenSet = false; + + ProvisionStateEnum m_provisionState{ProvisionStateEnum::NOT_SET}; + bool m_provisionStateHasBeenSet = false; + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + EC2ManagedInstance m_eC2ManagedInstance; + bool m_eC2ManagedInstanceHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h new file mode 100644 index 00000000000..a9aa21dfc82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HibernationOptionsRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines hibernation configuration for the WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          Enables or disables instance hibernation capability.

                          + */ + inline bool GetConfigured() const { return m_configured; } + inline bool ConfiguredHasBeenSet() const { return m_configuredHasBeenSet; } + inline void SetConfigured(bool value) { m_configuredHasBeenSet = true; m_configured = value; } + inline HibernationOptionsRequest& WithConfigured(bool value) { SetConfigured(value); return *this;} + ///@} + private: + + bool m_configured{false}; + bool m_configuredHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.h new file mode 100644 index 00000000000..de22911e695 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HostnameTypeEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class HostnameTypeEnum + { + NOT_SET, + ip_name, + resource_name + }; + +namespace HostnameTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API HostnameTypeEnum GetHostnameTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHostnameTypeEnum(HostnameTypeEnum value); +} // namespace HostnameTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.h new file mode 100644 index 00000000000..f8993e29b32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpEndpointEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class HttpEndpointEnum + { + NOT_SET, + enabled, + disabled + }; + +namespace HttpEndpointEnumMapper +{ +AWS_WORKSPACESINSTANCES_API HttpEndpointEnum GetHttpEndpointEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHttpEndpointEnum(HttpEndpointEnum value); +} // namespace HttpEndpointEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.h new file mode 100644 index 00000000000..1cee3659655 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpProtocolIpv6Enum.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 WorkspacesInstances +{ +namespace Model +{ + enum class HttpProtocolIpv6Enum + { + NOT_SET, + enabled, + disabled + }; + +namespace HttpProtocolIpv6EnumMapper +{ +AWS_WORKSPACESINSTANCES_API HttpProtocolIpv6Enum GetHttpProtocolIpv6EnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHttpProtocolIpv6Enum(HttpProtocolIpv6Enum value); +} // namespace HttpProtocolIpv6EnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.h new file mode 100644 index 00000000000..5c1029a5ab6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/HttpTokensEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class HttpTokensEnum + { + NOT_SET, + optional, + required + }; + +namespace HttpTokensEnumMapper +{ +AWS_WORKSPACESINSTANCES_API HttpTokensEnum GetHttpTokensEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForHttpTokensEnum(HttpTokensEnum value); +} // namespace HttpTokensEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h new file mode 100644 index 00000000000..8e149456712 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/IamInstanceProfileSpecification.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines IAM instance profile configuration for WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

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

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

                          + */ + inline const Aws::String& GetArn() const { return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + template + void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward(value); } + template + IamInstanceProfileSpecification& WithArn(ArnT&& value) { SetArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Name of the IAM instance profile.

                          + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + IamInstanceProfileSpecification& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.h new file mode 100644 index 00000000000..4ca3f3bb4c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceInterruptionBehaviorEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class InstanceInterruptionBehaviorEnum + { + NOT_SET, + hibernate, + stop + }; + +namespace InstanceInterruptionBehaviorEnumMapper +{ +AWS_WORKSPACESINSTANCES_API InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehaviorEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForInstanceInterruptionBehaviorEnum(InstanceInterruptionBehaviorEnum value); +} // namespace InstanceInterruptionBehaviorEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h new file mode 100644 index 00000000000..25bc7ba11c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceIpv6Address.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Represents an IPv6 address configuration for a WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

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

                          Specific IPv6 address assigned to the instance.

                          + */ + inline const Aws::String& GetIpv6Address() const { return m_ipv6Address; } + inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } + template + void SetIpv6Address(Ipv6AddressT&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::forward(value); } + template + InstanceIpv6Address& WithIpv6Address(Ipv6AddressT&& value) { SetIpv6Address(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Indicates if this is the primary IPv6 address for the instance.

                          + */ + inline bool GetIsPrimaryIpv6() const { return m_isPrimaryIpv6; } + inline bool IsPrimaryIpv6HasBeenSet() const { return m_isPrimaryIpv6HasBeenSet; } + inline void SetIsPrimaryIpv6(bool value) { m_isPrimaryIpv6HasBeenSet = true; m_isPrimaryIpv6 = value; } + inline InstanceIpv6Address& WithIsPrimaryIpv6(bool value) { SetIsPrimaryIpv6(value); return *this;} + ///@} + private: + + Aws::String m_ipv6Address; + bool m_ipv6AddressHasBeenSet = false; + + bool m_isPrimaryIpv6{false}; + bool m_isPrimaryIpv6HasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h new file mode 100644 index 00000000000..4b8641534d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMaintenanceOptionsRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures automatic maintenance settings for WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

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

                          Enables or disables automatic instance recovery.

                          + */ + inline AutoRecoveryEnum GetAutoRecovery() const { return m_autoRecovery; } + inline bool AutoRecoveryHasBeenSet() const { return m_autoRecoveryHasBeenSet; } + inline void SetAutoRecovery(AutoRecoveryEnum value) { m_autoRecoveryHasBeenSet = true; m_autoRecovery = value; } + inline InstanceMaintenanceOptionsRequest& WithAutoRecovery(AutoRecoveryEnum value) { SetAutoRecovery(value); return *this;} + ///@} + private: + + AutoRecoveryEnum m_autoRecovery{AutoRecoveryEnum::NOT_SET}; + bool m_autoRecoveryHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.h new file mode 100644 index 00000000000..ca869b0c7ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMarketOptionsRequest.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 Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures marketplace-specific instance deployment options.

                          See + * Also:

                          AWS + * API Reference

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

                          Specifies the type of marketplace for instance deployment.

                          + */ + inline MarketTypeEnum GetMarketType() const { return m_marketType; } + inline bool MarketTypeHasBeenSet() const { return m_marketTypeHasBeenSet; } + inline void SetMarketType(MarketTypeEnum value) { m_marketTypeHasBeenSet = true; m_marketType = value; } + inline InstanceMarketOptionsRequest& WithMarketType(MarketTypeEnum value) { SetMarketType(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configuration options for spot instance deployment.

                          + */ + inline const SpotMarketOptions& GetSpotOptions() const { return m_spotOptions; } + inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } + template + void SetSpotOptions(SpotOptionsT&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::forward(value); } + template + InstanceMarketOptionsRequest& WithSpotOptions(SpotOptionsT&& value) { SetSpotOptions(std::forward(value)); return *this;} + ///@} + private: + + MarketTypeEnum m_marketType{MarketTypeEnum::NOT_SET}; + bool m_marketTypeHasBeenSet = false; + + SpotMarketOptions m_spotOptions; + bool m_spotOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h new file mode 100644 index 00000000000..336579929ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataOptionsRequest.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines instance metadata service configuration.

                          See Also:

                          + * AWS + * API Reference

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

                          Enables or disables HTTP endpoint for instance metadata.

                          + */ + inline HttpEndpointEnum GetHttpEndpoint() const { return m_httpEndpoint; } + inline bool HttpEndpointHasBeenSet() const { return m_httpEndpointHasBeenSet; } + inline void SetHttpEndpoint(HttpEndpointEnum value) { m_httpEndpointHasBeenSet = true; m_httpEndpoint = value; } + inline InstanceMetadataOptionsRequest& WithHttpEndpoint(HttpEndpointEnum value) { SetHttpEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configures IPv6 support for instance metadata HTTP protocol.

                          + */ + inline HttpProtocolIpv6Enum GetHttpProtocolIpv6() const { return m_httpProtocolIpv6; } + inline bool HttpProtocolIpv6HasBeenSet() const { return m_httpProtocolIpv6HasBeenSet; } + inline void SetHttpProtocolIpv6(HttpProtocolIpv6Enum value) { m_httpProtocolIpv6HasBeenSet = true; m_httpProtocolIpv6 = value; } + inline InstanceMetadataOptionsRequest& WithHttpProtocolIpv6(HttpProtocolIpv6Enum value) { SetHttpProtocolIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

                          Sets maximum number of network hops for metadata PUT responses.

                          + */ + inline int GetHttpPutResponseHopLimit() const { return m_httpPutResponseHopLimit; } + inline bool HttpPutResponseHopLimitHasBeenSet() const { return m_httpPutResponseHopLimitHasBeenSet; } + inline void SetHttpPutResponseHopLimit(int value) { m_httpPutResponseHopLimitHasBeenSet = true; m_httpPutResponseHopLimit = value; } + inline InstanceMetadataOptionsRequest& WithHttpPutResponseHopLimit(int value) { SetHttpPutResponseHopLimit(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configures token requirement for instance metadata retrieval.

                          + */ + inline HttpTokensEnum GetHttpTokens() const { return m_httpTokens; } + inline bool HttpTokensHasBeenSet() const { return m_httpTokensHasBeenSet; } + inline void SetHttpTokens(HttpTokensEnum value) { m_httpTokensHasBeenSet = true; m_httpTokens = value; } + inline InstanceMetadataOptionsRequest& WithHttpTokens(HttpTokensEnum value) { SetHttpTokens(value); return *this;} + ///@} + + ///@{ + /** + *

                          Enables or disables instance metadata tags retrieval.

                          + */ + inline InstanceMetadataTagsEnum GetInstanceMetadataTags() const { return m_instanceMetadataTags; } + inline bool InstanceMetadataTagsHasBeenSet() const { return m_instanceMetadataTagsHasBeenSet; } + inline void SetInstanceMetadataTags(InstanceMetadataTagsEnum value) { m_instanceMetadataTagsHasBeenSet = true; m_instanceMetadataTags = value; } + inline InstanceMetadataOptionsRequest& WithInstanceMetadataTags(InstanceMetadataTagsEnum value) { SetInstanceMetadataTags(value); return *this;} + ///@} + private: + + HttpEndpointEnum m_httpEndpoint{HttpEndpointEnum::NOT_SET}; + bool m_httpEndpointHasBeenSet = false; + + HttpProtocolIpv6Enum m_httpProtocolIpv6{HttpProtocolIpv6Enum::NOT_SET}; + bool m_httpProtocolIpv6HasBeenSet = false; + + int m_httpPutResponseHopLimit{0}; + bool m_httpPutResponseHopLimitHasBeenSet = false; + + HttpTokensEnum m_httpTokens{HttpTokensEnum::NOT_SET}; + bool m_httpTokensHasBeenSet = false; + + InstanceMetadataTagsEnum m_instanceMetadataTags{InstanceMetadataTagsEnum::NOT_SET}; + bool m_instanceMetadataTagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.h new file mode 100644 index 00000000000..1ecf57835df --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceMetadataTagsEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class InstanceMetadataTagsEnum + { + NOT_SET, + enabled, + disabled + }; + +namespace InstanceMetadataTagsEnumMapper +{ +AWS_WORKSPACESINSTANCES_API InstanceMetadataTagsEnum GetInstanceMetadataTagsEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForInstanceMetadataTagsEnum(InstanceMetadataTagsEnum value); +} // namespace InstanceMetadataTagsEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h new file mode 100644 index 00000000000..42b3457a287 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkInterfaceSpecification.h @@ -0,0 +1,358 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines network interface configuration for WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          Enables carrier IP address association.

                          + */ + inline bool GetAssociateCarrierIpAddress() const { return m_associateCarrierIpAddress; } + inline bool AssociateCarrierIpAddressHasBeenSet() const { return m_associateCarrierIpAddressHasBeenSet; } + inline void SetAssociateCarrierIpAddress(bool value) { m_associateCarrierIpAddressHasBeenSet = true; m_associateCarrierIpAddress = value; } + inline InstanceNetworkInterfaceSpecification& WithAssociateCarrierIpAddress(bool value) { SetAssociateCarrierIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

                          Enables public IP address assignment.

                          + */ + inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; } + inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; } + inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; } + inline InstanceNetworkInterfaceSpecification& WithAssociatePublicIpAddress(bool value) { SetAssociatePublicIpAddress(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configures network connection tracking parameters.

                          + */ + inline const ConnectionTrackingSpecificationRequest& GetConnectionTrackingSpecification() const { return m_connectionTrackingSpecification; } + inline bool ConnectionTrackingSpecificationHasBeenSet() const { return m_connectionTrackingSpecificationHasBeenSet; } + template + void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { m_connectionTrackingSpecificationHasBeenSet = true; m_connectionTrackingSpecification = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { SetConnectionTrackingSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Descriptive text for the network interface.

                          + */ + inline const Aws::String& GetDescription() const { return m_description; } + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + template + void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithDescription(DescriptionT&& value) { SetDescription(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Unique index for the network interface.

                          + */ + inline int GetDeviceIndex() const { return m_deviceIndex; } + inline bool DeviceIndexHasBeenSet() const { return m_deviceIndexHasBeenSet; } + inline void SetDeviceIndex(int value) { m_deviceIndexHasBeenSet = true; m_deviceIndex = value; } + inline InstanceNetworkInterfaceSpecification& WithDeviceIndex(int value) { SetDeviceIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configures Elastic Network Adapter Scalable Reliable Datagram settings.

                          + */ + inline const EnaSrdSpecificationRequest& GetEnaSrdSpecification() const { return m_enaSrdSpecification; } + inline bool EnaSrdSpecificationHasBeenSet() const { return m_enaSrdSpecificationHasBeenSet; } + template + void SetEnaSrdSpecification(EnaSrdSpecificationT&& value) { m_enaSrdSpecificationHasBeenSet = true; m_enaSrdSpecification = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithEnaSrdSpecification(EnaSrdSpecificationT&& value) { SetEnaSrdSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies the type of network interface.

                          + */ + inline InterfaceTypeEnum GetInterfaceType() const { return m_interfaceType; } + inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } + inline void SetInterfaceType(InterfaceTypeEnum value) { m_interfaceTypeHasBeenSet = true; m_interfaceType = value; } + inline InstanceNetworkInterfaceSpecification& WithInterfaceType(InterfaceTypeEnum value) { SetInterfaceType(value); return *this;} + ///@} + + ///@{ + /** + *

                          IPv4 prefix configurations for the interface.

                          + */ + inline const Aws::Vector& GetIpv4Prefixes() const { return m_ipv4Prefixes; } + inline bool Ipv4PrefixesHasBeenSet() const { return m_ipv4PrefixesHasBeenSet; } + template> + void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithIpv4Prefixes(Ipv4PrefixesT&& value) { SetIpv4Prefixes(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet = true; m_ipv4Prefixes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Number of IPv4 prefixes to assign.

                          + */ + inline int GetIpv4PrefixCount() const { return m_ipv4PrefixCount; } + inline bool Ipv4PrefixCountHasBeenSet() const { return m_ipv4PrefixCountHasBeenSet; } + inline void SetIpv4PrefixCount(int value) { m_ipv4PrefixCountHasBeenSet = true; m_ipv4PrefixCount = value; } + inline InstanceNetworkInterfaceSpecification& WithIpv4PrefixCount(int value) { SetIpv4PrefixCount(value); return *this;} + ///@} + + ///@{ + /** + *

                          Number of IPv6 addresses to assign.

                          + */ + inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; } + inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; } + inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; } + inline InstanceNetworkInterfaceSpecification& WithIpv6AddressCount(int value) { SetIpv6AddressCount(value); return *this;} + ///@} + + ///@{ + /** + *

                          Specific IPv6 addresses for the interface.

                          + */ + inline const Aws::Vector& GetIpv6Addresses() const { return m_ipv6Addresses; } + inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } + template> + void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          IPv6 prefix configurations for the interface.

                          + */ + inline const Aws::Vector& GetIpv6Prefixes() const { return m_ipv6Prefixes; } + inline bool Ipv6PrefixesHasBeenSet() const { return m_ipv6PrefixesHasBeenSet; } + template> + void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithIpv6Prefixes(Ipv6PrefixesT&& value) { SetIpv6Prefixes(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet = true; m_ipv6Prefixes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Number of IPv6 prefixes to assign.

                          + */ + inline int GetIpv6PrefixCount() const { return m_ipv6PrefixCount; } + inline bool Ipv6PrefixCountHasBeenSet() const { return m_ipv6PrefixCountHasBeenSet; } + inline void SetIpv6PrefixCount(int value) { m_ipv6PrefixCountHasBeenSet = true; m_ipv6PrefixCount = value; } + inline InstanceNetworkInterfaceSpecification& WithIpv6PrefixCount(int value) { SetIpv6PrefixCount(value); return *this;} + ///@} + + ///@{ + /** + *

                          Index of the network card for multiple network interfaces.

                          + */ + inline int GetNetworkCardIndex() const { return m_networkCardIndex; } + inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; } + inline void SetNetworkCardIndex(int value) { m_networkCardIndexHasBeenSet = true; m_networkCardIndex = value; } + inline InstanceNetworkInterfaceSpecification& WithNetworkCardIndex(int value) { SetNetworkCardIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                          Unique identifier for the network interface.

                          + */ + inline const Aws::String& GetNetworkInterfaceId() const { return m_networkInterfaceId; } + inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } + template + void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithNetworkInterfaceId(NetworkInterfaceIdT&& value) { SetNetworkInterfaceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Indicates the primary IPv6 configuration.

                          + */ + inline bool GetPrimaryIpv6() const { return m_primaryIpv6; } + inline bool PrimaryIpv6HasBeenSet() const { return m_primaryIpv6HasBeenSet; } + inline void SetPrimaryIpv6(bool value) { m_primaryIpv6HasBeenSet = true; m_primaryIpv6 = value; } + inline InstanceNetworkInterfaceSpecification& WithPrimaryIpv6(bool value) { SetPrimaryIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

                          Primary private IP address for the interface.

                          + */ + inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + template + void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          List of private IP addresses for the interface.

                          + */ + inline const Aws::Vector& GetPrivateIpAddresses() const { return m_privateIpAddresses; } + inline bool PrivateIpAddressesHasBeenSet() const { return m_privateIpAddressesHasBeenSet; } + template> + void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithPrivateIpAddresses(PrivateIpAddressesT&& value) { SetPrivateIpAddresses(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet = true; m_privateIpAddresses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Number of additional private IP addresses to assign.

                          + */ + inline int GetSecondaryPrivateIpAddressCount() const { return m_secondaryPrivateIpAddressCount; } + inline bool SecondaryPrivateIpAddressCountHasBeenSet() const { return m_secondaryPrivateIpAddressCountHasBeenSet; } + inline void SetSecondaryPrivateIpAddressCount(int value) { m_secondaryPrivateIpAddressCountHasBeenSet = true; m_secondaryPrivateIpAddressCount = value; } + inline InstanceNetworkInterfaceSpecification& WithSecondaryPrivateIpAddressCount(int value) { SetSecondaryPrivateIpAddressCount(value); return *this;} + ///@} + + ///@{ + /** + *

                          Security groups associated with the network interface.

                          + */ + inline const Aws::Vector& GetGroups() const { return m_groups; } + inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; } + template> + void SetGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups = std::forward(value); } + template> + InstanceNetworkInterfaceSpecification& WithGroups(GroupsT&& value) { SetGroups(std::forward(value)); return *this;} + template + InstanceNetworkInterfaceSpecification& AddGroups(GroupsT&& value) { m_groupsHasBeenSet = true; m_groups.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Subnet identifier for the network interface.

                          + */ + inline const Aws::String& GetSubnetId() const { return m_subnetId; } + inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } + template + void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward(value); } + template + InstanceNetworkInterfaceSpecification& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward(value)); return *this;} + ///@} + private: + + bool m_associateCarrierIpAddress{false}; + bool m_associateCarrierIpAddressHasBeenSet = false; + + bool m_associatePublicIpAddress{false}; + bool m_associatePublicIpAddressHasBeenSet = false; + + ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification; + bool m_connectionTrackingSpecificationHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + int m_deviceIndex{0}; + bool m_deviceIndexHasBeenSet = false; + + EnaSrdSpecificationRequest m_enaSrdSpecification; + bool m_enaSrdSpecificationHasBeenSet = false; + + InterfaceTypeEnum m_interfaceType{InterfaceTypeEnum::NOT_SET}; + bool m_interfaceTypeHasBeenSet = false; + + Aws::Vector m_ipv4Prefixes; + bool m_ipv4PrefixesHasBeenSet = false; + + int m_ipv4PrefixCount{0}; + bool m_ipv4PrefixCountHasBeenSet = false; + + int m_ipv6AddressCount{0}; + bool m_ipv6AddressCountHasBeenSet = false; + + Aws::Vector m_ipv6Addresses; + bool m_ipv6AddressesHasBeenSet = false; + + Aws::Vector m_ipv6Prefixes; + bool m_ipv6PrefixesHasBeenSet = false; + + int m_ipv6PrefixCount{0}; + bool m_ipv6PrefixCountHasBeenSet = false; + + int m_networkCardIndex{0}; + bool m_networkCardIndexHasBeenSet = false; + + Aws::String m_networkInterfaceId; + bool m_networkInterfaceIdHasBeenSet = false; + + bool m_primaryIpv6{false}; + bool m_primaryIpv6HasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + + Aws::Vector m_privateIpAddresses; + bool m_privateIpAddressesHasBeenSet = false; + + int m_secondaryPrivateIpAddressCount{0}; + bool m_secondaryPrivateIpAddressCountHasBeenSet = false; + + Aws::Vector m_groups; + bool m_groupsHasBeenSet = false; + + Aws::String m_subnetId; + bool m_subnetIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h new file mode 100644 index 00000000000..a3106bf5122 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceNetworkPerformanceOptionsRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures network performance settings for WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          Defines bandwidth allocation strategy for network interfaces.

                          + */ + inline BandwidthWeightingEnum GetBandwidthWeighting() const { return m_bandwidthWeighting; } + inline bool BandwidthWeightingHasBeenSet() const { return m_bandwidthWeightingHasBeenSet; } + inline void SetBandwidthWeighting(BandwidthWeightingEnum value) { m_bandwidthWeightingHasBeenSet = true; m_bandwidthWeighting = value; } + inline InstanceNetworkPerformanceOptionsRequest& WithBandwidthWeighting(BandwidthWeightingEnum value) { SetBandwidthWeighting(value); return *this;} + ///@} + private: + + BandwidthWeightingEnum m_bandwidthWeighting{BandwidthWeightingEnum::NOT_SET}; + bool m_bandwidthWeightingHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h new file mode 100644 index 00000000000..40b1a67ec24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InstanceTypeInfo.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Provides details about a specific WorkSpace Instance type.

                          See + * Also:

                          AWS + * API Reference

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

                          Unique identifier for the WorkSpace Instance type.

                          + */ + inline const Aws::String& GetInstanceType() const { return m_instanceType; } + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + template + void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward(value); } + template + InstanceTypeInfo& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h new file mode 100644 index 00000000000..51851982625 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InterfaceTypeEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class InterfaceTypeEnum + { + NOT_SET, + interface, + efa, + efa_only + }; + +namespace InterfaceTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API InterfaceTypeEnum GetInterfaceTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForInterfaceTypeEnum(InterfaceTypeEnum value); +} // namespace InterfaceTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h new file mode 100644 index 00000000000..5a2b95bd47e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/InternalServerException.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Indicates an unexpected server-side error occurred.

                          See Also:

                          + * AWS + * API Reference

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

                          Description of the internal server error.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + InternalServerException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Recommended wait time before retrying the request.

                          + */ + inline int GetRetryAfterSeconds() const { return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline InternalServerException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + int m_retryAfterSeconds{0}; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h new file mode 100644 index 00000000000..bf47d33e736 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies IPv4 prefix configuration for network interfaces.

                          See + * Also:

                          AWS + * API Reference

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

                          Specific IPv4 prefix for network interface configuration.

                          + */ + inline const Aws::String& GetIpv4Prefix() const { return m_ipv4Prefix; } + inline bool Ipv4PrefixHasBeenSet() const { return m_ipv4PrefixHasBeenSet; } + template + void SetIpv4Prefix(Ipv4PrefixT&& value) { m_ipv4PrefixHasBeenSet = true; m_ipv4Prefix = std::forward(value); } + template + Ipv4PrefixSpecificationRequest& WithIpv4Prefix(Ipv4PrefixT&& value) { SetIpv4Prefix(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ipv4Prefix; + bool m_ipv4PrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h new file mode 100644 index 00000000000..faeb107f691 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies IPv6 prefix configuration for network interfaces.

                          See + * Also:

                          AWS + * API Reference

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

                          Specific IPv6 prefix for network interface configuration.

                          + */ + inline const Aws::String& GetIpv6Prefix() const { return m_ipv6Prefix; } + inline bool Ipv6PrefixHasBeenSet() const { return m_ipv6PrefixHasBeenSet; } + template + void SetIpv6Prefix(Ipv6PrefixT&& value) { m_ipv6PrefixHasBeenSet = true; m_ipv6Prefix = std::forward(value); } + template + Ipv6PrefixSpecificationRequest& WithIpv6Prefix(Ipv6PrefixT&& value) { SetIpv6Prefix(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_ipv6Prefix; + bool m_ipv6PrefixHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h new file mode 100644 index 00000000000..d8cce12d4d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/LicenseConfigurationRequest.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies license configuration for WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          ARN of the license configuration for the WorkSpace Instance.

                          + */ + inline const Aws::String& GetLicenseConfigurationArn() const { return m_licenseConfigurationArn; } + inline bool LicenseConfigurationArnHasBeenSet() const { return m_licenseConfigurationArnHasBeenSet; } + template + void SetLicenseConfigurationArn(LicenseConfigurationArnT&& value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn = std::forward(value); } + template + LicenseConfigurationRequest& WithLicenseConfigurationArn(LicenseConfigurationArnT&& value) { SetLicenseConfigurationArn(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_licenseConfigurationArn; + bool m_licenseConfigurationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h new file mode 100644 index 00000000000..8396589b6cf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines input parameters for retrieving supported WorkSpaces Instances + * instance types.

                          See Also:

                          AWS + * API Reference

                          + */ + class ListInstanceTypesRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListInstanceTypesRequest() = default; + + // 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 "ListInstanceTypes"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Maximum number of instance types to return in a single API call. Enables + * pagination of instance type results.

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

                          Pagination token for retrieving subsequent pages of instance type + * results.

                          + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInstanceTypesRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h new file mode 100644 index 00000000000..361067b73f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListInstanceTypesResult.h @@ -0,0 +1,90 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Contains the list of instance types supported by WorkSpaces + * Instances.

                          See Also:

                          AWS + * API Reference

                          + */ + class ListInstanceTypesResult + { + public: + AWS_WORKSPACESINSTANCES_API ListInstanceTypesResult() = default; + AWS_WORKSPACESINSTANCES_API ListInstanceTypesResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListInstanceTypesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Collection of supported instance types for WorkSpaces Instances.

                          + */ + inline const Aws::Vector& GetInstanceTypes() const { return m_instanceTypes; } + template> + void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet = true; m_instanceTypes = std::forward(value); } + template> + ListInstanceTypesResult& WithInstanceTypes(InstanceTypesT&& value) { SetInstanceTypes(std::forward(value)); return *this;} + template + ListInstanceTypesResult& AddInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet = true; m_instanceTypes.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Token for retrieving additional instance types if the result set is + * paginated.

                          + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListInstanceTypesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListInstanceTypesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_instanceTypes; + bool m_instanceTypesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.h new file mode 100644 index 00000000000..6d6298b65e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsRequest.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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines input parameters for retrieving supported WorkSpaces Instances + * regions.

                          See Also:

                          AWS + * API Reference

                          + */ + class ListRegionsRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListRegionsRequest() = default; + + // 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 "ListRegions"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Maximum number of regions to return in a single API call. Enables pagination + * of region results.

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

                          Pagination token for retrieving subsequent pages of region results.

                          + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListRegionsRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h new file mode 100644 index 00000000000..15a80ebfc58 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListRegionsResult.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Contains the list of supported AWS regions for WorkSpaces + * Instances.

                          See Also:

                          AWS + * API Reference

                          + */ + class ListRegionsResult + { + public: + AWS_WORKSPACESINSTANCES_API ListRegionsResult() = default; + AWS_WORKSPACESINSTANCES_API ListRegionsResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListRegionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Collection of AWS regions supported by WorkSpaces Instances.

                          + */ + inline const Aws::Vector& GetRegions() const { return m_regions; } + template> + void SetRegions(RegionsT&& value) { m_regionsHasBeenSet = true; m_regions = std::forward(value); } + template> + ListRegionsResult& WithRegions(RegionsT&& value) { SetRegions(std::forward(value)); return *this;} + template + ListRegionsResult& AddRegions(RegionsT&& value) { m_regionsHasBeenSet = true; m_regions.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Token for retrieving additional regions if the result set is paginated.

                          + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListRegionsResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListRegionsResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_regions; + bool m_regionsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..3f70d0ae3c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceRequest.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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies the WorkSpace Instance to retrieve tags for.

                          See + * Also:

                          AWS + * API Reference

                          + */ + class ListTagsForResourceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListTagsForResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Unique identifier of the WorkSpace Instance.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + ListTagsForResourceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..4dac53563b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListTagsForResourceResult.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Returns the list of tags for the specified WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

                          + */ + class ListTagsForResourceResult + { + public: + AWS_WORKSPACESINSTANCES_API ListTagsForResourceResult() = default; + AWS_WORKSPACESINSTANCES_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Collection of tags associated with the WorkSpace Instance.

                          + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + ListTagsForResourceResult& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + ListTagsForResourceResult& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListTagsForResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h new file mode 100644 index 00000000000..d624aeba99f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesRequest.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines filters and pagination parameters for retrieving WorkSpaces + * Instances.

                          See Also:

                          AWS + * API Reference

                          + */ + class ListWorkspaceInstancesRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesRequest() = default; + + // 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 "ListWorkspaceInstances"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Filter WorkSpaces Instances by their current provisioning states.

                          + */ + inline const Aws::Vector& GetProvisionStates() const { return m_provisionStates; } + inline bool ProvisionStatesHasBeenSet() const { return m_provisionStatesHasBeenSet; } + template> + void SetProvisionStates(ProvisionStatesT&& value) { m_provisionStatesHasBeenSet = true; m_provisionStates = std::forward(value); } + template> + ListWorkspaceInstancesRequest& WithProvisionStates(ProvisionStatesT&& value) { SetProvisionStates(std::forward(value)); return *this;} + inline ListWorkspaceInstancesRequest& AddProvisionStates(ProvisionStateEnum value) { m_provisionStatesHasBeenSet = true; m_provisionStates.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                          Maximum number of WorkSpaces Instances to return in a single response.

                          + */ + 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 ListWorkspaceInstancesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                          Pagination token for retrieving subsequent pages of WorkSpaces Instances.

                          + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListWorkspaceInstancesRequest& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_provisionStates; + bool m_provisionStatesHasBeenSet = false; + + int m_maxResults{0}; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h new file mode 100644 index 00000000000..b1470761e2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ListWorkspaceInstancesResult.h @@ -0,0 +1,90 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Contains the list of WorkSpaces Instances matching the specified + * criteria.

                          See Also:

                          AWS + * API Reference

                          + */ + class ListWorkspaceInstancesResult + { + public: + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesResult() = default; + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API ListWorkspaceInstancesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                          Collection of WorkSpaces Instances returned by the query.

                          + */ + inline const Aws::Vector& GetWorkspaceInstances() const { return m_workspaceInstances; } + template> + void SetWorkspaceInstances(WorkspaceInstancesT&& value) { m_workspaceInstancesHasBeenSet = true; m_workspaceInstances = std::forward(value); } + template> + ListWorkspaceInstancesResult& WithWorkspaceInstances(WorkspaceInstancesT&& value) { SetWorkspaceInstances(std::forward(value)); return *this;} + template + ListWorkspaceInstancesResult& AddWorkspaceInstances(WorkspaceInstancesT&& value) { m_workspaceInstancesHasBeenSet = true; m_workspaceInstances.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Token for retrieving additional WorkSpaces Instances if the result set is + * paginated.

                          + */ + inline const Aws::String& GetNextToken() const { return m_nextToken; } + template + void SetNextToken(NextTokenT&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::forward(value); } + template + ListWorkspaceInstancesResult& WithNextToken(NextTokenT&& value) { SetNextToken(std::forward(value)); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + ListWorkspaceInstancesResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_workspaceInstances; + bool m_workspaceInstancesHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h new file mode 100644 index 00000000000..10ad0c91969 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ManagedInstanceRequest.h @@ -0,0 +1,550 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines comprehensive configuration for a managed WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

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

                          Configures block device mappings for storage.

                          + */ + inline const Aws::Vector& GetBlockDeviceMappings() const { return m_blockDeviceMappings; } + inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; } + template> + void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward(value); } + template> + ManagedInstanceRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Specifies capacity reservation preferences.

                          + */ + inline const CapacityReservationSpecification& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; } + inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; } + template + void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward(value); } + template + ManagedInstanceRequest& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures CPU-specific settings.

                          + */ + inline const CpuOptionsRequest& GetCpuOptions() const { return m_cpuOptions; } + inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; } + template + void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward(value); } + template + ManagedInstanceRequest& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Defines CPU credit configuration for burstable instances.

                          + */ + inline const CreditSpecificationRequest& GetCreditSpecification() const { return m_creditSpecification; } + inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; } + template + void SetCreditSpecification(CreditSpecificationT&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::forward(value); } + template + ManagedInstanceRequest& WithCreditSpecification(CreditSpecificationT&& value) { SetCreditSpecification(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Prevents API-initiated instance stop.

                          + */ + inline bool GetDisableApiStop() const { return m_disableApiStop; } + inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; } + inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; } + inline ManagedInstanceRequest& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;} + ///@} + + ///@{ + /** + *

                          Enables optimized EBS performance.

                          + */ + inline bool GetEbsOptimized() const { return m_ebsOptimized; } + inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; } + inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; } + inline ManagedInstanceRequest& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;} + ///@} + + ///@{ + /** + *

                          Enables primary IPv6 address configuration.

                          + */ + inline bool GetEnablePrimaryIpv6() const { return m_enablePrimaryIpv6; } + inline bool EnablePrimaryIpv6HasBeenSet() const { return m_enablePrimaryIpv6HasBeenSet; } + inline void SetEnablePrimaryIpv6(bool value) { m_enablePrimaryIpv6HasBeenSet = true; m_enablePrimaryIpv6 = value; } + inline ManagedInstanceRequest& WithEnablePrimaryIpv6(bool value) { SetEnablePrimaryIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

                          Configures AWS Nitro Enclave settings.

                          + */ + inline const EnclaveOptionsRequest& GetEnclaveOptions() const { return m_enclaveOptions; } + inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; } + template + void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::forward(value); } + template + ManagedInstanceRequest& WithEnclaveOptions(EnclaveOptionsT&& value) { SetEnclaveOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures instance hibernation capabilities.

                          + */ + inline const HibernationOptionsRequest& GetHibernationOptions() const { return m_hibernationOptions; } + inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; } + template + void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::forward(value); } + template + ManagedInstanceRequest& WithHibernationOptions(HibernationOptionsT&& value) { SetHibernationOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies IAM instance profile configuration.

                          + */ + inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; } + inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } + template + void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward(value); } + template + ManagedInstanceRequest& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifies the Amazon Machine Image (AMI) for the instance.

                          + */ + inline const Aws::String& GetImageId() const { return m_imageId; } + inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } + template + void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward(value); } + template + ManagedInstanceRequest& WithImageId(ImageIdT&& value) { SetImageId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures marketplace-specific deployment options.

                          + */ + inline const InstanceMarketOptionsRequest& GetInstanceMarketOptions() const { return m_instanceMarketOptions; } + inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; } + template + void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::forward(value); } + template + ManagedInstanceRequest& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) { SetInstanceMarketOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies the WorkSpace Instance type.

                          + */ + inline const Aws::String& GetInstanceType() const { return m_instanceType; } + inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } + template + void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward(value); } + template + ManagedInstanceRequest& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures specific IPv6 addresses.

                          + */ + inline const Aws::Vector& GetIpv6Addresses() const { return m_ipv6Addresses; } + inline bool Ipv6AddressesHasBeenSet() const { return m_ipv6AddressesHasBeenSet; } + template> + void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses = std::forward(value); } + template> + ManagedInstanceRequest& WithIpv6Addresses(Ipv6AddressesT&& value) { SetIpv6Addresses(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet = true; m_ipv6Addresses.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Specifies number of IPv6 addresses to assign.

                          + */ + inline int GetIpv6AddressCount() const { return m_ipv6AddressCount; } + inline bool Ipv6AddressCountHasBeenSet() const { return m_ipv6AddressCountHasBeenSet; } + inline void SetIpv6AddressCount(int value) { m_ipv6AddressCountHasBeenSet = true; m_ipv6AddressCount = value; } + inline ManagedInstanceRequest& WithIpv6AddressCount(int value) { SetIpv6AddressCount(value); return *this;} + ///@} + + ///@{ + /** + *

                          Identifies the kernel for the instance.

                          + */ + inline const Aws::String& GetKernelId() const { return m_kernelId; } + inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; } + template + void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward(value); } + template + ManagedInstanceRequest& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies the key pair for instance access.

                          + */ + inline const Aws::String& GetKeyName() const { return m_keyName; } + inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } + template + void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward(value); } + template + ManagedInstanceRequest& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures license-related settings.

                          + */ + inline const Aws::Vector& GetLicenseSpecifications() const { return m_licenseSpecifications; } + inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; } + template> + void SetLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = std::forward(value); } + template> + ManagedInstanceRequest& WithLicenseSpecifications(LicenseSpecificationsT&& value) { SetLicenseSpecifications(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Defines automatic maintenance settings.

                          + */ + inline const InstanceMaintenanceOptionsRequest& GetMaintenanceOptions() const { return m_maintenanceOptions; } + inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; } + template + void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::forward(value); } + template + ManagedInstanceRequest& WithMaintenanceOptions(MaintenanceOptionsT&& value) { SetMaintenanceOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures instance metadata service settings.

                          + */ + inline const InstanceMetadataOptionsRequest& GetMetadataOptions() const { return m_metadataOptions; } + inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; } + template + void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward(value); } + template + ManagedInstanceRequest& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Enables or disables detailed instance monitoring.

                          + */ + inline const RunInstancesMonitoringEnabled& GetMonitoring() const { return m_monitoring; } + inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; } + template + void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward(value); } + template + ManagedInstanceRequest& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures network interface settings.

                          + */ + inline const Aws::Vector& GetNetworkInterfaces() const { return m_networkInterfaces; } + inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } + template> + void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward(value); } + template> + ManagedInstanceRequest& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Defines network performance configuration.

                          + */ + inline const InstanceNetworkPerformanceOptionsRequest& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; } + inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; } + template + void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { m_networkPerformanceOptionsHasBeenSet = true; m_networkPerformanceOptions = std::forward(value); } + template + ManagedInstanceRequest& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { SetNetworkPerformanceOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies instance placement preferences.

                          + */ + inline const Placement& GetPlacement() const { return m_placement; } + inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; } + template + void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward(value); } + template + ManagedInstanceRequest& WithPlacement(PlacementT&& value) { SetPlacement(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures private DNS name settings.

                          + */ + inline const PrivateDnsNameOptionsRequest& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; } + inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; } + template + void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::forward(value); } + template + ManagedInstanceRequest& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { SetPrivateDnsNameOptions(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies the primary private IP address.

                          + */ + inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + template + void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward(value); } + template + ManagedInstanceRequest& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifies the ramdisk for the instance.

                          + */ + inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; } + inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; } + template + void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward(value); } + template + ManagedInstanceRequest& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies security group identifiers.

                          + */ + inline const Aws::Vector& GetSecurityGroupIds() const { return m_securityGroupIds; } + inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } + template> + void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward(value); } + template> + ManagedInstanceRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Configures security group settings.

                          + */ + inline const Aws::Vector& GetSecurityGroups() const { return m_securityGroups; } + inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } + template> + void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward(value); } + template> + ManagedInstanceRequest& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Identifies the subnet for the instance.

                          + */ + inline const Aws::String& GetSubnetId() const { return m_subnetId; } + inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } + template + void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward(value); } + template + ManagedInstanceRequest& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Configures resource tagging specifications.

                          + */ + inline const Aws::Vector& GetTagSpecifications() const { return m_tagSpecifications; } + inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } + template> + void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward(value); } + template> + ManagedInstanceRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward(value)); return *this;} + template + ManagedInstanceRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward(value)); return *this; } + ///@} + + ///@{ + /** + *

                          Provides custom initialization data for the instance.

                          + */ + inline const Aws::String& GetUserData() const { return m_userData; } + inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; } + template + void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward(value); } + template + ManagedInstanceRequest& WithUserData(UserDataT&& value) { SetUserData(std::forward(value)); return *this;} + ///@} + private: + + Aws::Vector m_blockDeviceMappings; + bool m_blockDeviceMappingsHasBeenSet = false; + + CapacityReservationSpecification m_capacityReservationSpecification; + bool m_capacityReservationSpecificationHasBeenSet = false; + + CpuOptionsRequest m_cpuOptions; + bool m_cpuOptionsHasBeenSet = false; + + CreditSpecificationRequest m_creditSpecification; + bool m_creditSpecificationHasBeenSet = false; + + bool m_disableApiStop{false}; + bool m_disableApiStopHasBeenSet = false; + + bool m_ebsOptimized{false}; + bool m_ebsOptimizedHasBeenSet = false; + + bool m_enablePrimaryIpv6{false}; + bool m_enablePrimaryIpv6HasBeenSet = false; + + EnclaveOptionsRequest m_enclaveOptions; + bool m_enclaveOptionsHasBeenSet = false; + + HibernationOptionsRequest m_hibernationOptions; + bool m_hibernationOptionsHasBeenSet = false; + + IamInstanceProfileSpecification m_iamInstanceProfile; + bool m_iamInstanceProfileHasBeenSet = false; + + Aws::String m_imageId; + bool m_imageIdHasBeenSet = false; + + InstanceMarketOptionsRequest m_instanceMarketOptions; + bool m_instanceMarketOptionsHasBeenSet = false; + + Aws::String m_instanceType; + bool m_instanceTypeHasBeenSet = false; + + Aws::Vector m_ipv6Addresses; + bool m_ipv6AddressesHasBeenSet = false; + + int m_ipv6AddressCount{0}; + bool m_ipv6AddressCountHasBeenSet = false; + + Aws::String m_kernelId; + bool m_kernelIdHasBeenSet = false; + + Aws::String m_keyName; + bool m_keyNameHasBeenSet = false; + + Aws::Vector m_licenseSpecifications; + bool m_licenseSpecificationsHasBeenSet = false; + + InstanceMaintenanceOptionsRequest m_maintenanceOptions; + bool m_maintenanceOptionsHasBeenSet = false; + + InstanceMetadataOptionsRequest m_metadataOptions; + bool m_metadataOptionsHasBeenSet = false; + + RunInstancesMonitoringEnabled m_monitoring; + bool m_monitoringHasBeenSet = false; + + Aws::Vector m_networkInterfaces; + bool m_networkInterfacesHasBeenSet = false; + + InstanceNetworkPerformanceOptionsRequest m_networkPerformanceOptions; + bool m_networkPerformanceOptionsHasBeenSet = false; + + Placement m_placement; + bool m_placementHasBeenSet = false; + + PrivateDnsNameOptionsRequest m_privateDnsNameOptions; + bool m_privateDnsNameOptionsHasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + + Aws::String m_ramdiskId; + bool m_ramdiskIdHasBeenSet = false; + + Aws::Vector m_securityGroupIds; + bool m_securityGroupIdsHasBeenSet = false; + + Aws::Vector m_securityGroups; + bool m_securityGroupsHasBeenSet = false; + + Aws::String m_subnetId; + bool m_subnetIdHasBeenSet = false; + + Aws::Vector m_tagSpecifications; + bool m_tagSpecificationsHasBeenSet = false; + + Aws::String m_userData; + bool m_userDataHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.h new file mode 100644 index 00000000000..d69f19ddbee --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/MarketTypeEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class MarketTypeEnum + { + NOT_SET, + spot, + capacity_block + }; + +namespace MarketTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API MarketTypeEnum GetMarketTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForMarketTypeEnum(MarketTypeEnum value); +} // namespace MarketTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h new file mode 100644 index 00000000000..9e91f6245b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Placement.h @@ -0,0 +1,162 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines instance placement configuration for WorkSpace + * Instance.

                          See Also:

                          AWS + * API Reference

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

                          Specifies host affinity for dedicated instances.

                          + */ + inline const Aws::String& GetAffinity() const { return m_affinity; } + inline bool AffinityHasBeenSet() const { return m_affinityHasBeenSet; } + template + void SetAffinity(AffinityT&& value) { m_affinityHasBeenSet = true; m_affinity = std::forward(value); } + template + Placement& WithAffinity(AffinityT&& value) { SetAffinity(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifies the specific AWS availability zone.

                          + */ + inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; } + inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } + template + void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward(value); } + template + Placement& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Unique identifier for placement group.

                          + */ + inline const Aws::String& GetGroupId() const { return m_groupId; } + inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } + template + void SetGroupId(GroupIdT&& value) { m_groupIdHasBeenSet = true; m_groupId = std::forward(value); } + template + Placement& WithGroupId(GroupIdT&& value) { SetGroupId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Name of the placement group.

                          + */ + inline const Aws::String& GetGroupName() const { return m_groupName; } + inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } + template + void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet = true; m_groupName = std::forward(value); } + template + Placement& WithGroupName(GroupNameT&& value) { SetGroupName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifies the specific dedicated host.

                          + */ + inline const Aws::String& GetHostId() const { return m_hostId; } + inline bool HostIdHasBeenSet() const { return m_hostIdHasBeenSet; } + template + void SetHostId(HostIdT&& value) { m_hostIdHasBeenSet = true; m_hostId = std::forward(value); } + template + Placement& WithHostId(HostIdT&& value) { SetHostId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          ARN of the host resource group.

                          + */ + inline const Aws::String& GetHostResourceGroupArn() const { return m_hostResourceGroupArn; } + inline bool HostResourceGroupArnHasBeenSet() const { return m_hostResourceGroupArnHasBeenSet; } + template + void SetHostResourceGroupArn(HostResourceGroupArnT&& value) { m_hostResourceGroupArnHasBeenSet = true; m_hostResourceGroupArn = std::forward(value); } + template + Placement& WithHostResourceGroupArn(HostResourceGroupArnT&& value) { SetHostResourceGroupArn(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies partition number for partition placement groups.

                          + */ + inline int GetPartitionNumber() const { return m_partitionNumber; } + inline bool PartitionNumberHasBeenSet() const { return m_partitionNumberHasBeenSet; } + inline void SetPartitionNumber(int value) { m_partitionNumberHasBeenSet = true; m_partitionNumber = value; } + inline Placement& WithPartitionNumber(int value) { SetPartitionNumber(value); return *this;} + ///@} + + ///@{ + /** + *

                          Defines instance tenancy configuration.

                          + */ + inline TenancyEnum GetTenancy() const { return m_tenancy; } + inline bool TenancyHasBeenSet() const { return m_tenancyHasBeenSet; } + inline void SetTenancy(TenancyEnum value) { m_tenancyHasBeenSet = true; m_tenancy = value; } + inline Placement& WithTenancy(TenancyEnum value) { SetTenancy(value); return *this;} + ///@} + private: + + Aws::String m_affinity; + bool m_affinityHasBeenSet = false; + + Aws::String m_availabilityZone; + bool m_availabilityZoneHasBeenSet = false; + + Aws::String m_groupId; + bool m_groupIdHasBeenSet = false; + + Aws::String m_groupName; + bool m_groupNameHasBeenSet = false; + + Aws::String m_hostId; + bool m_hostIdHasBeenSet = false; + + Aws::String m_hostResourceGroupArn; + bool m_hostResourceGroupArnHasBeenSet = false; + + int m_partitionNumber{0}; + bool m_partitionNumberHasBeenSet = false; + + TenancyEnum m_tenancy{TenancyEnum::NOT_SET}; + bool m_tenancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h new file mode 100644 index 00000000000..1bee0adde2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateDnsNameOptionsRequest.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures private DNS name settings for WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          Specifies the type of hostname configuration.

                          + */ + inline HostnameTypeEnum GetHostnameType() const { return m_hostnameType; } + inline bool HostnameTypeHasBeenSet() const { return m_hostnameTypeHasBeenSet; } + inline void SetHostnameType(HostnameTypeEnum value) { m_hostnameTypeHasBeenSet = true; m_hostnameType = value; } + inline PrivateDnsNameOptionsRequest& WithHostnameType(HostnameTypeEnum value) { SetHostnameType(value); return *this;} + ///@} + + ///@{ + /** + *

                          Enables DNS A record for resource name resolution.

                          + */ + inline bool GetEnableResourceNameDnsARecord() const { return m_enableResourceNameDnsARecord; } + inline bool EnableResourceNameDnsARecordHasBeenSet() const { return m_enableResourceNameDnsARecordHasBeenSet; } + inline void SetEnableResourceNameDnsARecord(bool value) { m_enableResourceNameDnsARecordHasBeenSet = true; m_enableResourceNameDnsARecord = value; } + inline PrivateDnsNameOptionsRequest& WithEnableResourceNameDnsARecord(bool value) { SetEnableResourceNameDnsARecord(value); return *this;} + ///@} + + ///@{ + /** + *

                          Enables DNS AAAA record for resource name resolution.

                          + */ + inline bool GetEnableResourceNameDnsAAAARecord() const { return m_enableResourceNameDnsAAAARecord; } + inline bool EnableResourceNameDnsAAAARecordHasBeenSet() const { return m_enableResourceNameDnsAAAARecordHasBeenSet; } + inline void SetEnableResourceNameDnsAAAARecord(bool value) { m_enableResourceNameDnsAAAARecordHasBeenSet = true; m_enableResourceNameDnsAAAARecord = value; } + inline PrivateDnsNameOptionsRequest& WithEnableResourceNameDnsAAAARecord(bool value) { SetEnableResourceNameDnsAAAARecord(value); return *this;} + ///@} + private: + + HostnameTypeEnum m_hostnameType{HostnameTypeEnum::NOT_SET}; + bool m_hostnameTypeHasBeenSet = false; + + bool m_enableResourceNameDnsARecord{false}; + bool m_enableResourceNameDnsARecordHasBeenSet = false; + + bool m_enableResourceNameDnsAAAARecord{false}; + bool m_enableResourceNameDnsAAAARecordHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h new file mode 100644 index 00000000000..bd2632bb667 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/PrivateIpAddressSpecification.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines private IP address configuration for network interface.

                          See + * Also:

                          AWS + * API Reference

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

                          Indicates if this is the primary private IP address.

                          + */ + inline bool GetPrimary() const { return m_primary; } + inline bool PrimaryHasBeenSet() const { return m_primaryHasBeenSet; } + inline void SetPrimary(bool value) { m_primaryHasBeenSet = true; m_primary = value; } + inline PrivateIpAddressSpecification& WithPrimary(bool value) { SetPrimary(value); return *this;} + ///@} + + ///@{ + /** + *

                          Specific private IP address for the network interface.

                          + */ + inline const Aws::String& GetPrivateIpAddress() const { return m_privateIpAddress; } + inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } + template + void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::forward(value); } + template + PrivateIpAddressSpecification& WithPrivateIpAddress(PrivateIpAddressT&& value) { SetPrivateIpAddress(std::forward(value)); return *this;} + ///@} + private: + + bool m_primary{false}; + bool m_primaryHasBeenSet = false; + + Aws::String m_privateIpAddress; + bool m_privateIpAddressHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h new file mode 100644 index 00000000000..f855165990a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ProvisionStateEnum.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class ProvisionStateEnum + { + NOT_SET, + ALLOCATING, + ALLOCATED, + DEALLOCATING, + DEALLOCATED, + ERROR_ALLOCATING, + ERROR_DEALLOCATING + }; + +namespace ProvisionStateEnumMapper +{ +AWS_WORKSPACESINSTANCES_API ProvisionStateEnum GetProvisionStateEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForProvisionStateEnum(ProvisionStateEnum value); +} // namespace ProvisionStateEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h new file mode 100644 index 00000000000..36232603b89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Region.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Represents an AWS region supported by WorkSpaces Instances.

                          See + * Also:

                          AWS + * API Reference

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

                          Name of the AWS region.

                          + */ + inline const Aws::String& GetRegionName() const { return m_regionName; } + inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; } + template + void SetRegionName(RegionNameT&& value) { m_regionNameHasBeenSet = true; m_regionName = std::forward(value); } + template + Region& WithRegionName(RegionNameT&& value) { SetRegionName(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_regionName; + bool m_regionNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..638ec2b2b16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceNotFoundException.h @@ -0,0 +1,90 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Indicates the requested resource could not be found.

                          See Also:

                          + * AWS + * API Reference

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

                          Details about the missing resource.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ResourceNotFoundException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifier of the resource that was not found.

                          + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ResourceNotFoundException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Type of the resource that was not found.

                          + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ResourceNotFoundException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h new file mode 100644 index 00000000000..f5678f32af9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ResourceTypeEnum.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class ResourceTypeEnum + { + NOT_SET, + instance, + volume, + spot_instances_request, + network_interface + }; + +namespace ResourceTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API ResourceTypeEnum GetResourceTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForResourceTypeEnum(ResourceTypeEnum value); +} // namespace ResourceTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h new file mode 100644 index 00000000000..990ff9bb1d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/RunInstancesMonitoringEnabled.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Configures detailed monitoring for WorkSpace Instance.

                          See + * Also:

                          AWS + * API Reference

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

                          Enables or disables detailed instance monitoring.

                          + */ + inline bool GetEnabled() const { return m_enabled; } + inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } + inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } + inline RunInstancesMonitoringEnabled& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + private: + + bool m_enabled{false}; + bool m_enabledHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h new file mode 100644 index 00000000000..b7d9b57e47d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ServiceQuotaExceededException.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Indicates that a service quota has been exceeded.

                          See Also:

                          + * AWS + * API Reference

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

                          Description of the quota limitation.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ServiceQuotaExceededException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Identifier of the resource related to the quota.

                          + */ + inline const Aws::String& GetResourceId() const { return m_resourceId; } + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + template + void SetResourceId(ResourceIdT&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceId(ResourceIdT&& value) { SetResourceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Type of resource related to the quota.

                          + */ + inline const Aws::String& GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + template + void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward(value); } + template + ServiceQuotaExceededException& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Code identifying the service with the quota limitation.

                          + */ + inline const Aws::String& GetServiceCode() const { return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + template + void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward(value); } + template + ServiceQuotaExceededException& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specific code for the exceeded quota.

                          + */ + inline const Aws::String& GetQuotaCode() const { return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + template + void SetQuotaCode(QuotaCodeT&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::forward(value); } + template + ServiceQuotaExceededException& WithQuotaCode(QuotaCodeT&& value) { SetQuotaCode(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.h new file mode 100644 index 00000000000..940ccc993a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotInstanceTypeEnum.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 WorkspacesInstances +{ +namespace Model +{ + enum class SpotInstanceTypeEnum + { + NOT_SET, + one_time, + persistent + }; + +namespace SpotInstanceTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API SpotInstanceTypeEnum GetSpotInstanceTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForSpotInstanceTypeEnum(SpotInstanceTypeEnum value); +} // namespace SpotInstanceTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h new file mode 100644 index 00000000000..8e9251216aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/SpotMarketOptions.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines configuration for spot instance deployment.

                          See Also:

                          + * AWS + * API Reference

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

                          Duration of spot instance block reservation.

                          + */ + inline int GetBlockDurationMinutes() const { return m_blockDurationMinutes; } + inline bool BlockDurationMinutesHasBeenSet() const { return m_blockDurationMinutesHasBeenSet; } + inline void SetBlockDurationMinutes(int value) { m_blockDurationMinutesHasBeenSet = true; m_blockDurationMinutes = value; } + inline SpotMarketOptions& WithBlockDurationMinutes(int value) { SetBlockDurationMinutes(value); return *this;} + ///@} + + ///@{ + /** + *

                          Specifies behavior when spot instance is interrupted.

                          + */ + inline InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehavior() const { return m_instanceInterruptionBehavior; } + inline bool InstanceInterruptionBehaviorHasBeenSet() const { return m_instanceInterruptionBehaviorHasBeenSet; } + inline void SetInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value) { m_instanceInterruptionBehaviorHasBeenSet = true; m_instanceInterruptionBehavior = value; } + inline SpotMarketOptions& WithInstanceInterruptionBehavior(InstanceInterruptionBehaviorEnum value) { SetInstanceInterruptionBehavior(value); return *this;} + ///@} + + ///@{ + /** + *

                          Maximum hourly price for spot instance.

                          + */ + inline const Aws::String& GetMaxPrice() const { return m_maxPrice; } + inline bool MaxPriceHasBeenSet() const { return m_maxPriceHasBeenSet; } + template + void SetMaxPrice(MaxPriceT&& value) { m_maxPriceHasBeenSet = true; m_maxPrice = std::forward(value); } + template + SpotMarketOptions& WithMaxPrice(MaxPriceT&& value) { SetMaxPrice(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Defines the type of spot instance request.

                          + */ + inline SpotInstanceTypeEnum GetSpotInstanceType() const { return m_spotInstanceType; } + inline bool SpotInstanceTypeHasBeenSet() const { return m_spotInstanceTypeHasBeenSet; } + inline void SetSpotInstanceType(SpotInstanceTypeEnum value) { m_spotInstanceTypeHasBeenSet = true; m_spotInstanceType = value; } + inline SpotMarketOptions& WithSpotInstanceType(SpotInstanceTypeEnum value) { SetSpotInstanceType(value); return *this;} + ///@} + + ///@{ + /** + *

                          Timestamp until which spot instance request is valid.

                          + */ + inline const Aws::Utils::DateTime& GetValidUntilUtc() const { return m_validUntilUtc; } + inline bool ValidUntilUtcHasBeenSet() const { return m_validUntilUtcHasBeenSet; } + template + void SetValidUntilUtc(ValidUntilUtcT&& value) { m_validUntilUtcHasBeenSet = true; m_validUntilUtc = std::forward(value); } + template + SpotMarketOptions& WithValidUntilUtc(ValidUntilUtcT&& value) { SetValidUntilUtc(std::forward(value)); return *this;} + ///@} + private: + + int m_blockDurationMinutes{0}; + bool m_blockDurationMinutesHasBeenSet = false; + + InstanceInterruptionBehaviorEnum m_instanceInterruptionBehavior{InstanceInterruptionBehaviorEnum::NOT_SET}; + bool m_instanceInterruptionBehaviorHasBeenSet = false; + + Aws::String m_maxPrice; + bool m_maxPriceHasBeenSet = false; + + SpotInstanceTypeEnum m_spotInstanceType{SpotInstanceTypeEnum::NOT_SET}; + bool m_spotInstanceTypeHasBeenSet = false; + + Aws::Utils::DateTime m_validUntilUtc{}; + bool m_validUntilUtcHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h new file mode 100644 index 00000000000..9980fe9d97c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/Tag.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Represents a key-value metadata tag.

                          See Also:

                          AWS + * API Reference

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

                          Unique identifier for the tag.

                          + */ + inline const Aws::String& GetKey() const { return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + template + void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward(value); } + template + Tag& WithKey(KeyT&& value) { SetKey(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Value associated with the tag key.

                          + */ + inline const Aws::String& GetValue() const { return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + template + void SetValue(ValueT&& value) { m_valueHasBeenSet = true; m_value = std::forward(value); } + template + Tag& WithValue(ValueT&& value) { SetValue(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h new file mode 100644 index 00000000000..4911c30dd04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies tags to add to a WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

                          + */ + class TagResourceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API TagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "TagResource"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Unique identifier of the WorkSpace Instance to tag.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + TagResourceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Tags to be added to the WorkSpace Instance.

                          + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagResourceRequest& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagResourceRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h new file mode 100644 index 00000000000..1c40845a7df --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagResourceResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Confirms successful tag addition.

                          See Also:

                          AWS + * API Reference

                          + */ + class TagResourceResult + { + public: + AWS_WORKSPACESINSTANCES_API TagResourceResult() = default; + AWS_WORKSPACESINSTANCES_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + TagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h new file mode 100644 index 00000000000..f57a11bda12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TagSpecification.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Defines tagging configuration for a resource.

                          See Also:

                          AWS + * API Reference

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

                          Type of resource being tagged.

                          + */ + inline ResourceTypeEnum GetResourceType() const { return m_resourceType; } + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + inline void SetResourceType(ResourceTypeEnum value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + inline TagSpecification& WithResourceType(ResourceTypeEnum value) { SetResourceType(value); return *this;} + ///@} + + ///@{ + /** + *

                          Collection of tags for the specified resource.

                          + */ + inline const Aws::Vector& GetTags() const { return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + template> + void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward(value); } + template> + TagSpecification& WithTags(TagsT&& value) { SetTags(std::forward(value)); return *this;} + template + TagSpecification& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + ResourceTypeEnum m_resourceType{ResourceTypeEnum::NOT_SET}; + bool m_resourceTypeHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h new file mode 100644 index 00000000000..f6fb8a322e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/TenancyEnum.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class TenancyEnum + { + NOT_SET, + default_, + dedicated, + host + }; + +namespace TenancyEnumMapper +{ +AWS_WORKSPACESINSTANCES_API TenancyEnum GetTenancyEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForTenancyEnum(TenancyEnum value); +} // namespace TenancyEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h new file mode 100644 index 00000000000..6d4473bac6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ThrottlingException.h @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Indicates the request rate has exceeded limits.

                          See Also:

                          AWS + * API Reference

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

                          Description of the throttling event.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ThrottlingException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Code identifying the service experiencing throttling.

                          + */ + inline const Aws::String& GetServiceCode() const { return m_serviceCode; } + inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } + template + void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward(value); } + template + ThrottlingException& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specific code for the throttling quota.

                          + */ + inline const Aws::String& GetQuotaCode() const { return m_quotaCode; } + inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; } + template + void SetQuotaCode(QuotaCodeT&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::forward(value); } + template + ThrottlingException& WithQuotaCode(QuotaCodeT&& value) { SetQuotaCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Recommended wait time before retrying the request.

                          + */ + inline int GetRetryAfterSeconds() const { return m_retryAfterSeconds; } + inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; } + inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; } + inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;} + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + Aws::String m_serviceCode; + bool m_serviceCodeHasBeenSet = false; + + Aws::String m_quotaCode; + bool m_quotaCodeHasBeenSet = false; + + int m_retryAfterSeconds{0}; + bool m_retryAfterSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h new file mode 100644 index 00000000000..6388d73eab5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Specifies tags to remove from a WorkSpace Instance.

                          See Also:

                          + * AWS + * API Reference

                          + */ + class UntagResourceRequest : public WorkspacesInstancesRequest + { + public: + AWS_WORKSPACESINSTANCES_API UntagResourceRequest() = default; + + // Service request name is the Operation name which will send this request out, + // each operation should has unique request name, so that we can get operation's name from this request. + // Note: this is not true for response, multiple operations may have the same response name, + // so we can not get operation's name from response. + inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; } + + AWS_WORKSPACESINSTANCES_API Aws::String SerializePayload() const override; + + AWS_WORKSPACESINSTANCES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                          Unique identifier of the WorkSpace Instance to untag.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + UntagResourceRequest& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Keys of tags to be removed.

                          + */ + inline const Aws::Vector& GetTagKeys() const { return m_tagKeys; } + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + template> + void SetTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::forward(value); } + template> + UntagResourceRequest& WithTagKeys(TagKeysT&& value) { SetTagKeys(std::forward(value)); return *this;} + template + UntagResourceRequest& AddTagKeys(TagKeysT&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h new file mode 100644 index 00000000000..3c9bf226682 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/UntagResourceResult.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + /** + *

                          Confirms successful tag removal.

                          See Also:

                          AWS + * API Reference

                          + */ + class UntagResourceResult + { + public: + AWS_WORKSPACESINSTANCES_API UntagResourceResult() = default; + AWS_WORKSPACESINSTANCES_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKSPACESINSTANCES_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + inline const Aws::String& GetRequestId() const { return m_requestId; } + template + void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet = true; m_requestId = std::forward(value); } + template + UntagResourceResult& WithRequestId(RequestIdT&& value) { SetRequestId(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_requestId; + bool m_requestIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h new file mode 100644 index 00000000000..103cf5fd81f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationException.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Indicates invalid input parameters in the request.

                          See Also:

                          + * AWS + * API Reference

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

                          Overall description of validation failures.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ValidationException& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Specific reason for the validation failure.

                          + */ + inline ValidationExceptionReason GetReason() const { return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(ValidationExceptionReason value) { m_reasonHasBeenSet = true; m_reason = value; } + inline ValidationException& WithReason(ValidationExceptionReason value) { SetReason(value); return *this;} + ///@} + + ///@{ + /** + *

                          List of fields that failed validation.

                          + */ + inline const Aws::Vector& GetFieldList() const { return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + template> + void SetFieldList(FieldListT&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::forward(value); } + template> + ValidationException& WithFieldList(FieldListT&& value) { SetFieldList(std::forward(value)); return *this;} + template + ValidationException& AddFieldList(FieldListT&& value) { m_fieldListHasBeenSet = true; m_fieldList.emplace_back(std::forward(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason{ValidationExceptionReason::NOT_SET}; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h new file mode 100644 index 00000000000..00e4f8ef5c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionField.h @@ -0,0 +1,90 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Represents a validation error field in an API request.

                          See + * Also:

                          AWS + * API Reference

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

                          Name of the field that failed validation.

                          + */ + inline const Aws::String& GetName() const { return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + template + void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward(value); } + template + ValidationExceptionField& WithName(NameT&& value) { SetName(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Reason for the validation failure.

                          + */ + inline const Aws::String& GetReason() const { return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + template + void SetReason(ReasonT&& value) { m_reasonHasBeenSet = true; m_reason = std::forward(value); } + template + ValidationExceptionField& WithReason(ReasonT&& value) { SetReason(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Detailed error message describing the validation issue.

                          + */ + inline const Aws::String& GetMessage() const { return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + template + void SetMessage(MessageT&& value) { m_messageHasBeenSet = true; m_message = std::forward(value); } + template + ValidationExceptionField& WithMessage(MessageT&& value) { SetMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_reason; + bool m_reasonHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..3c6ad76cda5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/ValidationExceptionReason.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + UNKNOWN_OPERATION, + UNSUPPORTED_OPERATION, + CANNOT_PARSE, + FIELD_VALIDATION_FAILED, + DEPENDENCY_FAILURE, + OTHER + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_WORKSPACESINSTANCES_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h new file mode 100644 index 00000000000..c745b1115ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/VolumeTypeEnum.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + enum class VolumeTypeEnum + { + NOT_SET, + standard, + io1, + io2, + gp2, + sc1, + st1, + gp3 + }; + +namespace VolumeTypeEnumMapper +{ +AWS_WORKSPACESINSTANCES_API VolumeTypeEnum GetVolumeTypeEnumForName(const Aws::String& name); + +AWS_WORKSPACESINSTANCES_API Aws::String GetNameForVolumeTypeEnum(VolumeTypeEnum value); +} // namespace VolumeTypeEnumMapper +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h new file mode 100644 index 00000000000..39d91ad9c32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstance.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Represents a single WorkSpace Instance.

                          See Also:

                          AWS + * API Reference

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

                          Current provisioning state of the WorkSpace Instance.

                          + */ + inline ProvisionStateEnum GetProvisionState() const { return m_provisionState; } + inline bool ProvisionStateHasBeenSet() const { return m_provisionStateHasBeenSet; } + inline void SetProvisionState(ProvisionStateEnum value) { m_provisionStateHasBeenSet = true; m_provisionState = value; } + inline WorkspaceInstance& WithProvisionState(ProvisionStateEnum value) { SetProvisionState(value); return *this;} + ///@} + + ///@{ + /** + *

                          Unique identifier for the WorkSpace Instance.

                          + */ + inline const Aws::String& GetWorkspaceInstanceId() const { return m_workspaceInstanceId; } + inline bool WorkspaceInstanceIdHasBeenSet() const { return m_workspaceInstanceIdHasBeenSet; } + template + void SetWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { m_workspaceInstanceIdHasBeenSet = true; m_workspaceInstanceId = std::forward(value); } + template + WorkspaceInstance& WithWorkspaceInstanceId(WorkspaceInstanceIdT&& value) { SetWorkspaceInstanceId(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Details of the associated EC2 managed instance.

                          + */ + inline const EC2ManagedInstance& GetEC2ManagedInstance() const { return m_eC2ManagedInstance; } + inline bool EC2ManagedInstanceHasBeenSet() const { return m_eC2ManagedInstanceHasBeenSet; } + template + void SetEC2ManagedInstance(EC2ManagedInstanceT&& value) { m_eC2ManagedInstanceHasBeenSet = true; m_eC2ManagedInstance = std::forward(value); } + template + WorkspaceInstance& WithEC2ManagedInstance(EC2ManagedInstanceT&& value) { SetEC2ManagedInstance(std::forward(value)); return *this;} + ///@} + private: + + ProvisionStateEnum m_provisionState{ProvisionStateEnum::NOT_SET}; + bool m_provisionStateHasBeenSet = false; + + Aws::String m_workspaceInstanceId; + bool m_workspaceInstanceIdHasBeenSet = false; + + EC2ManagedInstance m_eC2ManagedInstance; + bool m_eC2ManagedInstanceHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h new file mode 100644 index 00000000000..c010e092777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/model/WorkspaceInstanceError.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkspacesInstances +{ +namespace Model +{ + + /** + *

                          Captures errors specific to WorkSpace Instance operations.

                          See + * Also:

                          AWS + * API Reference

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

                          Unique error code for the WorkSpace Instance error.

                          + */ + inline const Aws::String& GetErrorCode() const { return m_errorCode; } + inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } + template + void SetErrorCode(ErrorCodeT&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::forward(value); } + template + WorkspaceInstanceError& WithErrorCode(ErrorCodeT&& value) { SetErrorCode(std::forward(value)); return *this;} + ///@} + + ///@{ + /** + *

                          Detailed description of the WorkSpace Instance error.

                          + */ + inline const Aws::String& GetErrorMessage() const { return m_errorMessage; } + inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } + template + void SetErrorMessage(ErrorMessageT&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::forward(value); } + template + WorkspaceInstanceError& WithErrorMessage(ErrorMessageT&& value) { SetErrorMessage(std::forward(value)); return *this;} + ///@} + private: + + Aws::String m_errorCode; + bool m_errorCodeHasBeenSet = false; + + Aws::String m_errorMessage; + bool m_errorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp new file mode 100644 index 00000000000..377cbfa6f40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp @@ -0,0 +1,517 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::WorkspacesInstances; +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace WorkspacesInstances + { + const char SERVICE_NAME[] = "workspaces-instances"; + const char ALLOCATION_TAG[] = "WorkspacesInstancesClient"; + } +} +const char* WorkspacesInstancesClient::GetServiceName() {return SERVICE_NAME;} +const char* WorkspacesInstancesClient::GetAllocationTag() {return ALLOCATION_TAG;} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + WorkspacesInstancesClient::WorkspacesInstancesClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +WorkspacesInstancesClient::WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +WorkspacesInstancesClient::~WorkspacesInstancesClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& WorkspacesInstancesClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void WorkspacesInstancesClient::init(const WorkspacesInstances::WorkspacesInstancesClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Workspaces Instances"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void WorkspacesInstancesClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +AssociateVolumeOutcome WorkspacesInstancesClient::AssociateVolume(const AssociateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(AssociateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".AssociateVolume", + {{ 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( + [&]()-> AssociateVolumeOutcome { + 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, AssociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return AssociateVolumeOutcome(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()}}); +} + +CreateVolumeOutcome WorkspacesInstancesClient::CreateVolume(const CreateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(CreateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateVolume", + {{ 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( + [&]()-> CreateVolumeOutcome { + 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, CreateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateVolumeOutcome(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()}}); +} + +CreateWorkspaceInstanceOutcome WorkspacesInstancesClient::CreateWorkspaceInstance(const CreateWorkspaceInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(CreateWorkspaceInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateWorkspaceInstance", + {{ 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( + [&]()-> CreateWorkspaceInstanceOutcome { + 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, CreateWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateWorkspaceInstanceOutcome(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()}}); +} + +DeleteVolumeOutcome WorkspacesInstancesClient::DeleteVolume(const DeleteVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteVolume", + {{ 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( + [&]()-> DeleteVolumeOutcome { + 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, DeleteVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteVolumeOutcome(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()}}); +} + +DeleteWorkspaceInstanceOutcome WorkspacesInstancesClient::DeleteWorkspaceInstance(const DeleteWorkspaceInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteWorkspaceInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteWorkspaceInstance", + {{ 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( + [&]()-> DeleteWorkspaceInstanceOutcome { + 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, DeleteWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteWorkspaceInstanceOutcome(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()}}); +} + +DisassociateVolumeOutcome WorkspacesInstancesClient::DisassociateVolume(const DisassociateVolumeRequest& request) const +{ + AWS_OPERATION_GUARD(DisassociateVolume); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisassociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisassociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisassociateVolume, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DisassociateVolume", + {{ 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( + [&]()-> DisassociateVolumeOutcome { + 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, DisassociateVolume, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisassociateVolumeOutcome(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()}}); +} + +GetWorkspaceInstanceOutcome WorkspacesInstancesClient::GetWorkspaceInstance(const GetWorkspaceInstanceRequest& request) const +{ + AWS_OPERATION_GUARD(GetWorkspaceInstance); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetWorkspaceInstance, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetWorkspaceInstance", + {{ 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( + [&]()-> GetWorkspaceInstanceOutcome { + 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, GetWorkspaceInstance, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetWorkspaceInstanceOutcome(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()}}); +} + +ListInstanceTypesOutcome WorkspacesInstancesClient::ListInstanceTypes(const ListInstanceTypesRequest& request) const +{ + AWS_OPERATION_GUARD(ListInstanceTypes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListInstanceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListInstanceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListInstanceTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListInstanceTypes", + {{ 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( + [&]()-> ListInstanceTypesOutcome { + 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, ListInstanceTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListInstanceTypesOutcome(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()}}); +} + +ListRegionsOutcome WorkspacesInstancesClient::ListRegions(const ListRegionsRequest& request) const +{ + AWS_OPERATION_GUARD(ListRegions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListRegions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListRegions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListRegions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListRegions", + {{ 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( + [&]()-> ListRegionsOutcome { + 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, ListRegions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListRegionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome WorkspacesInstancesClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListWorkspaceInstancesOutcome WorkspacesInstancesClient::ListWorkspaceInstances(const ListWorkspaceInstancesRequest& request) const +{ + AWS_OPERATION_GUARD(ListWorkspaceInstances); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListWorkspaceInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListWorkspaceInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListWorkspaceInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListWorkspaceInstances", + {{ 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( + [&]()-> ListWorkspaceInstancesOutcome { + 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, ListWorkspaceInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListWorkspaceInstancesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome WorkspacesInstancesClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome WorkspacesInstancesClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp new file mode 100644 index 00000000000..048a7f7d186 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp new file mode 100644 index 00000000000..5ec5622a20e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointRules.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +const size_t WorkspacesInstancesEndpointRules::RulesBlobStrLen = 1652; +const size_t WorkspacesInstancesEndpointRules::RulesBlobSize = 1653; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o','r','k','s','p','a','c','e','s','-', +'i','n','s','t','a','n','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k', +'D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t', +'p','s',':','/','/','w','o','r','k','s','p','a','c','e','s','-','i','n','s','t','a','n','c','e','s', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p', +'r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{', +'}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t', +'y','p','e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o', +'n',':',' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +']','}','\0' +}}; + +const char* WorkspacesInstancesEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp new file mode 100644 index 00000000000..fd66787090a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::WorkspacesInstances; + +AWSError WorkspacesInstancesErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = WorkspacesInstancesErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp new file mode 100644 index 00000000000..aa4a61af878 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesErrors.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::WorkspacesInstances; +using namespace Aws::WorkspacesInstances::Model; + +namespace Aws +{ +namespace WorkspacesInstances +{ +template<> AWS_WORKSPACESINSTANCES_API ConflictException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::CONFLICT); + return ConflictException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ThrottlingException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::THROTTLING); + return ThrottlingException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ServiceQuotaExceededException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::SERVICE_QUOTA_EXCEEDED); + return ServiceQuotaExceededException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ResourceNotFoundException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API InternalServerException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::INTERNAL_SERVER); + return InternalServerException(this->GetJsonPayload().View()); +} + +template<> AWS_WORKSPACESINSTANCES_API ValidationException WorkspacesInstancesError::GetModeledError() +{ + assert(this->GetErrorType() == WorkspacesInstancesErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace WorkspacesInstancesErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(WorkspacesInstancesErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(WorkspacesInstancesErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(WorkspacesInstancesErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace WorkspacesInstancesErrorMapper +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp new file mode 100644 index 00000000000..ec5da46d3de --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace WorkspacesInstances +{ +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.cpp new file mode 100644 index 00000000000..20814c0cfcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AmdSevSnpEnum.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 WorkspacesInstances + { + namespace Model + { + namespace AmdSevSnpEnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + AmdSevSnpEnum GetAmdSevSnpEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return AmdSevSnpEnum::enabled; + } + else if (hashCode == disabled_HASH) + { + return AmdSevSnpEnum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AmdSevSnpEnum::NOT_SET; + } + + Aws::String GetNameForAmdSevSnpEnum(AmdSevSnpEnum enumValue) + { + switch(enumValue) + { + case AmdSevSnpEnum::NOT_SET: + return {}; + case AmdSevSnpEnum::enabled: + return "enabled"; + case AmdSevSnpEnum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AmdSevSnpEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp new file mode 100644 index 00000000000..2ee3cb03ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String AssociateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + if(m_deviceHasBeenSet) + { + payload.WithString("Device", m_device); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection AssociateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.AssociateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp new file mode 100644 index 00000000000..6cb567491a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AssociateVolumeResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AssociateVolumeResult::AssociateVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AssociateVolumeResult& AssociateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.cpp new file mode 100644 index 00000000000..9ab6504976b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/AutoRecoveryEnum.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 WorkspacesInstances + { + namespace Model + { + namespace AutoRecoveryEnumMapper + { + + static const int disabled_HASH = HashingUtils::HashString("disabled"); + static const int default__HASH = HashingUtils::HashString("default"); + + + AutoRecoveryEnum GetAutoRecoveryEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == disabled_HASH) + { + return AutoRecoveryEnum::disabled; + } + else if (hashCode == default__HASH) + { + return AutoRecoveryEnum::default_; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutoRecoveryEnum::NOT_SET; + } + + Aws::String GetNameForAutoRecoveryEnum(AutoRecoveryEnum enumValue) + { + switch(enumValue) + { + case AutoRecoveryEnum::NOT_SET: + return {}; + case AutoRecoveryEnum::disabled: + return "disabled"; + case AutoRecoveryEnum::default_: + return "default"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutoRecoveryEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp new file mode 100644 index 00000000000..33b98f69c47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BandwidthWeightingEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace BandwidthWeightingEnumMapper + { + + static const int default__HASH = HashingUtils::HashString("default"); + static const int vpc_1_HASH = HashingUtils::HashString("vpc-1"); + static const int ebs_1_HASH = HashingUtils::HashString("ebs-1"); + + + BandwidthWeightingEnum GetBandwidthWeightingEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == default__HASH) + { + return BandwidthWeightingEnum::default_; + } + else if (hashCode == vpc_1_HASH) + { + return BandwidthWeightingEnum::vpc_1; + } + else if (hashCode == ebs_1_HASH) + { + return BandwidthWeightingEnum::ebs_1; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return BandwidthWeightingEnum::NOT_SET; + } + + Aws::String GetNameForBandwidthWeightingEnum(BandwidthWeightingEnum enumValue) + { + switch(enumValue) + { + case BandwidthWeightingEnum::NOT_SET: + return {}; + case BandwidthWeightingEnum::default_: + return "default"; + case BandwidthWeightingEnum::vpc_1: + return "vpc-1"; + case BandwidthWeightingEnum::ebs_1: + return "ebs-1"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace BandwidthWeightingEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp new file mode 100644 index 00000000000..3523994fe6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/BlockDeviceMappingRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +BlockDeviceMappingRequest::BlockDeviceMappingRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +BlockDeviceMappingRequest& BlockDeviceMappingRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DeviceName")) + { + m_deviceName = jsonValue.GetString("DeviceName"); + m_deviceNameHasBeenSet = true; + } + if(jsonValue.ValueExists("Ebs")) + { + m_ebs = jsonValue.GetObject("Ebs"); + m_ebsHasBeenSet = true; + } + if(jsonValue.ValueExists("NoDevice")) + { + m_noDevice = jsonValue.GetString("NoDevice"); + m_noDeviceHasBeenSet = true; + } + if(jsonValue.ValueExists("VirtualName")) + { + m_virtualName = jsonValue.GetString("VirtualName"); + m_virtualNameHasBeenSet = true; + } + return *this; +} + +JsonValue BlockDeviceMappingRequest::Jsonize() const +{ + JsonValue payload; + + if(m_deviceNameHasBeenSet) + { + payload.WithString("DeviceName", m_deviceName); + + } + + if(m_ebsHasBeenSet) + { + payload.WithObject("Ebs", m_ebs.Jsonize()); + + } + + if(m_noDeviceHasBeenSet) + { + payload.WithString("NoDevice", m_noDevice); + + } + + if(m_virtualNameHasBeenSet) + { + payload.WithString("VirtualName", m_virtualName); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp new file mode 100644 index 00000000000..c401b34088c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationPreferenceEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace CapacityReservationPreferenceEnumMapper + { + + static const int capacity_reservations_only_HASH = HashingUtils::HashString("capacity-reservations-only"); + static const int open_HASH = HashingUtils::HashString("open"); + static const int none_HASH = HashingUtils::HashString("none"); + + + CapacityReservationPreferenceEnum GetCapacityReservationPreferenceEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == capacity_reservations_only_HASH) + { + return CapacityReservationPreferenceEnum::capacity_reservations_only; + } + else if (hashCode == open_HASH) + { + return CapacityReservationPreferenceEnum::open; + } + else if (hashCode == none_HASH) + { + return CapacityReservationPreferenceEnum::none; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CapacityReservationPreferenceEnum::NOT_SET; + } + + Aws::String GetNameForCapacityReservationPreferenceEnum(CapacityReservationPreferenceEnum enumValue) + { + switch(enumValue) + { + case CapacityReservationPreferenceEnum::NOT_SET: + return {}; + case CapacityReservationPreferenceEnum::capacity_reservations_only: + return "capacity-reservations-only"; + case CapacityReservationPreferenceEnum::open: + return "open"; + case CapacityReservationPreferenceEnum::none: + return "none"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CapacityReservationPreferenceEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp new file mode 100644 index 00000000000..c6ec938ce59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationSpecification.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CapacityReservationSpecification::CapacityReservationSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +CapacityReservationSpecification& CapacityReservationSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CapacityReservationPreference")) + { + m_capacityReservationPreference = CapacityReservationPreferenceEnumMapper::GetCapacityReservationPreferenceEnumForName(jsonValue.GetString("CapacityReservationPreference")); + m_capacityReservationPreferenceHasBeenSet = true; + } + if(jsonValue.ValueExists("CapacityReservationTarget")) + { + m_capacityReservationTarget = jsonValue.GetObject("CapacityReservationTarget"); + m_capacityReservationTargetHasBeenSet = true; + } + return *this; +} + +JsonValue CapacityReservationSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_capacityReservationPreferenceHasBeenSet) + { + payload.WithString("CapacityReservationPreference", CapacityReservationPreferenceEnumMapper::GetNameForCapacityReservationPreferenceEnum(m_capacityReservationPreference)); + } + + if(m_capacityReservationTargetHasBeenSet) + { + payload.WithObject("CapacityReservationTarget", m_capacityReservationTarget.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp new file mode 100644 index 00000000000..dd2441b2a05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CapacityReservationTarget.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CapacityReservationTarget::CapacityReservationTarget(JsonView jsonValue) +{ + *this = jsonValue; +} + +CapacityReservationTarget& CapacityReservationTarget::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CapacityReservationId")) + { + m_capacityReservationId = jsonValue.GetString("CapacityReservationId"); + m_capacityReservationIdHasBeenSet = true; + } + if(jsonValue.ValueExists("CapacityReservationResourceGroupArn")) + { + m_capacityReservationResourceGroupArn = jsonValue.GetString("CapacityReservationResourceGroupArn"); + m_capacityReservationResourceGroupArnHasBeenSet = true; + } + return *this; +} + +JsonValue CapacityReservationTarget::Jsonize() const +{ + JsonValue payload; + + if(m_capacityReservationIdHasBeenSet) + { + payload.WithString("CapacityReservationId", m_capacityReservationId); + + } + + if(m_capacityReservationResourceGroupArnHasBeenSet) + { + payload.WithString("CapacityReservationResourceGroupArn", m_capacityReservationResourceGroupArn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.cpp new file mode 100644 index 00000000000..1b10abb2d3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConflictException.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 WorkspacesInstances +{ +namespace Model +{ + +ConflictException::ConflictException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConflictException& ConflictException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + return *this; +} + +JsonValue ConflictException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.cpp new file mode 100644 index 00000000000..5f3142879ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ConnectionTrackingSpecificationRequest.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 WorkspacesInstances +{ +namespace Model +{ + +ConnectionTrackingSpecificationRequest::ConnectionTrackingSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +ConnectionTrackingSpecificationRequest& ConnectionTrackingSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TcpEstablishedTimeout")) + { + m_tcpEstablishedTimeout = jsonValue.GetInteger("TcpEstablishedTimeout"); + m_tcpEstablishedTimeoutHasBeenSet = true; + } + if(jsonValue.ValueExists("UdpStreamTimeout")) + { + m_udpStreamTimeout = jsonValue.GetInteger("UdpStreamTimeout"); + m_udpStreamTimeoutHasBeenSet = true; + } + if(jsonValue.ValueExists("UdpTimeout")) + { + m_udpTimeout = jsonValue.GetInteger("UdpTimeout"); + m_udpTimeoutHasBeenSet = true; + } + return *this; +} + +JsonValue ConnectionTrackingSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_tcpEstablishedTimeoutHasBeenSet) + { + payload.WithInteger("TcpEstablishedTimeout", m_tcpEstablishedTimeout); + + } + + if(m_udpStreamTimeoutHasBeenSet) + { + payload.WithInteger("UdpStreamTimeout", m_udpStreamTimeout); + + } + + if(m_udpTimeoutHasBeenSet) + { + payload.WithInteger("UdpTimeout", m_udpTimeout); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.cpp new file mode 100644 index 00000000000..4fa5eeeadc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuCreditsEnum.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 WorkspacesInstances + { + namespace Model + { + namespace CpuCreditsEnumMapper + { + + static const int standard_HASH = HashingUtils::HashString("standard"); + static const int unlimited_HASH = HashingUtils::HashString("unlimited"); + + + CpuCreditsEnum GetCpuCreditsEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == standard_HASH) + { + return CpuCreditsEnum::standard; + } + else if (hashCode == unlimited_HASH) + { + return CpuCreditsEnum::unlimited; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return CpuCreditsEnum::NOT_SET; + } + + Aws::String GetNameForCpuCreditsEnum(CpuCreditsEnum enumValue) + { + switch(enumValue) + { + case CpuCreditsEnum::NOT_SET: + return {}; + case CpuCreditsEnum::standard: + return "standard"; + case CpuCreditsEnum::unlimited: + return "unlimited"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace CpuCreditsEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp new file mode 100644 index 00000000000..ceac9f46b0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CpuOptionsRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CpuOptionsRequest::CpuOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +CpuOptionsRequest& CpuOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AmdSevSnp")) + { + m_amdSevSnp = AmdSevSnpEnumMapper::GetAmdSevSnpEnumForName(jsonValue.GetString("AmdSevSnp")); + m_amdSevSnpHasBeenSet = true; + } + if(jsonValue.ValueExists("CoreCount")) + { + m_coreCount = jsonValue.GetInteger("CoreCount"); + m_coreCountHasBeenSet = true; + } + if(jsonValue.ValueExists("ThreadsPerCore")) + { + m_threadsPerCore = jsonValue.GetInteger("ThreadsPerCore"); + m_threadsPerCoreHasBeenSet = true; + } + return *this; +} + +JsonValue CpuOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_amdSevSnpHasBeenSet) + { + payload.WithString("AmdSevSnp", AmdSevSnpEnumMapper::GetNameForAmdSevSnpEnum(m_amdSevSnp)); + } + + if(m_coreCountHasBeenSet) + { + payload.WithInteger("CoreCount", m_coreCount); + + } + + if(m_threadsPerCoreHasBeenSet) + { + payload.WithInteger("ThreadsPerCore", m_threadsPerCore); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp new file mode 100644 index 00000000000..950c8ceb261 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeRequest.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_availabilityZoneHasBeenSet) + { + payload.WithString("AvailabilityZone", m_availabilityZone); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_encryptedHasBeenSet) + { + payload.WithBool("Encrypted", m_encrypted); + + } + + if(m_iopsHasBeenSet) + { + payload.WithInteger("Iops", m_iops); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("KmsKeyId", m_kmsKeyId); + + } + + if(m_sizeInGBHasBeenSet) + { + payload.WithInteger("SizeInGB", m_sizeInGB); + + } + + if(m_snapshotIdHasBeenSet) + { + payload.WithString("SnapshotId", m_snapshotId); + + } + + if(m_tagSpecificationsHasBeenSet) + { + Aws::Utils::Array tagSpecificationsJsonList(m_tagSpecifications.size()); + for(unsigned tagSpecificationsIndex = 0; tagSpecificationsIndex < tagSpecificationsJsonList.GetLength(); ++tagSpecificationsIndex) + { + tagSpecificationsJsonList[tagSpecificationsIndex].AsObject(m_tagSpecifications[tagSpecificationsIndex].Jsonize()); + } + payload.WithArray("TagSpecifications", std::move(tagSpecificationsJsonList)); + + } + + if(m_throughputHasBeenSet) + { + payload.WithInteger("Throughput", m_throughput); + + } + + if(m_volumeTypeHasBeenSet) + { + payload.WithString("VolumeType", VolumeTypeEnumMapper::GetNameForVolumeTypeEnum(m_volumeType)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.CreateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp new file mode 100644 index 00000000000..731b9a8c847 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateVolumeResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateVolumeResult::CreateVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateVolumeResult& CreateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("VolumeId")) + { + m_volumeId = jsonValue.GetString("VolumeId"); + m_volumeIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp new file mode 100644 index 00000000000..91a8cfd1928 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String CreateWorkspaceInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + if(m_managedInstanceHasBeenSet) + { + payload.WithObject("ManagedInstance", m_managedInstance.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateWorkspaceInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.CreateWorkspaceInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp new file mode 100644 index 00000000000..09444a16192 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreateWorkspaceInstanceResult.cpp @@ -0,0 +1,44 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateWorkspaceInstanceResult::CreateWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateWorkspaceInstanceResult& CreateWorkspaceInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WorkspaceInstanceId")) + { + m_workspaceInstanceId = jsonValue.GetString("WorkspaceInstanceId"); + m_workspaceInstanceIdHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp new file mode 100644 index 00000000000..266df2a919f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/CreditSpecificationRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +CreditSpecificationRequest::CreditSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +CreditSpecificationRequest& CreditSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("CpuCredits")) + { + m_cpuCredits = CpuCreditsEnumMapper::GetCpuCreditsEnumForName(jsonValue.GetString("CpuCredits")); + m_cpuCreditsHasBeenSet = true; + } + return *this; +} + +JsonValue CreditSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_cpuCreditsHasBeenSet) + { + payload.WithString("CpuCredits", CpuCreditsEnumMapper::GetNameForCpuCreditsEnum(m_cpuCredits)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp new file mode 100644 index 00000000000..7bb75800b06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.DeleteVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp new file mode 100644 index 00000000000..3b9a359384c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteVolumeResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteVolumeResult::DeleteVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteVolumeResult& DeleteVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp new file mode 100644 index 00000000000..e62395f9ce1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DeleteWorkspaceInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteWorkspaceInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.DeleteWorkspaceInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp new file mode 100644 index 00000000000..41301932eb3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DeleteWorkspaceInstanceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteWorkspaceInstanceResult::DeleteWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteWorkspaceInstanceResult& DeleteWorkspaceInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.cpp new file mode 100644 index 00000000000..4addf833fde --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateModeEnum.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 WorkspacesInstances + { + namespace Model + { + namespace DisassociateModeEnumMapper + { + + static const int FORCE_HASH = HashingUtils::HashString("FORCE"); + static const int NO_FORCE_HASH = HashingUtils::HashString("NO_FORCE"); + + + DisassociateModeEnum GetDisassociateModeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FORCE_HASH) + { + return DisassociateModeEnum::FORCE; + } + else if (hashCode == NO_FORCE_HASH) + { + return DisassociateModeEnum::NO_FORCE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DisassociateModeEnum::NOT_SET; + } + + Aws::String GetNameForDisassociateModeEnum(DisassociateModeEnum enumValue) + { + switch(enumValue) + { + case DisassociateModeEnum::NOT_SET: + return {}; + case DisassociateModeEnum::FORCE: + return "FORCE"; + case DisassociateModeEnum::NO_FORCE: + return "NO_FORCE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DisassociateModeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp new file mode 100644 index 00000000000..5170283a709 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String DisassociateVolumeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_volumeIdHasBeenSet) + { + payload.WithString("VolumeId", m_volumeId); + + } + + if(m_deviceHasBeenSet) + { + payload.WithString("Device", m_device); + + } + + if(m_disassociateModeHasBeenSet) + { + payload.WithString("DisassociateMode", DisassociateModeEnumMapper::GetNameForDisassociateModeEnum(m_disassociateMode)); + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DisassociateVolumeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.DisassociateVolume")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp new file mode 100644 index 00000000000..48587be411a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/DisassociateVolumeResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DisassociateVolumeResult::DisassociateVolumeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DisassociateVolumeResult& DisassociateVolumeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.cpp new file mode 100644 index 00000000000..16770f8f3b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2InstanceError.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 WorkspacesInstances +{ +namespace Model +{ + +EC2InstanceError::EC2InstanceError(JsonView jsonValue) +{ + *this = jsonValue; +} + +EC2InstanceError& EC2InstanceError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EC2ErrorCode")) + { + m_eC2ErrorCode = jsonValue.GetString("EC2ErrorCode"); + m_eC2ErrorCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ExceptionType")) + { + m_eC2ExceptionType = jsonValue.GetString("EC2ExceptionType"); + m_eC2ExceptionTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ErrorMessage")) + { + m_eC2ErrorMessage = jsonValue.GetString("EC2ErrorMessage"); + m_eC2ErrorMessageHasBeenSet = true; + } + return *this; +} + +JsonValue EC2InstanceError::Jsonize() const +{ + JsonValue payload; + + if(m_eC2ErrorCodeHasBeenSet) + { + payload.WithString("EC2ErrorCode", m_eC2ErrorCode); + + } + + if(m_eC2ExceptionTypeHasBeenSet) + { + payload.WithString("EC2ExceptionType", m_eC2ExceptionType); + + } + + if(m_eC2ErrorMessageHasBeenSet) + { + payload.WithString("EC2ErrorMessage", m_eC2ErrorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp new file mode 100644 index 00000000000..703fd84b629 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EC2ManagedInstance.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EC2ManagedInstance::EC2ManagedInstance(JsonView jsonValue) +{ + *this = jsonValue; +} + +EC2ManagedInstance& EC2ManagedInstance::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceId")) + { + m_instanceId = jsonValue.GetString("InstanceId"); + m_instanceIdHasBeenSet = true; + } + return *this; +} + +JsonValue EC2ManagedInstance::Jsonize() const +{ + JsonValue payload; + + if(m_instanceIdHasBeenSet) + { + payload.WithString("InstanceId", m_instanceId); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp new file mode 100644 index 00000000000..6aa24c58b5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EbsBlockDevice.cpp @@ -0,0 +1,105 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + +EbsBlockDevice::EbsBlockDevice(JsonView jsonValue) +{ + *this = jsonValue; +} + +EbsBlockDevice& EbsBlockDevice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("VolumeType")) + { + m_volumeType = VolumeTypeEnumMapper::GetVolumeTypeEnumForName(jsonValue.GetString("VolumeType")); + m_volumeTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Encrypted")) + { + m_encrypted = jsonValue.GetBool("Encrypted"); + m_encryptedHasBeenSet = true; + } + if(jsonValue.ValueExists("KmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("KmsKeyId"); + m_kmsKeyIdHasBeenSet = true; + } + if(jsonValue.ValueExists("Iops")) + { + m_iops = jsonValue.GetInteger("Iops"); + m_iopsHasBeenSet = true; + } + if(jsonValue.ValueExists("Throughput")) + { + m_throughput = jsonValue.GetInteger("Throughput"); + m_throughputHasBeenSet = true; + } + if(jsonValue.ValueExists("VolumeSize")) + { + m_volumeSize = jsonValue.GetInteger("VolumeSize"); + m_volumeSizeHasBeenSet = true; + } + return *this; +} + +JsonValue EbsBlockDevice::Jsonize() const +{ + JsonValue payload; + + if(m_volumeTypeHasBeenSet) + { + payload.WithString("VolumeType", VolumeTypeEnumMapper::GetNameForVolumeTypeEnum(m_volumeType)); + } + + if(m_encryptedHasBeenSet) + { + payload.WithBool("Encrypted", m_encrypted); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("KmsKeyId", m_kmsKeyId); + + } + + if(m_iopsHasBeenSet) + { + payload.WithInteger("Iops", m_iops); + + } + + if(m_throughputHasBeenSet) + { + payload.WithInteger("Throughput", m_throughput); + + } + + if(m_volumeSizeHasBeenSet) + { + payload.WithInteger("VolumeSize", m_volumeSize); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp new file mode 100644 index 00000000000..07f50086bb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdSpecificationRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EnaSrdSpecificationRequest::EnaSrdSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +EnaSrdSpecificationRequest& EnaSrdSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnaSrdEnabled")) + { + m_enaSrdEnabled = jsonValue.GetBool("EnaSrdEnabled"); + m_enaSrdEnabledHasBeenSet = true; + } + if(jsonValue.ValueExists("EnaSrdUdpSpecification")) + { + m_enaSrdUdpSpecification = jsonValue.GetObject("EnaSrdUdpSpecification"); + m_enaSrdUdpSpecificationHasBeenSet = true; + } + return *this; +} + +JsonValue EnaSrdSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enaSrdEnabledHasBeenSet) + { + payload.WithBool("EnaSrdEnabled", m_enaSrdEnabled); + + } + + if(m_enaSrdUdpSpecificationHasBeenSet) + { + payload.WithObject("EnaSrdUdpSpecification", m_enaSrdUdpSpecification.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp new file mode 100644 index 00000000000..9552151052d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnaSrdUdpSpecificationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EnaSrdUdpSpecificationRequest::EnaSrdUdpSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +EnaSrdUdpSpecificationRequest& EnaSrdUdpSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnaSrdUdpEnabled")) + { + m_enaSrdUdpEnabled = jsonValue.GetBool("EnaSrdUdpEnabled"); + m_enaSrdUdpEnabledHasBeenSet = true; + } + return *this; +} + +JsonValue EnaSrdUdpSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enaSrdUdpEnabledHasBeenSet) + { + payload.WithBool("EnaSrdUdpEnabled", m_enaSrdUdpEnabled); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp new file mode 100644 index 00000000000..07f466bc102 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/EnclaveOptionsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +EnclaveOptionsRequest::EnclaveOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +EnclaveOptionsRequest& EnclaveOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Enabled")) + { + m_enabled = jsonValue.GetBool("Enabled"); + m_enabledHasBeenSet = true; + } + return *this; +} + +JsonValue EnclaveOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("Enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp new file mode 100644 index 00000000000..5bd7db6dbf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String GetWorkspaceInstanceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetWorkspaceInstanceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.GetWorkspaceInstance")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp new file mode 100644 index 00000000000..ef7e7dba386 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/GetWorkspaceInstanceResult.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetWorkspaceInstanceResult::GetWorkspaceInstanceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetWorkspaceInstanceResult& GetWorkspaceInstanceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WorkspaceInstanceErrors")) + { + Aws::Utils::Array workspaceInstanceErrorsJsonList = jsonValue.GetArray("WorkspaceInstanceErrors"); + for(unsigned workspaceInstanceErrorsIndex = 0; workspaceInstanceErrorsIndex < workspaceInstanceErrorsJsonList.GetLength(); ++workspaceInstanceErrorsIndex) + { + m_workspaceInstanceErrors.push_back(workspaceInstanceErrorsJsonList[workspaceInstanceErrorsIndex].AsObject()); + } + m_workspaceInstanceErrorsHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2InstanceErrors")) + { + Aws::Utils::Array eC2InstanceErrorsJsonList = jsonValue.GetArray("EC2InstanceErrors"); + for(unsigned eC2InstanceErrorsIndex = 0; eC2InstanceErrorsIndex < eC2InstanceErrorsJsonList.GetLength(); ++eC2InstanceErrorsIndex) + { + m_eC2InstanceErrors.push_back(eC2InstanceErrorsJsonList[eC2InstanceErrorsIndex].AsObject()); + } + m_eC2InstanceErrorsHasBeenSet = true; + } + if(jsonValue.ValueExists("ProvisionState")) + { + m_provisionState = ProvisionStateEnumMapper::GetProvisionStateEnumForName(jsonValue.GetString("ProvisionState")); + m_provisionStateHasBeenSet = true; + } + if(jsonValue.ValueExists("WorkspaceInstanceId")) + { + m_workspaceInstanceId = jsonValue.GetString("WorkspaceInstanceId"); + m_workspaceInstanceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ManagedInstance")) + { + m_eC2ManagedInstance = jsonValue.GetObject("EC2ManagedInstance"); + m_eC2ManagedInstanceHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp new file mode 100644 index 00000000000..aa64d7f33c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HibernationOptionsRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +HibernationOptionsRequest::HibernationOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +HibernationOptionsRequest& HibernationOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Configured")) + { + m_configured = jsonValue.GetBool("Configured"); + m_configuredHasBeenSet = true; + } + return *this; +} + +JsonValue HibernationOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_configuredHasBeenSet) + { + payload.WithBool("Configured", m_configured); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.cpp new file mode 100644 index 00000000000..c133b49e04c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HostnameTypeEnum.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 WorkspacesInstances + { + namespace Model + { + namespace HostnameTypeEnumMapper + { + + static const int ip_name_HASH = HashingUtils::HashString("ip-name"); + static const int resource_name_HASH = HashingUtils::HashString("resource-name"); + + + HostnameTypeEnum GetHostnameTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ip_name_HASH) + { + return HostnameTypeEnum::ip_name; + } + else if (hashCode == resource_name_HASH) + { + return HostnameTypeEnum::resource_name; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HostnameTypeEnum::NOT_SET; + } + + Aws::String GetNameForHostnameTypeEnum(HostnameTypeEnum enumValue) + { + switch(enumValue) + { + case HostnameTypeEnum::NOT_SET: + return {}; + case HostnameTypeEnum::ip_name: + return "ip-name"; + case HostnameTypeEnum::resource_name: + return "resource-name"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HostnameTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.cpp new file mode 100644 index 00000000000..ed9404559e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpEndpointEnum.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 WorkspacesInstances + { + namespace Model + { + namespace HttpEndpointEnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + HttpEndpointEnum GetHttpEndpointEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return HttpEndpointEnum::enabled; + } + else if (hashCode == disabled_HASH) + { + return HttpEndpointEnum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HttpEndpointEnum::NOT_SET; + } + + Aws::String GetNameForHttpEndpointEnum(HttpEndpointEnum enumValue) + { + switch(enumValue) + { + case HttpEndpointEnum::NOT_SET: + return {}; + case HttpEndpointEnum::enabled: + return "enabled"; + case HttpEndpointEnum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HttpEndpointEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.cpp new file mode 100644 index 00000000000..c96b7a1b74b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpProtocolIpv6Enum.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 WorkspacesInstances + { + namespace Model + { + namespace HttpProtocolIpv6EnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + HttpProtocolIpv6Enum GetHttpProtocolIpv6EnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return HttpProtocolIpv6Enum::enabled; + } + else if (hashCode == disabled_HASH) + { + return HttpProtocolIpv6Enum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HttpProtocolIpv6Enum::NOT_SET; + } + + Aws::String GetNameForHttpProtocolIpv6Enum(HttpProtocolIpv6Enum enumValue) + { + switch(enumValue) + { + case HttpProtocolIpv6Enum::NOT_SET: + return {}; + case HttpProtocolIpv6Enum::enabled: + return "enabled"; + case HttpProtocolIpv6Enum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HttpProtocolIpv6EnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.cpp new file mode 100644 index 00000000000..a6cb443a90c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/HttpTokensEnum.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 WorkspacesInstances + { + namespace Model + { + namespace HttpTokensEnumMapper + { + + static const int optional_HASH = HashingUtils::HashString("optional"); + static const int required_HASH = HashingUtils::HashString("required"); + + + HttpTokensEnum GetHttpTokensEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == optional_HASH) + { + return HttpTokensEnum::optional; + } + else if (hashCode == required_HASH) + { + return HttpTokensEnum::required; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return HttpTokensEnum::NOT_SET; + } + + Aws::String GetNameForHttpTokensEnum(HttpTokensEnum enumValue) + { + switch(enumValue) + { + case HttpTokensEnum::NOT_SET: + return {}; + case HttpTokensEnum::optional: + return "optional"; + case HttpTokensEnum::required: + return "required"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace HttpTokensEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp new file mode 100644 index 00000000000..ead9529c918 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/IamInstanceProfileSpecification.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +IamInstanceProfileSpecification::IamInstanceProfileSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +IamInstanceProfileSpecification& IamInstanceProfileSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + m_arnHasBeenSet = true; + } + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + return *this; +} + +JsonValue IamInstanceProfileSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.cpp new file mode 100644 index 00000000000..a2a1d101740 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceInterruptionBehaviorEnum.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 WorkspacesInstances + { + namespace Model + { + namespace InstanceInterruptionBehaviorEnumMapper + { + + static const int hibernate_HASH = HashingUtils::HashString("hibernate"); + static const int stop_HASH = HashingUtils::HashString("stop"); + + + InstanceInterruptionBehaviorEnum GetInstanceInterruptionBehaviorEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == hibernate_HASH) + { + return InstanceInterruptionBehaviorEnum::hibernate; + } + else if (hashCode == stop_HASH) + { + return InstanceInterruptionBehaviorEnum::stop; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InstanceInterruptionBehaviorEnum::NOT_SET; + } + + Aws::String GetNameForInstanceInterruptionBehaviorEnum(InstanceInterruptionBehaviorEnum enumValue) + { + switch(enumValue) + { + case InstanceInterruptionBehaviorEnum::NOT_SET: + return {}; + case InstanceInterruptionBehaviorEnum::hibernate: + return "hibernate"; + case InstanceInterruptionBehaviorEnum::stop: + return "stop"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InstanceInterruptionBehaviorEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp new file mode 100644 index 00000000000..a5731283a66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceIpv6Address.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceIpv6Address::InstanceIpv6Address(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceIpv6Address& InstanceIpv6Address::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Ipv6Address")) + { + m_ipv6Address = jsonValue.GetString("Ipv6Address"); + m_ipv6AddressHasBeenSet = true; + } + if(jsonValue.ValueExists("IsPrimaryIpv6")) + { + m_isPrimaryIpv6 = jsonValue.GetBool("IsPrimaryIpv6"); + m_isPrimaryIpv6HasBeenSet = true; + } + return *this; +} + +JsonValue InstanceIpv6Address::Jsonize() const +{ + JsonValue payload; + + if(m_ipv6AddressHasBeenSet) + { + payload.WithString("Ipv6Address", m_ipv6Address); + + } + + if(m_isPrimaryIpv6HasBeenSet) + { + payload.WithBool("IsPrimaryIpv6", m_isPrimaryIpv6); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp new file mode 100644 index 00000000000..f084322a9da --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMaintenanceOptionsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceMaintenanceOptionsRequest::InstanceMaintenanceOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceMaintenanceOptionsRequest& InstanceMaintenanceOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AutoRecovery")) + { + m_autoRecovery = AutoRecoveryEnumMapper::GetAutoRecoveryEnumForName(jsonValue.GetString("AutoRecovery")); + m_autoRecoveryHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceMaintenanceOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_autoRecoveryHasBeenSet) + { + payload.WithString("AutoRecovery", AutoRecoveryEnumMapper::GetNameForAutoRecoveryEnum(m_autoRecovery)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp new file mode 100644 index 00000000000..37092672604 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMarketOptionsRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceMarketOptionsRequest::InstanceMarketOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceMarketOptionsRequest& InstanceMarketOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MarketType")) + { + m_marketType = MarketTypeEnumMapper::GetMarketTypeEnumForName(jsonValue.GetString("MarketType")); + m_marketTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("SpotOptions")) + { + m_spotOptions = jsonValue.GetObject("SpotOptions"); + m_spotOptionsHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceMarketOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_marketTypeHasBeenSet) + { + payload.WithString("MarketType", MarketTypeEnumMapper::GetNameForMarketTypeEnum(m_marketType)); + } + + if(m_spotOptionsHasBeenSet) + { + payload.WithObject("SpotOptions", m_spotOptions.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp new file mode 100644 index 00000000000..557bab42ab2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataOptionsRequest.cpp @@ -0,0 +1,91 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + +InstanceMetadataOptionsRequest::InstanceMetadataOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceMetadataOptionsRequest& InstanceMetadataOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("HttpEndpoint")) + { + m_httpEndpoint = HttpEndpointEnumMapper::GetHttpEndpointEnumForName(jsonValue.GetString("HttpEndpoint")); + m_httpEndpointHasBeenSet = true; + } + if(jsonValue.ValueExists("HttpProtocolIpv6")) + { + m_httpProtocolIpv6 = HttpProtocolIpv6EnumMapper::GetHttpProtocolIpv6EnumForName(jsonValue.GetString("HttpProtocolIpv6")); + m_httpProtocolIpv6HasBeenSet = true; + } + if(jsonValue.ValueExists("HttpPutResponseHopLimit")) + { + m_httpPutResponseHopLimit = jsonValue.GetInteger("HttpPutResponseHopLimit"); + m_httpPutResponseHopLimitHasBeenSet = true; + } + if(jsonValue.ValueExists("HttpTokens")) + { + m_httpTokens = HttpTokensEnumMapper::GetHttpTokensEnumForName(jsonValue.GetString("HttpTokens")); + m_httpTokensHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceMetadataTags")) + { + m_instanceMetadataTags = InstanceMetadataTagsEnumMapper::GetInstanceMetadataTagsEnumForName(jsonValue.GetString("InstanceMetadataTags")); + m_instanceMetadataTagsHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceMetadataOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_httpEndpointHasBeenSet) + { + payload.WithString("HttpEndpoint", HttpEndpointEnumMapper::GetNameForHttpEndpointEnum(m_httpEndpoint)); + } + + if(m_httpProtocolIpv6HasBeenSet) + { + payload.WithString("HttpProtocolIpv6", HttpProtocolIpv6EnumMapper::GetNameForHttpProtocolIpv6Enum(m_httpProtocolIpv6)); + } + + if(m_httpPutResponseHopLimitHasBeenSet) + { + payload.WithInteger("HttpPutResponseHopLimit", m_httpPutResponseHopLimit); + + } + + if(m_httpTokensHasBeenSet) + { + payload.WithString("HttpTokens", HttpTokensEnumMapper::GetNameForHttpTokensEnum(m_httpTokens)); + } + + if(m_instanceMetadataTagsHasBeenSet) + { + payload.WithString("InstanceMetadataTags", InstanceMetadataTagsEnumMapper::GetNameForInstanceMetadataTagsEnum(m_instanceMetadataTags)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.cpp new file mode 100644 index 00000000000..c258ed1109a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceMetadataTagsEnum.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 WorkspacesInstances + { + namespace Model + { + namespace InstanceMetadataTagsEnumMapper + { + + static const int enabled_HASH = HashingUtils::HashString("enabled"); + static const int disabled_HASH = HashingUtils::HashString("disabled"); + + + InstanceMetadataTagsEnum GetInstanceMetadataTagsEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == enabled_HASH) + { + return InstanceMetadataTagsEnum::enabled; + } + else if (hashCode == disabled_HASH) + { + return InstanceMetadataTagsEnum::disabled; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InstanceMetadataTagsEnum::NOT_SET; + } + + Aws::String GetNameForInstanceMetadataTagsEnum(InstanceMetadataTagsEnum enumValue) + { + switch(enumValue) + { + case InstanceMetadataTagsEnum::NOT_SET: + return {}; + case InstanceMetadataTagsEnum::enabled: + return "enabled"; + case InstanceMetadataTagsEnum::disabled: + return "disabled"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InstanceMetadataTagsEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp new file mode 100644 index 00000000000..8e187d2639e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkInterfaceSpecification.cpp @@ -0,0 +1,315 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + +InstanceNetworkInterfaceSpecification::InstanceNetworkInterfaceSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceNetworkInterfaceSpecification& InstanceNetworkInterfaceSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AssociateCarrierIpAddress")) + { + m_associateCarrierIpAddress = jsonValue.GetBool("AssociateCarrierIpAddress"); + m_associateCarrierIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("AssociatePublicIpAddress")) + { + m_associatePublicIpAddress = jsonValue.GetBool("AssociatePublicIpAddress"); + m_associatePublicIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("ConnectionTrackingSpecification")) + { + m_connectionTrackingSpecification = jsonValue.GetObject("ConnectionTrackingSpecification"); + m_connectionTrackingSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + m_descriptionHasBeenSet = true; + } + if(jsonValue.ValueExists("DeviceIndex")) + { + m_deviceIndex = jsonValue.GetInteger("DeviceIndex"); + m_deviceIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("EnaSrdSpecification")) + { + m_enaSrdSpecification = jsonValue.GetObject("EnaSrdSpecification"); + m_enaSrdSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("InterfaceType")) + { + m_interfaceType = InterfaceTypeEnumMapper::GetInterfaceTypeEnumForName(jsonValue.GetString("InterfaceType")); + m_interfaceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv4Prefixes")) + { + Aws::Utils::Array ipv4PrefixesJsonList = jsonValue.GetArray("Ipv4Prefixes"); + for(unsigned ipv4PrefixesIndex = 0; ipv4PrefixesIndex < ipv4PrefixesJsonList.GetLength(); ++ipv4PrefixesIndex) + { + m_ipv4Prefixes.push_back(ipv4PrefixesJsonList[ipv4PrefixesIndex].AsObject()); + } + m_ipv4PrefixesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv4PrefixCount")) + { + m_ipv4PrefixCount = jsonValue.GetInteger("Ipv4PrefixCount"); + m_ipv4PrefixCountHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6AddressCount")) + { + m_ipv6AddressCount = jsonValue.GetInteger("Ipv6AddressCount"); + m_ipv6AddressCountHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6Addresses")) + { + Aws::Utils::Array ipv6AddressesJsonList = jsonValue.GetArray("Ipv6Addresses"); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + m_ipv6Addresses.push_back(ipv6AddressesJsonList[ipv6AddressesIndex].AsObject()); + } + m_ipv6AddressesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6Prefixes")) + { + Aws::Utils::Array ipv6PrefixesJsonList = jsonValue.GetArray("Ipv6Prefixes"); + for(unsigned ipv6PrefixesIndex = 0; ipv6PrefixesIndex < ipv6PrefixesJsonList.GetLength(); ++ipv6PrefixesIndex) + { + m_ipv6Prefixes.push_back(ipv6PrefixesJsonList[ipv6PrefixesIndex].AsObject()); + } + m_ipv6PrefixesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6PrefixCount")) + { + m_ipv6PrefixCount = jsonValue.GetInteger("Ipv6PrefixCount"); + m_ipv6PrefixCountHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkCardIndex")) + { + m_networkCardIndex = jsonValue.GetInteger("NetworkCardIndex"); + m_networkCardIndexHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkInterfaceId")) + { + m_networkInterfaceId = jsonValue.GetString("NetworkInterfaceId"); + m_networkInterfaceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("PrimaryIpv6")) + { + m_primaryIpv6 = jsonValue.GetBool("PrimaryIpv6"); + m_primaryIpv6HasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("PrivateIpAddress"); + m_privateIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddresses")) + { + Aws::Utils::Array privateIpAddressesJsonList = jsonValue.GetArray("PrivateIpAddresses"); + for(unsigned privateIpAddressesIndex = 0; privateIpAddressesIndex < privateIpAddressesJsonList.GetLength(); ++privateIpAddressesIndex) + { + m_privateIpAddresses.push_back(privateIpAddressesJsonList[privateIpAddressesIndex].AsObject()); + } + m_privateIpAddressesHasBeenSet = true; + } + if(jsonValue.ValueExists("SecondaryPrivateIpAddressCount")) + { + m_secondaryPrivateIpAddressCount = jsonValue.GetInteger("SecondaryPrivateIpAddressCount"); + m_secondaryPrivateIpAddressCountHasBeenSet = true; + } + if(jsonValue.ValueExists("Groups")) + { + Aws::Utils::Array groupsJsonList = jsonValue.GetArray("Groups"); + for(unsigned groupsIndex = 0; groupsIndex < groupsJsonList.GetLength(); ++groupsIndex) + { + m_groups.push_back(groupsJsonList[groupsIndex].AsString()); + } + m_groupsHasBeenSet = true; + } + if(jsonValue.ValueExists("SubnetId")) + { + m_subnetId = jsonValue.GetString("SubnetId"); + m_subnetIdHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceNetworkInterfaceSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_associateCarrierIpAddressHasBeenSet) + { + payload.WithBool("AssociateCarrierIpAddress", m_associateCarrierIpAddress); + + } + + if(m_associatePublicIpAddressHasBeenSet) + { + payload.WithBool("AssociatePublicIpAddress", m_associatePublicIpAddress); + + } + + if(m_connectionTrackingSpecificationHasBeenSet) + { + payload.WithObject("ConnectionTrackingSpecification", m_connectionTrackingSpecification.Jsonize()); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_deviceIndexHasBeenSet) + { + payload.WithInteger("DeviceIndex", m_deviceIndex); + + } + + if(m_enaSrdSpecificationHasBeenSet) + { + payload.WithObject("EnaSrdSpecification", m_enaSrdSpecification.Jsonize()); + + } + + if(m_interfaceTypeHasBeenSet) + { + payload.WithString("InterfaceType", InterfaceTypeEnumMapper::GetNameForInterfaceTypeEnum(m_interfaceType)); + } + + if(m_ipv4PrefixesHasBeenSet) + { + Aws::Utils::Array ipv4PrefixesJsonList(m_ipv4Prefixes.size()); + for(unsigned ipv4PrefixesIndex = 0; ipv4PrefixesIndex < ipv4PrefixesJsonList.GetLength(); ++ipv4PrefixesIndex) + { + ipv4PrefixesJsonList[ipv4PrefixesIndex].AsObject(m_ipv4Prefixes[ipv4PrefixesIndex].Jsonize()); + } + payload.WithArray("Ipv4Prefixes", std::move(ipv4PrefixesJsonList)); + + } + + if(m_ipv4PrefixCountHasBeenSet) + { + payload.WithInteger("Ipv4PrefixCount", m_ipv4PrefixCount); + + } + + if(m_ipv6AddressCountHasBeenSet) + { + payload.WithInteger("Ipv6AddressCount", m_ipv6AddressCount); + + } + + if(m_ipv6AddressesHasBeenSet) + { + Aws::Utils::Array ipv6AddressesJsonList(m_ipv6Addresses.size()); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + ipv6AddressesJsonList[ipv6AddressesIndex].AsObject(m_ipv6Addresses[ipv6AddressesIndex].Jsonize()); + } + payload.WithArray("Ipv6Addresses", std::move(ipv6AddressesJsonList)); + + } + + if(m_ipv6PrefixesHasBeenSet) + { + Aws::Utils::Array ipv6PrefixesJsonList(m_ipv6Prefixes.size()); + for(unsigned ipv6PrefixesIndex = 0; ipv6PrefixesIndex < ipv6PrefixesJsonList.GetLength(); ++ipv6PrefixesIndex) + { + ipv6PrefixesJsonList[ipv6PrefixesIndex].AsObject(m_ipv6Prefixes[ipv6PrefixesIndex].Jsonize()); + } + payload.WithArray("Ipv6Prefixes", std::move(ipv6PrefixesJsonList)); + + } + + if(m_ipv6PrefixCountHasBeenSet) + { + payload.WithInteger("Ipv6PrefixCount", m_ipv6PrefixCount); + + } + + if(m_networkCardIndexHasBeenSet) + { + payload.WithInteger("NetworkCardIndex", m_networkCardIndex); + + } + + if(m_networkInterfaceIdHasBeenSet) + { + payload.WithString("NetworkInterfaceId", m_networkInterfaceId); + + } + + if(m_primaryIpv6HasBeenSet) + { + payload.WithBool("PrimaryIpv6", m_primaryIpv6); + + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("PrivateIpAddress", m_privateIpAddress); + + } + + if(m_privateIpAddressesHasBeenSet) + { + Aws::Utils::Array privateIpAddressesJsonList(m_privateIpAddresses.size()); + for(unsigned privateIpAddressesIndex = 0; privateIpAddressesIndex < privateIpAddressesJsonList.GetLength(); ++privateIpAddressesIndex) + { + privateIpAddressesJsonList[privateIpAddressesIndex].AsObject(m_privateIpAddresses[privateIpAddressesIndex].Jsonize()); + } + payload.WithArray("PrivateIpAddresses", std::move(privateIpAddressesJsonList)); + + } + + if(m_secondaryPrivateIpAddressCountHasBeenSet) + { + payload.WithInteger("SecondaryPrivateIpAddressCount", m_secondaryPrivateIpAddressCount); + + } + + if(m_groupsHasBeenSet) + { + Aws::Utils::Array groupsJsonList(m_groups.size()); + for(unsigned groupsIndex = 0; groupsIndex < groupsJsonList.GetLength(); ++groupsIndex) + { + groupsJsonList[groupsIndex].AsString(m_groups[groupsIndex]); + } + payload.WithArray("Groups", std::move(groupsJsonList)); + + } + + if(m_subnetIdHasBeenSet) + { + payload.WithString("SubnetId", m_subnetId); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp new file mode 100644 index 00000000000..fdeeb5e80f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceNetworkPerformanceOptionsRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceNetworkPerformanceOptionsRequest::InstanceNetworkPerformanceOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceNetworkPerformanceOptionsRequest& InstanceNetworkPerformanceOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BandwidthWeighting")) + { + m_bandwidthWeighting = BandwidthWeightingEnumMapper::GetBandwidthWeightingEnumForName(jsonValue.GetString("BandwidthWeighting")); + m_bandwidthWeightingHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceNetworkPerformanceOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_bandwidthWeightingHasBeenSet) + { + payload.WithString("BandwidthWeighting", BandwidthWeightingEnumMapper::GetNameForBandwidthWeightingEnum(m_bandwidthWeighting)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp new file mode 100644 index 00000000000..8a44904e2ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InstanceTypeInfo.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InstanceTypeInfo::InstanceTypeInfo(JsonView jsonValue) +{ + *this = jsonValue; +} + +InstanceTypeInfo& InstanceTypeInfo::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceType")) + { + m_instanceType = jsonValue.GetString("InstanceType"); + m_instanceTypeHasBeenSet = true; + } + return *this; +} + +JsonValue InstanceTypeInfo::Jsonize() const +{ + JsonValue payload; + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("InstanceType", m_instanceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp new file mode 100644 index 00000000000..d607d65e636 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InterfaceTypeEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace InterfaceTypeEnumMapper + { + + static const int interface_HASH = HashingUtils::HashString("interface"); + static const int efa_HASH = HashingUtils::HashString("efa"); + static const int efa_only_HASH = HashingUtils::HashString("efa-only"); + + + InterfaceTypeEnum GetInterfaceTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == interface_HASH) + { + return InterfaceTypeEnum::interface; + } + else if (hashCode == efa_HASH) + { + return InterfaceTypeEnum::efa; + } + else if (hashCode == efa_only_HASH) + { + return InterfaceTypeEnum::efa_only; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return InterfaceTypeEnum::NOT_SET; + } + + Aws::String GetNameForInterfaceTypeEnum(InterfaceTypeEnum enumValue) + { + switch(enumValue) + { + case InterfaceTypeEnum::NOT_SET: + return {}; + case InterfaceTypeEnum::interface: + return "interface"; + case InterfaceTypeEnum::efa: + return "efa"; + case InterfaceTypeEnum::efa_only: + return "efa-only"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace InterfaceTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp new file mode 100644 index 00000000000..b392450c3bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/InternalServerException.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +InternalServerException::InternalServerException(JsonView jsonValue) +{ + *this = jsonValue; +} + +InternalServerException& InternalServerException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("RetryAfterSeconds")) + { + m_retryAfterSeconds = jsonValue.GetInteger("RetryAfterSeconds"); + m_retryAfterSecondsHasBeenSet = true; + } + return *this; +} + +JsonValue InternalServerException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_retryAfterSecondsHasBeenSet) + { + payload.WithInteger("RetryAfterSeconds", m_retryAfterSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp new file mode 100644 index 00000000000..ce1a586f641 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv4PrefixSpecificationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Ipv4PrefixSpecificationRequest::Ipv4PrefixSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +Ipv4PrefixSpecificationRequest& Ipv4PrefixSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Ipv4Prefix")) + { + m_ipv4Prefix = jsonValue.GetString("Ipv4Prefix"); + m_ipv4PrefixHasBeenSet = true; + } + return *this; +} + +JsonValue Ipv4PrefixSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_ipv4PrefixHasBeenSet) + { + payload.WithString("Ipv4Prefix", m_ipv4Prefix); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp new file mode 100644 index 00000000000..ea7c73bc270 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Ipv6PrefixSpecificationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Ipv6PrefixSpecificationRequest::Ipv6PrefixSpecificationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +Ipv6PrefixSpecificationRequest& Ipv6PrefixSpecificationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Ipv6Prefix")) + { + m_ipv6Prefix = jsonValue.GetString("Ipv6Prefix"); + m_ipv6PrefixHasBeenSet = true; + } + return *this; +} + +JsonValue Ipv6PrefixSpecificationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_ipv6PrefixHasBeenSet) + { + payload.WithString("Ipv6Prefix", m_ipv6Prefix); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp new file mode 100644 index 00000000000..77eeab0f915 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/LicenseConfigurationRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +LicenseConfigurationRequest::LicenseConfigurationRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +LicenseConfigurationRequest& LicenseConfigurationRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LicenseConfigurationArn")) + { + m_licenseConfigurationArn = jsonValue.GetString("LicenseConfigurationArn"); + m_licenseConfigurationArnHasBeenSet = true; + } + return *this; +} + +JsonValue LicenseConfigurationRequest::Jsonize() const +{ + JsonValue payload; + + if(m_licenseConfigurationArnHasBeenSet) + { + payload.WithString("LicenseConfigurationArn", m_licenseConfigurationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp new file mode 100644 index 00000000000..c5313225ba6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListInstanceTypesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListInstanceTypesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListInstanceTypes")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp new file mode 100644 index 00000000000..f9f769228e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListInstanceTypesResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListInstanceTypesResult::ListInstanceTypesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListInstanceTypesResult& ListInstanceTypesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("InstanceTypes")) + { + Aws::Utils::Array instanceTypesJsonList = jsonValue.GetArray("InstanceTypes"); + for(unsigned instanceTypesIndex = 0; instanceTypesIndex < instanceTypesJsonList.GetLength(); ++instanceTypesIndex) + { + m_instanceTypes.push_back(instanceTypesJsonList[instanceTypesIndex].AsObject()); + } + m_instanceTypesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp new file mode 100644 index 00000000000..a35f1fcfcf0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsRequest.cpp @@ -0,0 +1,44 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListRegionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListRegionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListRegions")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp new file mode 100644 index 00000000000..d2a267e1aaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListRegionsResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListRegionsResult::ListRegionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListRegionsResult& ListRegionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Regions")) + { + Aws::Utils::Array regionsJsonList = jsonValue.GetArray("Regions"); + for(unsigned regionsIndex = 0; regionsIndex < regionsJsonList.GetLength(); ++regionsIndex) + { + m_regions.push_back(regionsJsonList[regionsIndex].AsObject()); + } + m_regionsHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..97951660a62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTagsForResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListTagsForResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..6187805f575 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp new file mode 100644 index 00000000000..45eb7d9f72b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesRequest.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String ListWorkspaceInstancesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_provisionStatesHasBeenSet) + { + Aws::Utils::Array provisionStatesJsonList(m_provisionStates.size()); + for(unsigned provisionStatesIndex = 0; provisionStatesIndex < provisionStatesJsonList.GetLength(); ++provisionStatesIndex) + { + provisionStatesJsonList[provisionStatesIndex].AsString(ProvisionStateEnumMapper::GetNameForProvisionStateEnum(m_provisionStates[provisionStatesIndex])); + } + payload.WithArray("ProvisionStates", std::move(provisionStatesJsonList)); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListWorkspaceInstancesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.ListWorkspaceInstances")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp new file mode 100644 index 00000000000..dbc491c0f85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ListWorkspaceInstancesResult.cpp @@ -0,0 +1,53 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListWorkspaceInstancesResult::ListWorkspaceInstancesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListWorkspaceInstancesResult& ListWorkspaceInstancesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("WorkspaceInstances")) + { + Aws::Utils::Array workspaceInstancesJsonList = jsonValue.GetArray("WorkspaceInstances"); + for(unsigned workspaceInstancesIndex = 0; workspaceInstancesIndex < workspaceInstancesJsonList.GetLength(); ++workspaceInstancesIndex) + { + m_workspaceInstances.push_back(workspaceInstancesJsonList[workspaceInstancesIndex].AsObject()); + } + m_workspaceInstancesHasBeenSet = true; + } + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + m_nextTokenHasBeenSet = true; + } + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp new file mode 100644 index 00000000000..aa534b61a91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ManagedInstanceRequest.cpp @@ -0,0 +1,455 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + +ManagedInstanceRequest::ManagedInstanceRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +ManagedInstanceRequest& ManagedInstanceRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BlockDeviceMappings")) + { + Aws::Utils::Array blockDeviceMappingsJsonList = jsonValue.GetArray("BlockDeviceMappings"); + for(unsigned blockDeviceMappingsIndex = 0; blockDeviceMappingsIndex < blockDeviceMappingsJsonList.GetLength(); ++blockDeviceMappingsIndex) + { + m_blockDeviceMappings.push_back(blockDeviceMappingsJsonList[blockDeviceMappingsIndex].AsObject()); + } + m_blockDeviceMappingsHasBeenSet = true; + } + if(jsonValue.ValueExists("CapacityReservationSpecification")) + { + m_capacityReservationSpecification = jsonValue.GetObject("CapacityReservationSpecification"); + m_capacityReservationSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("CpuOptions")) + { + m_cpuOptions = jsonValue.GetObject("CpuOptions"); + m_cpuOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("CreditSpecification")) + { + m_creditSpecification = jsonValue.GetObject("CreditSpecification"); + m_creditSpecificationHasBeenSet = true; + } + if(jsonValue.ValueExists("DisableApiStop")) + { + m_disableApiStop = jsonValue.GetBool("DisableApiStop"); + m_disableApiStopHasBeenSet = true; + } + if(jsonValue.ValueExists("EbsOptimized")) + { + m_ebsOptimized = jsonValue.GetBool("EbsOptimized"); + m_ebsOptimizedHasBeenSet = true; + } + if(jsonValue.ValueExists("EnablePrimaryIpv6")) + { + m_enablePrimaryIpv6 = jsonValue.GetBool("EnablePrimaryIpv6"); + m_enablePrimaryIpv6HasBeenSet = true; + } + if(jsonValue.ValueExists("EnclaveOptions")) + { + m_enclaveOptions = jsonValue.GetObject("EnclaveOptions"); + m_enclaveOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("HibernationOptions")) + { + m_hibernationOptions = jsonValue.GetObject("HibernationOptions"); + m_hibernationOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("IamInstanceProfile")) + { + m_iamInstanceProfile = jsonValue.GetObject("IamInstanceProfile"); + m_iamInstanceProfileHasBeenSet = true; + } + if(jsonValue.ValueExists("ImageId")) + { + m_imageId = jsonValue.GetString("ImageId"); + m_imageIdHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceMarketOptions")) + { + m_instanceMarketOptions = jsonValue.GetObject("InstanceMarketOptions"); + m_instanceMarketOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceType")) + { + m_instanceType = jsonValue.GetString("InstanceType"); + m_instanceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6Addresses")) + { + Aws::Utils::Array ipv6AddressesJsonList = jsonValue.GetArray("Ipv6Addresses"); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + m_ipv6Addresses.push_back(ipv6AddressesJsonList[ipv6AddressesIndex].AsObject()); + } + m_ipv6AddressesHasBeenSet = true; + } + if(jsonValue.ValueExists("Ipv6AddressCount")) + { + m_ipv6AddressCount = jsonValue.GetInteger("Ipv6AddressCount"); + m_ipv6AddressCountHasBeenSet = true; + } + if(jsonValue.ValueExists("KernelId")) + { + m_kernelId = jsonValue.GetString("KernelId"); + m_kernelIdHasBeenSet = true; + } + if(jsonValue.ValueExists("KeyName")) + { + m_keyName = jsonValue.GetString("KeyName"); + m_keyNameHasBeenSet = true; + } + if(jsonValue.ValueExists("LicenseSpecifications")) + { + Aws::Utils::Array licenseSpecificationsJsonList = jsonValue.GetArray("LicenseSpecifications"); + for(unsigned licenseSpecificationsIndex = 0; licenseSpecificationsIndex < licenseSpecificationsJsonList.GetLength(); ++licenseSpecificationsIndex) + { + m_licenseSpecifications.push_back(licenseSpecificationsJsonList[licenseSpecificationsIndex].AsObject()); + } + m_licenseSpecificationsHasBeenSet = true; + } + if(jsonValue.ValueExists("MaintenanceOptions")) + { + m_maintenanceOptions = jsonValue.GetObject("MaintenanceOptions"); + m_maintenanceOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("MetadataOptions")) + { + m_metadataOptions = jsonValue.GetObject("MetadataOptions"); + m_metadataOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("Monitoring")) + { + m_monitoring = jsonValue.GetObject("Monitoring"); + m_monitoringHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkInterfaces")) + { + Aws::Utils::Array networkInterfacesJsonList = jsonValue.GetArray("NetworkInterfaces"); + for(unsigned networkInterfacesIndex = 0; networkInterfacesIndex < networkInterfacesJsonList.GetLength(); ++networkInterfacesIndex) + { + m_networkInterfaces.push_back(networkInterfacesJsonList[networkInterfacesIndex].AsObject()); + } + m_networkInterfacesHasBeenSet = true; + } + if(jsonValue.ValueExists("NetworkPerformanceOptions")) + { + m_networkPerformanceOptions = jsonValue.GetObject("NetworkPerformanceOptions"); + m_networkPerformanceOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("Placement")) + { + m_placement = jsonValue.GetObject("Placement"); + m_placementHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateDnsNameOptions")) + { + m_privateDnsNameOptions = jsonValue.GetObject("PrivateDnsNameOptions"); + m_privateDnsNameOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("PrivateIpAddress"); + m_privateIpAddressHasBeenSet = true; + } + if(jsonValue.ValueExists("RamdiskId")) + { + m_ramdiskId = jsonValue.GetString("RamdiskId"); + m_ramdiskIdHasBeenSet = true; + } + if(jsonValue.ValueExists("SecurityGroupIds")) + { + Aws::Utils::Array securityGroupIdsJsonList = jsonValue.GetArray("SecurityGroupIds"); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + m_securityGroupIds.push_back(securityGroupIdsJsonList[securityGroupIdsIndex].AsString()); + } + m_securityGroupIdsHasBeenSet = true; + } + if(jsonValue.ValueExists("SecurityGroups")) + { + Aws::Utils::Array securityGroupsJsonList = jsonValue.GetArray("SecurityGroups"); + for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex) + { + m_securityGroups.push_back(securityGroupsJsonList[securityGroupsIndex].AsString()); + } + m_securityGroupsHasBeenSet = true; + } + if(jsonValue.ValueExists("SubnetId")) + { + m_subnetId = jsonValue.GetString("SubnetId"); + m_subnetIdHasBeenSet = true; + } + if(jsonValue.ValueExists("TagSpecifications")) + { + Aws::Utils::Array tagSpecificationsJsonList = jsonValue.GetArray("TagSpecifications"); + for(unsigned tagSpecificationsIndex = 0; tagSpecificationsIndex < tagSpecificationsJsonList.GetLength(); ++tagSpecificationsIndex) + { + m_tagSpecifications.push_back(tagSpecificationsJsonList[tagSpecificationsIndex].AsObject()); + } + m_tagSpecificationsHasBeenSet = true; + } + if(jsonValue.ValueExists("UserData")) + { + m_userData = jsonValue.GetString("UserData"); + m_userDataHasBeenSet = true; + } + return *this; +} + +JsonValue ManagedInstanceRequest::Jsonize() const +{ + JsonValue payload; + + if(m_blockDeviceMappingsHasBeenSet) + { + Aws::Utils::Array blockDeviceMappingsJsonList(m_blockDeviceMappings.size()); + for(unsigned blockDeviceMappingsIndex = 0; blockDeviceMappingsIndex < blockDeviceMappingsJsonList.GetLength(); ++blockDeviceMappingsIndex) + { + blockDeviceMappingsJsonList[blockDeviceMappingsIndex].AsObject(m_blockDeviceMappings[blockDeviceMappingsIndex].Jsonize()); + } + payload.WithArray("BlockDeviceMappings", std::move(blockDeviceMappingsJsonList)); + + } + + if(m_capacityReservationSpecificationHasBeenSet) + { + payload.WithObject("CapacityReservationSpecification", m_capacityReservationSpecification.Jsonize()); + + } + + if(m_cpuOptionsHasBeenSet) + { + payload.WithObject("CpuOptions", m_cpuOptions.Jsonize()); + + } + + if(m_creditSpecificationHasBeenSet) + { + payload.WithObject("CreditSpecification", m_creditSpecification.Jsonize()); + + } + + if(m_disableApiStopHasBeenSet) + { + payload.WithBool("DisableApiStop", m_disableApiStop); + + } + + if(m_ebsOptimizedHasBeenSet) + { + payload.WithBool("EbsOptimized", m_ebsOptimized); + + } + + if(m_enablePrimaryIpv6HasBeenSet) + { + payload.WithBool("EnablePrimaryIpv6", m_enablePrimaryIpv6); + + } + + if(m_enclaveOptionsHasBeenSet) + { + payload.WithObject("EnclaveOptions", m_enclaveOptions.Jsonize()); + + } + + if(m_hibernationOptionsHasBeenSet) + { + payload.WithObject("HibernationOptions", m_hibernationOptions.Jsonize()); + + } + + if(m_iamInstanceProfileHasBeenSet) + { + payload.WithObject("IamInstanceProfile", m_iamInstanceProfile.Jsonize()); + + } + + if(m_imageIdHasBeenSet) + { + payload.WithString("ImageId", m_imageId); + + } + + if(m_instanceMarketOptionsHasBeenSet) + { + payload.WithObject("InstanceMarketOptions", m_instanceMarketOptions.Jsonize()); + + } + + if(m_instanceTypeHasBeenSet) + { + payload.WithString("InstanceType", m_instanceType); + + } + + if(m_ipv6AddressesHasBeenSet) + { + Aws::Utils::Array ipv6AddressesJsonList(m_ipv6Addresses.size()); + for(unsigned ipv6AddressesIndex = 0; ipv6AddressesIndex < ipv6AddressesJsonList.GetLength(); ++ipv6AddressesIndex) + { + ipv6AddressesJsonList[ipv6AddressesIndex].AsObject(m_ipv6Addresses[ipv6AddressesIndex].Jsonize()); + } + payload.WithArray("Ipv6Addresses", std::move(ipv6AddressesJsonList)); + + } + + if(m_ipv6AddressCountHasBeenSet) + { + payload.WithInteger("Ipv6AddressCount", m_ipv6AddressCount); + + } + + if(m_kernelIdHasBeenSet) + { + payload.WithString("KernelId", m_kernelId); + + } + + if(m_keyNameHasBeenSet) + { + payload.WithString("KeyName", m_keyName); + + } + + if(m_licenseSpecificationsHasBeenSet) + { + Aws::Utils::Array licenseSpecificationsJsonList(m_licenseSpecifications.size()); + for(unsigned licenseSpecificationsIndex = 0; licenseSpecificationsIndex < licenseSpecificationsJsonList.GetLength(); ++licenseSpecificationsIndex) + { + licenseSpecificationsJsonList[licenseSpecificationsIndex].AsObject(m_licenseSpecifications[licenseSpecificationsIndex].Jsonize()); + } + payload.WithArray("LicenseSpecifications", std::move(licenseSpecificationsJsonList)); + + } + + if(m_maintenanceOptionsHasBeenSet) + { + payload.WithObject("MaintenanceOptions", m_maintenanceOptions.Jsonize()); + + } + + if(m_metadataOptionsHasBeenSet) + { + payload.WithObject("MetadataOptions", m_metadataOptions.Jsonize()); + + } + + if(m_monitoringHasBeenSet) + { + payload.WithObject("Monitoring", m_monitoring.Jsonize()); + + } + + if(m_networkInterfacesHasBeenSet) + { + Aws::Utils::Array networkInterfacesJsonList(m_networkInterfaces.size()); + for(unsigned networkInterfacesIndex = 0; networkInterfacesIndex < networkInterfacesJsonList.GetLength(); ++networkInterfacesIndex) + { + networkInterfacesJsonList[networkInterfacesIndex].AsObject(m_networkInterfaces[networkInterfacesIndex].Jsonize()); + } + payload.WithArray("NetworkInterfaces", std::move(networkInterfacesJsonList)); + + } + + if(m_networkPerformanceOptionsHasBeenSet) + { + payload.WithObject("NetworkPerformanceOptions", m_networkPerformanceOptions.Jsonize()); + + } + + if(m_placementHasBeenSet) + { + payload.WithObject("Placement", m_placement.Jsonize()); + + } + + if(m_privateDnsNameOptionsHasBeenSet) + { + payload.WithObject("PrivateDnsNameOptions", m_privateDnsNameOptions.Jsonize()); + + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("PrivateIpAddress", m_privateIpAddress); + + } + + if(m_ramdiskIdHasBeenSet) + { + payload.WithString("RamdiskId", m_ramdiskId); + + } + + if(m_securityGroupIdsHasBeenSet) + { + Aws::Utils::Array securityGroupIdsJsonList(m_securityGroupIds.size()); + for(unsigned securityGroupIdsIndex = 0; securityGroupIdsIndex < securityGroupIdsJsonList.GetLength(); ++securityGroupIdsIndex) + { + securityGroupIdsJsonList[securityGroupIdsIndex].AsString(m_securityGroupIds[securityGroupIdsIndex]); + } + payload.WithArray("SecurityGroupIds", std::move(securityGroupIdsJsonList)); + + } + + if(m_securityGroupsHasBeenSet) + { + Aws::Utils::Array securityGroupsJsonList(m_securityGroups.size()); + for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex) + { + securityGroupsJsonList[securityGroupsIndex].AsString(m_securityGroups[securityGroupsIndex]); + } + payload.WithArray("SecurityGroups", std::move(securityGroupsJsonList)); + + } + + if(m_subnetIdHasBeenSet) + { + payload.WithString("SubnetId", m_subnetId); + + } + + if(m_tagSpecificationsHasBeenSet) + { + Aws::Utils::Array tagSpecificationsJsonList(m_tagSpecifications.size()); + for(unsigned tagSpecificationsIndex = 0; tagSpecificationsIndex < tagSpecificationsJsonList.GetLength(); ++tagSpecificationsIndex) + { + tagSpecificationsJsonList[tagSpecificationsIndex].AsObject(m_tagSpecifications[tagSpecificationsIndex].Jsonize()); + } + payload.WithArray("TagSpecifications", std::move(tagSpecificationsJsonList)); + + } + + if(m_userDataHasBeenSet) + { + payload.WithString("UserData", m_userData); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.cpp new file mode 100644 index 00000000000..635507a697d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/MarketTypeEnum.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 WorkspacesInstances + { + namespace Model + { + namespace MarketTypeEnumMapper + { + + static const int spot_HASH = HashingUtils::HashString("spot"); + static const int capacity_block_HASH = HashingUtils::HashString("capacity-block"); + + + MarketTypeEnum GetMarketTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == spot_HASH) + { + return MarketTypeEnum::spot; + } + else if (hashCode == capacity_block_HASH) + { + return MarketTypeEnum::capacity_block; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MarketTypeEnum::NOT_SET; + } + + Aws::String GetNameForMarketTypeEnum(MarketTypeEnum enumValue) + { + switch(enumValue) + { + case MarketTypeEnum::NOT_SET: + return {}; + case MarketTypeEnum::spot: + return "spot"; + case MarketTypeEnum::capacity_block: + return "capacity-block"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MarketTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp new file mode 100644 index 00000000000..4de0070a804 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Placement.cpp @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Placement::Placement(JsonView jsonValue) +{ + *this = jsonValue; +} + +Placement& Placement::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Affinity")) + { + m_affinity = jsonValue.GetString("Affinity"); + m_affinityHasBeenSet = true; + } + if(jsonValue.ValueExists("AvailabilityZone")) + { + m_availabilityZone = jsonValue.GetString("AvailabilityZone"); + m_availabilityZoneHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupId")) + { + m_groupId = jsonValue.GetString("GroupId"); + m_groupIdHasBeenSet = true; + } + if(jsonValue.ValueExists("GroupName")) + { + m_groupName = jsonValue.GetString("GroupName"); + m_groupNameHasBeenSet = true; + } + if(jsonValue.ValueExists("HostId")) + { + m_hostId = jsonValue.GetString("HostId"); + m_hostIdHasBeenSet = true; + } + if(jsonValue.ValueExists("HostResourceGroupArn")) + { + m_hostResourceGroupArn = jsonValue.GetString("HostResourceGroupArn"); + m_hostResourceGroupArnHasBeenSet = true; + } + if(jsonValue.ValueExists("PartitionNumber")) + { + m_partitionNumber = jsonValue.GetInteger("PartitionNumber"); + m_partitionNumberHasBeenSet = true; + } + if(jsonValue.ValueExists("Tenancy")) + { + m_tenancy = TenancyEnumMapper::GetTenancyEnumForName(jsonValue.GetString("Tenancy")); + m_tenancyHasBeenSet = true; + } + return *this; +} + +JsonValue Placement::Jsonize() const +{ + JsonValue payload; + + if(m_affinityHasBeenSet) + { + payload.WithString("Affinity", m_affinity); + + } + + if(m_availabilityZoneHasBeenSet) + { + payload.WithString("AvailabilityZone", m_availabilityZone); + + } + + if(m_groupIdHasBeenSet) + { + payload.WithString("GroupId", m_groupId); + + } + + if(m_groupNameHasBeenSet) + { + payload.WithString("GroupName", m_groupName); + + } + + if(m_hostIdHasBeenSet) + { + payload.WithString("HostId", m_hostId); + + } + + if(m_hostResourceGroupArnHasBeenSet) + { + payload.WithString("HostResourceGroupArn", m_hostResourceGroupArn); + + } + + if(m_partitionNumberHasBeenSet) + { + payload.WithInteger("PartitionNumber", m_partitionNumber); + + } + + if(m_tenancyHasBeenSet) + { + payload.WithString("Tenancy", TenancyEnumMapper::GetNameForTenancyEnum(m_tenancy)); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp new file mode 100644 index 00000000000..b1f1004269f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateDnsNameOptionsRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +PrivateDnsNameOptionsRequest::PrivateDnsNameOptionsRequest(JsonView jsonValue) +{ + *this = jsonValue; +} + +PrivateDnsNameOptionsRequest& PrivateDnsNameOptionsRequest::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("HostnameType")) + { + m_hostnameType = HostnameTypeEnumMapper::GetHostnameTypeEnumForName(jsonValue.GetString("HostnameType")); + m_hostnameTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("EnableResourceNameDnsARecord")) + { + m_enableResourceNameDnsARecord = jsonValue.GetBool("EnableResourceNameDnsARecord"); + m_enableResourceNameDnsARecordHasBeenSet = true; + } + if(jsonValue.ValueExists("EnableResourceNameDnsAAAARecord")) + { + m_enableResourceNameDnsAAAARecord = jsonValue.GetBool("EnableResourceNameDnsAAAARecord"); + m_enableResourceNameDnsAAAARecordHasBeenSet = true; + } + return *this; +} + +JsonValue PrivateDnsNameOptionsRequest::Jsonize() const +{ + JsonValue payload; + + if(m_hostnameTypeHasBeenSet) + { + payload.WithString("HostnameType", HostnameTypeEnumMapper::GetNameForHostnameTypeEnum(m_hostnameType)); + } + + if(m_enableResourceNameDnsARecordHasBeenSet) + { + payload.WithBool("EnableResourceNameDnsARecord", m_enableResourceNameDnsARecord); + + } + + if(m_enableResourceNameDnsAAAARecordHasBeenSet) + { + payload.WithBool("EnableResourceNameDnsAAAARecord", m_enableResourceNameDnsAAAARecord); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp new file mode 100644 index 00000000000..0a38736dc81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/PrivateIpAddressSpecification.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +PrivateIpAddressSpecification::PrivateIpAddressSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +PrivateIpAddressSpecification& PrivateIpAddressSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Primary")) + { + m_primary = jsonValue.GetBool("Primary"); + m_primaryHasBeenSet = true; + } + if(jsonValue.ValueExists("PrivateIpAddress")) + { + m_privateIpAddress = jsonValue.GetString("PrivateIpAddress"); + m_privateIpAddressHasBeenSet = true; + } + return *this; +} + +JsonValue PrivateIpAddressSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_primaryHasBeenSet) + { + payload.WithBool("Primary", m_primary); + + } + + if(m_privateIpAddressHasBeenSet) + { + payload.WithString("PrivateIpAddress", m_privateIpAddress); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp new file mode 100644 index 00000000000..df39ac62aa5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ProvisionStateEnum.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace ProvisionStateEnumMapper + { + + static const int ALLOCATING_HASH = HashingUtils::HashString("ALLOCATING"); + static const int ALLOCATED_HASH = HashingUtils::HashString("ALLOCATED"); + static const int DEALLOCATING_HASH = HashingUtils::HashString("DEALLOCATING"); + static const int DEALLOCATED_HASH = HashingUtils::HashString("DEALLOCATED"); + static const int ERROR_ALLOCATING_HASH = HashingUtils::HashString("ERROR_ALLOCATING"); + static const int ERROR_DEALLOCATING_HASH = HashingUtils::HashString("ERROR_DEALLOCATING"); + + + ProvisionStateEnum GetProvisionStateEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ALLOCATING_HASH) + { + return ProvisionStateEnum::ALLOCATING; + } + else if (hashCode == ALLOCATED_HASH) + { + return ProvisionStateEnum::ALLOCATED; + } + else if (hashCode == DEALLOCATING_HASH) + { + return ProvisionStateEnum::DEALLOCATING; + } + else if (hashCode == DEALLOCATED_HASH) + { + return ProvisionStateEnum::DEALLOCATED; + } + else if (hashCode == ERROR_ALLOCATING_HASH) + { + return ProvisionStateEnum::ERROR_ALLOCATING; + } + else if (hashCode == ERROR_DEALLOCATING_HASH) + { + return ProvisionStateEnum::ERROR_DEALLOCATING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ProvisionStateEnum::NOT_SET; + } + + Aws::String GetNameForProvisionStateEnum(ProvisionStateEnum enumValue) + { + switch(enumValue) + { + case ProvisionStateEnum::NOT_SET: + return {}; + case ProvisionStateEnum::ALLOCATING: + return "ALLOCATING"; + case ProvisionStateEnum::ALLOCATED: + return "ALLOCATED"; + case ProvisionStateEnum::DEALLOCATING: + return "DEALLOCATING"; + case ProvisionStateEnum::DEALLOCATED: + return "DEALLOCATED"; + case ProvisionStateEnum::ERROR_ALLOCATING: + return "ERROR_ALLOCATING"; + case ProvisionStateEnum::ERROR_DEALLOCATING: + return "ERROR_DEALLOCATING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ProvisionStateEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp new file mode 100644 index 00000000000..1c228087bf8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Region.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Region::Region(JsonView jsonValue) +{ + *this = jsonValue; +} + +Region& Region::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RegionName")) + { + m_regionName = jsonValue.GetString("RegionName"); + m_regionNameHasBeenSet = true; + } + return *this; +} + +JsonValue Region::Jsonize() const +{ + JsonValue payload; + + if(m_regionNameHasBeenSet) + { + payload.WithString("RegionName", m_regionName); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..77d9270b219 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp new file mode 100644 index 00000000000..d925be1006d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ResourceTypeEnum.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace ResourceTypeEnumMapper + { + + static const int instance_HASH = HashingUtils::HashString("instance"); + static const int volume_HASH = HashingUtils::HashString("volume"); + static const int spot_instances_request_HASH = HashingUtils::HashString("spot-instances-request"); + static const int network_interface_HASH = HashingUtils::HashString("network-interface"); + + + ResourceTypeEnum GetResourceTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == instance_HASH) + { + return ResourceTypeEnum::instance; + } + else if (hashCode == volume_HASH) + { + return ResourceTypeEnum::volume; + } + else if (hashCode == spot_instances_request_HASH) + { + return ResourceTypeEnum::spot_instances_request; + } + else if (hashCode == network_interface_HASH) + { + return ResourceTypeEnum::network_interface; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ResourceTypeEnum::NOT_SET; + } + + Aws::String GetNameForResourceTypeEnum(ResourceTypeEnum enumValue) + { + switch(enumValue) + { + case ResourceTypeEnum::NOT_SET: + return {}; + case ResourceTypeEnum::instance: + return "instance"; + case ResourceTypeEnum::volume: + return "volume"; + case ResourceTypeEnum::spot_instances_request: + return "spot-instances-request"; + case ResourceTypeEnum::network_interface: + return "network-interface"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ResourceTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp new file mode 100644 index 00000000000..efbf9d7a3ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/RunInstancesMonitoringEnabled.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +RunInstancesMonitoringEnabled::RunInstancesMonitoringEnabled(JsonView jsonValue) +{ + *this = jsonValue; +} + +RunInstancesMonitoringEnabled& RunInstancesMonitoringEnabled::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Enabled")) + { + m_enabled = jsonValue.GetBool("Enabled"); + m_enabledHasBeenSet = true; + } + return *this; +} + +JsonValue RunInstancesMonitoringEnabled::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("Enabled", m_enabled); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp new file mode 100644 index 00000000000..d2042865534 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ServiceQuotaExceededException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ServiceQuotaExceededException::ServiceQuotaExceededException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ServiceQuotaExceededException& ServiceQuotaExceededException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + m_resourceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceCode")) + { + m_serviceCode = jsonValue.GetString("ServiceCode"); + m_serviceCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("QuotaCode")) + { + m_quotaCode = jsonValue.GetString("QuotaCode"); + m_quotaCodeHasBeenSet = true; + } + return *this; +} + +JsonValue ServiceQuotaExceededException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("ServiceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("QuotaCode", m_quotaCode); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.cpp new file mode 100644 index 00000000000..d7cf623a9f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotInstanceTypeEnum.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 WorkspacesInstances + { + namespace Model + { + namespace SpotInstanceTypeEnumMapper + { + + static const int one_time_HASH = HashingUtils::HashString("one-time"); + static const int persistent_HASH = HashingUtils::HashString("persistent"); + + + SpotInstanceTypeEnum GetSpotInstanceTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == one_time_HASH) + { + return SpotInstanceTypeEnum::one_time; + } + else if (hashCode == persistent_HASH) + { + return SpotInstanceTypeEnum::persistent; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SpotInstanceTypeEnum::NOT_SET; + } + + Aws::String GetNameForSpotInstanceTypeEnum(SpotInstanceTypeEnum enumValue) + { + switch(enumValue) + { + case SpotInstanceTypeEnum::NOT_SET: + return {}; + case SpotInstanceTypeEnum::one_time: + return "one-time"; + case SpotInstanceTypeEnum::persistent: + return "persistent"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SpotInstanceTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp new file mode 100644 index 00000000000..7e884bc4e35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/SpotMarketOptions.cpp @@ -0,0 +1,92 @@ +/** + * 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 WorkspacesInstances +{ +namespace Model +{ + +SpotMarketOptions::SpotMarketOptions(JsonView jsonValue) +{ + *this = jsonValue; +} + +SpotMarketOptions& SpotMarketOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BlockDurationMinutes")) + { + m_blockDurationMinutes = jsonValue.GetInteger("BlockDurationMinutes"); + m_blockDurationMinutesHasBeenSet = true; + } + if(jsonValue.ValueExists("InstanceInterruptionBehavior")) + { + m_instanceInterruptionBehavior = InstanceInterruptionBehaviorEnumMapper::GetInstanceInterruptionBehaviorEnumForName(jsonValue.GetString("InstanceInterruptionBehavior")); + m_instanceInterruptionBehaviorHasBeenSet = true; + } + if(jsonValue.ValueExists("MaxPrice")) + { + m_maxPrice = jsonValue.GetString("MaxPrice"); + m_maxPriceHasBeenSet = true; + } + if(jsonValue.ValueExists("SpotInstanceType")) + { + m_spotInstanceType = SpotInstanceTypeEnumMapper::GetSpotInstanceTypeEnumForName(jsonValue.GetString("SpotInstanceType")); + m_spotInstanceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("ValidUntilUtc")) + { + m_validUntilUtc = jsonValue.GetDouble("ValidUntilUtc"); + m_validUntilUtcHasBeenSet = true; + } + return *this; +} + +JsonValue SpotMarketOptions::Jsonize() const +{ + JsonValue payload; + + if(m_blockDurationMinutesHasBeenSet) + { + payload.WithInteger("BlockDurationMinutes", m_blockDurationMinutes); + + } + + if(m_instanceInterruptionBehaviorHasBeenSet) + { + payload.WithString("InstanceInterruptionBehavior", InstanceInterruptionBehaviorEnumMapper::GetNameForInstanceInterruptionBehaviorEnum(m_instanceInterruptionBehavior)); + } + + if(m_maxPriceHasBeenSet) + { + payload.WithString("MaxPrice", m_maxPrice); + + } + + if(m_spotInstanceTypeHasBeenSet) + { + payload.WithString("SpotInstanceType", SpotInstanceTypeEnumMapper::GetNameForSpotInstanceTypeEnum(m_spotInstanceType)); + } + + if(m_validUntilUtcHasBeenSet) + { + payload.WithDouble("ValidUntilUtc", m_validUntilUtc.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp new file mode 100644 index 00000000000..e1e4b7f48a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/Tag.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +Tag::Tag(JsonView jsonValue) +{ + *this = jsonValue; +} + +Tag& Tag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + m_keyHasBeenSet = true; + } + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + m_valueHasBeenSet = true; + } + return *this; +} + +JsonValue Tag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..7b3b5a5cb79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection TagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.TagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..44434ff1273 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp new file mode 100644 index 00000000000..a30dd992979 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TagSpecification.cpp @@ -0,0 +1,70 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +TagSpecification::TagSpecification(JsonView jsonValue) +{ + *this = jsonValue; +} + +TagSpecification& TagSpecification::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = ResourceTypeEnumMapper::GetResourceTypeEnumForName(jsonValue.GetString("ResourceType")); + m_resourceTypeHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + m_tagsHasBeenSet = true; + } + return *this; +} + +JsonValue TagSpecification::Jsonize() const +{ + JsonValue payload; + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", ResourceTypeEnumMapper::GetNameForResourceTypeEnum(m_resourceType)); + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp new file mode 100644 index 00000000000..1da8b190f4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/TenancyEnum.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace TenancyEnumMapper + { + + static const int default__HASH = HashingUtils::HashString("default"); + static const int dedicated_HASH = HashingUtils::HashString("dedicated"); + static const int host_HASH = HashingUtils::HashString("host"); + + + TenancyEnum GetTenancyEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == default__HASH) + { + return TenancyEnum::default_; + } + else if (hashCode == dedicated_HASH) + { + return TenancyEnum::dedicated; + } + else if (hashCode == host_HASH) + { + return TenancyEnum::host; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TenancyEnum::NOT_SET; + } + + Aws::String GetNameForTenancyEnum(TenancyEnum enumValue) + { + switch(enumValue) + { + case TenancyEnum::NOT_SET: + return {}; + case TenancyEnum::default_: + return "default"; + case TenancyEnum::dedicated: + return "dedicated"; + case TenancyEnum::host: + return "host"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TenancyEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp new file mode 100644 index 00000000000..b472ce4b739 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ThrottlingException.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ThrottlingException::ThrottlingException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ThrottlingException& ThrottlingException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("ServiceCode")) + { + m_serviceCode = jsonValue.GetString("ServiceCode"); + m_serviceCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("QuotaCode")) + { + m_quotaCode = jsonValue.GetString("QuotaCode"); + m_quotaCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("RetryAfterSeconds")) + { + m_retryAfterSeconds = jsonValue.GetInteger("RetryAfterSeconds"); + m_retryAfterSecondsHasBeenSet = true; + } + return *this; +} + +JsonValue ThrottlingException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_serviceCodeHasBeenSet) + { + payload.WithString("ServiceCode", m_serviceCode); + + } + + if(m_quotaCodeHasBeenSet) + { + payload.WithString("QuotaCode", m_quotaCode); + + } + + if(m_retryAfterSecondsHasBeenSet) + { + payload.WithInteger("RetryAfterSeconds", m_retryAfterSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..bbb6f21e90b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceRequest.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_tagKeysHasBeenSet) + { + Aws::Utils::Array tagKeysJsonList(m_tagKeys.size()); + for(unsigned tagKeysIndex = 0; tagKeysIndex < tagKeysJsonList.GetLength(); ++tagKeysIndex) + { + tagKeysJsonList[tagKeysIndex].AsString(m_tagKeys[tagKeysIndex]); + } + payload.WithArray("TagKeys", std::move(tagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection UntagResourceRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "EUCMIFrontendAPIService.UntagResource")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..b1ceae5003f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/UntagResourceResult.cpp @@ -0,0 +1,39 @@ +/** + * 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::WorkspacesInstances::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + m_requestIdHasBeenSet = true; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp new file mode 100644 index 00000000000..939d7286bd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationException.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ValidationException::ValidationException(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + if(jsonValue.ValueExists("Reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("Reason")); + m_reasonHasBeenSet = true; + } + if(jsonValue.ValueExists("FieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("FieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("FieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..c5dbd241f3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + m_nameHasBeenSet = true; + } + if(jsonValue.ValueExists("Reason")) + { + m_reason = jsonValue.GetString("Reason"); + m_reasonHasBeenSet = true; + } + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + m_messageHasBeenSet = true; + } + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", m_reason); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..598012f5a73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int UNKNOWN_OPERATION_HASH = HashingUtils::HashString("UNKNOWN_OPERATION"); + static const int UNSUPPORTED_OPERATION_HASH = HashingUtils::HashString("UNSUPPORTED_OPERATION"); + static const int CANNOT_PARSE_HASH = HashingUtils::HashString("CANNOT_PARSE"); + static const int FIELD_VALIDATION_FAILED_HASH = HashingUtils::HashString("FIELD_VALIDATION_FAILED"); + static const int DEPENDENCY_FAILURE_HASH = HashingUtils::HashString("DEPENDENCY_FAILURE"); + static const int OTHER_HASH = HashingUtils::HashString("OTHER"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UNKNOWN_OPERATION_HASH) + { + return ValidationExceptionReason::UNKNOWN_OPERATION; + } + else if (hashCode == UNSUPPORTED_OPERATION_HASH) + { + return ValidationExceptionReason::UNSUPPORTED_OPERATION; + } + else if (hashCode == CANNOT_PARSE_HASH) + { + return ValidationExceptionReason::CANNOT_PARSE; + } + else if (hashCode == FIELD_VALIDATION_FAILED_HASH) + { + return ValidationExceptionReason::FIELD_VALIDATION_FAILED; + } + else if (hashCode == DEPENDENCY_FAILURE_HASH) + { + return ValidationExceptionReason::DEPENDENCY_FAILURE; + } + else if (hashCode == OTHER_HASH) + { + return ValidationExceptionReason::OTHER; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::UNKNOWN_OPERATION: + return "UNKNOWN_OPERATION"; + case ValidationExceptionReason::UNSUPPORTED_OPERATION: + return "UNSUPPORTED_OPERATION"; + case ValidationExceptionReason::CANNOT_PARSE: + return "CANNOT_PARSE"; + case ValidationExceptionReason::FIELD_VALIDATION_FAILED: + return "FIELD_VALIDATION_FAILED"; + case ValidationExceptionReason::DEPENDENCY_FAILURE: + return "DEPENDENCY_FAILURE"; + case ValidationExceptionReason::OTHER: + return "OTHER"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp new file mode 100644 index 00000000000..6770dbcaada --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/VolumeTypeEnum.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkspacesInstances + { + namespace Model + { + namespace VolumeTypeEnumMapper + { + + static const int standard_HASH = HashingUtils::HashString("standard"); + static const int io1_HASH = HashingUtils::HashString("io1"); + static const int io2_HASH = HashingUtils::HashString("io2"); + static const int gp2_HASH = HashingUtils::HashString("gp2"); + static const int sc1_HASH = HashingUtils::HashString("sc1"); + static const int st1_HASH = HashingUtils::HashString("st1"); + static const int gp3_HASH = HashingUtils::HashString("gp3"); + + + VolumeTypeEnum GetVolumeTypeEnumForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == standard_HASH) + { + return VolumeTypeEnum::standard; + } + else if (hashCode == io1_HASH) + { + return VolumeTypeEnum::io1; + } + else if (hashCode == io2_HASH) + { + return VolumeTypeEnum::io2; + } + else if (hashCode == gp2_HASH) + { + return VolumeTypeEnum::gp2; + } + else if (hashCode == sc1_HASH) + { + return VolumeTypeEnum::sc1; + } + else if (hashCode == st1_HASH) + { + return VolumeTypeEnum::st1; + } + else if (hashCode == gp3_HASH) + { + return VolumeTypeEnum::gp3; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return VolumeTypeEnum::NOT_SET; + } + + Aws::String GetNameForVolumeTypeEnum(VolumeTypeEnum enumValue) + { + switch(enumValue) + { + case VolumeTypeEnum::NOT_SET: + return {}; + case VolumeTypeEnum::standard: + return "standard"; + case VolumeTypeEnum::io1: + return "io1"; + case VolumeTypeEnum::io2: + return "io2"; + case VolumeTypeEnum::gp2: + return "gp2"; + case VolumeTypeEnum::sc1: + return "sc1"; + case VolumeTypeEnum::st1: + return "st1"; + case VolumeTypeEnum::gp3: + return "gp3"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VolumeTypeEnumMapper + } // namespace Model + } // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp new file mode 100644 index 00000000000..ee992ff8724 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstance.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +WorkspaceInstance::WorkspaceInstance(JsonView jsonValue) +{ + *this = jsonValue; +} + +WorkspaceInstance& WorkspaceInstance::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ProvisionState")) + { + m_provisionState = ProvisionStateEnumMapper::GetProvisionStateEnumForName(jsonValue.GetString("ProvisionState")); + m_provisionStateHasBeenSet = true; + } + if(jsonValue.ValueExists("WorkspaceInstanceId")) + { + m_workspaceInstanceId = jsonValue.GetString("WorkspaceInstanceId"); + m_workspaceInstanceIdHasBeenSet = true; + } + if(jsonValue.ValueExists("EC2ManagedInstance")) + { + m_eC2ManagedInstance = jsonValue.GetObject("EC2ManagedInstance"); + m_eC2ManagedInstanceHasBeenSet = true; + } + return *this; +} + +JsonValue WorkspaceInstance::Jsonize() const +{ + JsonValue payload; + + if(m_provisionStateHasBeenSet) + { + payload.WithString("ProvisionState", ProvisionStateEnumMapper::GetNameForProvisionStateEnum(m_provisionState)); + } + + if(m_workspaceInstanceIdHasBeenSet) + { + payload.WithString("WorkspaceInstanceId", m_workspaceInstanceId); + + } + + if(m_eC2ManagedInstanceHasBeenSet) + { + payload.WithObject("EC2ManagedInstance", m_eC2ManagedInstance.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp new file mode 100644 index 00000000000..2f0603d48e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/model/WorkspaceInstanceError.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkspacesInstances +{ +namespace Model +{ + +WorkspaceInstanceError::WorkspaceInstanceError(JsonView jsonValue) +{ + *this = jsonValue; +} + +WorkspaceInstanceError& WorkspaceInstanceError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ErrorCode")) + { + m_errorCode = jsonValue.GetString("ErrorCode"); + m_errorCodeHasBeenSet = true; + } + if(jsonValue.ValueExists("ErrorMessage")) + { + m_errorMessage = jsonValue.GetString("ErrorMessage"); + m_errorMessageHasBeenSet = true; + } + return *this; +} + +JsonValue WorkspaceInstanceError::Jsonize() const +{ + JsonValue payload; + + if(m_errorCodeHasBeenSet) + { + payload.WithString("ErrorCode", m_errorCode); + + } + + if(m_errorMessageHasBeenSet) + { + payload.WithString("ErrorMessage", m_errorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp b/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp index f17b5258bdd..5c7dc5c55ec 100644 --- a/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp +++ b/generated/tests/accessanalyzer-gen-tests/AccessAnalyzerIncludeTests.cpp @@ -101,6 +101,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -138,6 +145,7 @@ #include #include #include +#include #include #include #include @@ -159,6 +167,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/acm-gen-tests/ACMIncludeTests.cpp b/generated/tests/acm-gen-tests/ACMIncludeTests.cpp index adc7a8c957c..d176ef1019c 100644 --- a/generated/tests/acm-gen-tests/ACMIncludeTests.cpp +++ b/generated/tests/acm-gen-tests/ACMIncludeTests.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -61,6 +62,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp b/generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp new file mode 100644 index 00000000000..f83cf2fd364 --- /dev/null +++ b/generated/tests/aiops-gen-tests/AIOpsEndpointProviderTests.cpp @@ -0,0 +1,428 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSAIOpsEndpointProviderTests"; +using AIOpsEndpointProvider = Aws::AIOps::Endpoint::AIOpsEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct AIOpsEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class AIOpsEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> AIOpsEndpointProviderTests::TEST_CASES; +const size_t AIOpsEndpointProviderTests::TEST_CASES_SZ = 25; + +Aws::Vector AIOpsEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.cn-north-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.cn-north-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-gov-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-gov-east-1.amazonaws.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 13*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 17*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 18*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://aiops.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 20*/ + {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 22*/ + {"For custom endpoint with fips enabled and dualstack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 23*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 24*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const AIOpsEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(AIOpsEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const AIOpsEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/AIOpsEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize AIOpsEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + AIOpsEndpointProviderTests, + ::testing::Range((size_t) 0u, AIOpsEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp b/generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp new file mode 100644 index 00000000000..fe84d11efd2 --- /dev/null +++ b/generated/tests/aiops-gen-tests/AIOpsIncludeTests.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using AIOpsIncludeTest = ::testing::Test; + +TEST_F(AIOpsIncludeTest, TestClientCompiles) +{ + Aws::Client::ClientConfigurationInitValues cfgInit; + cfgInit.shouldDisableIMDS = true; + Aws::Client::ClientConfiguration config(cfgInit); + AWS_UNREFERENCED_PARAM(config); + // auto pClient = Aws::MakeUnique("AIOpsIncludeTest", config); + // ASSERT_TRUE(pClient.get()); +} diff --git a/generated/tests/aiops-gen-tests/CMakeLists.txt b/generated/tests/aiops-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..f73e7d6799f --- /dev/null +++ b/generated/tests/aiops-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(aiops-gen-tests + "Tests for the AWS AIOPS C++ SDK" + testing-resources + aws-cpp-sdk-aiops + aws-cpp-sdk-core) + +file(GLOB AWS_AIOPS_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_AIOPS_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_AIOPS_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/aiops-gen-tests/RunTests.cpp b/generated/tests/aiops-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/aiops-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/backup-gen-tests/BackupIncludeTests.cpp b/generated/tests/backup-gen-tests/BackupIncludeTests.cpp index 47f5889c710..ad7c3fbaacb 100644 --- a/generated/tests/backup-gen-tests/BackupIncludeTests.cpp +++ b/generated/tests/backup-gen-tests/BackupIncludeTests.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +61,8 @@ #include #include #include +#include +#include #include #include #include @@ -100,6 +103,7 @@ #include #include #include +#include #include #include #include @@ -142,6 +146,8 @@ #include #include #include +#include +#include #include #include #include @@ -184,6 +190,8 @@ #include #include #include +#include +#include #include #include #include @@ -197,6 +205,8 @@ #include #include #include +#include +#include #include #include #include @@ -215,6 +225,7 @@ #include #include #include +#include #include #include #include @@ -233,6 +244,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp b/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp index 808bd5d90f3..34e9542821e 100644 --- a/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp +++ b/generated/tests/bedrock-gen-tests/BedrockIncludeTests.cpp @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include #include #include @@ -140,6 +142,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -171,6 +176,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -240,6 +248,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/ce-gen-tests/CostExplorerEndpointProviderTests.cpp b/generated/tests/ce-gen-tests/CostExplorerEndpointProviderTests.cpp index 2faf63d7328..161b02a6b9c 100644 --- a/generated/tests/ce-gen-tests/CostExplorerEndpointProviderTests.cpp +++ b/generated/tests/ce-gen-tests/CostExplorerEndpointProviderTests.cpp @@ -74,21 +74,33 @@ class CostExplorerEndpointProviderTests : public ::testing::TestWithParam> CostExplorerEndpointProviderTests::TEST_CASES; -const size_t CostExplorerEndpointProviderTests::TEST_CASES_SZ = 31; +const size_t CostExplorerEndpointProviderTests::TEST_CASES_SZ = 32; Aws::Vector CostExplorerEndpointProviderTests::getTestCase() { Aws::Vector test_cases = { /*TEST CASE 0*/ - {"For region aws-global with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "aws-global"), EpParam("UseDualStack", false)}, // params + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params {}, // tags - {{/*epUrl*/"https://ce.us-east-1.amazonaws.com", + {{/*epUrl*/"https://example.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 3*/ {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -97,7 +109,7 @@ Aws::Vector CostExplorerEndpointPr {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 2*/ + /*TEST CASE 4*/ {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -106,7 +118,7 @@ Aws::Vector CostExplorerEndpointPr {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 3*/ + /*TEST CASE 5*/ {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags @@ -115,7 +127,7 @@ Aws::Vector CostExplorerEndpointPr {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 4*/ + /*TEST CASE 6*/ {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -124,92 +136,74 @@ Aws::Vector CostExplorerEndpointPr {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 5*/ - {"For region aws-cn-global with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "aws-cn-global"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://ce.cn-northwest-1.amazonaws.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 6*/ - {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://ce-fips.cn-north-1.api.amazonwebservices.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, /*TEST CASE 7*/ - {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://ce-fips.cn-north-1.amazonaws.com.cn", + {{/*epUrl*/"https://ce-fips.cn-northwest-1.api.amazonwebservices.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 8*/ - {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params + {"For region cn-northwest-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://ce.cn-north-1.api.amazonwebservices.com.cn", + {{/*epUrl*/"https://ce-fips.cn-northwest-1.amazonaws.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 9*/ - {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://ce.cn-northwest-1.amazonaws.com.cn", + {{/*epUrl*/"https://ce.cn-northwest-1.api.amazonwebservices.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 10*/ - {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {"For region cn-northwest-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://ce-fips.us-gov-east-1.api.aws", + {{/*epUrl*/"https://ce.cn-northwest-1.amazonaws.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 11*/ - {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://ce-fips.us-gov-east-1.amazonaws.com", + {{/*epUrl*/"https://ce-fips.us-gov-west-1.api.aws", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 12*/ - {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params + {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://ce.us-gov-east-1.api.aws", + {{/*epUrl*/"https://ce-fips.us-gov-west-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 13*/ - {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://ce.us-gov-east-1.amazonaws.com", + {{/*epUrl*/"https://ce.us-gov-west-1.api.aws", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 14*/ - {"For region aws-iso-global with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "aws-iso-global"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://ce.us-iso-east-1.c2s.ic.gov", + {{/*epUrl*/"https://ce.us-gov-west-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -245,21 +239,12 @@ Aws::Vector CostExplorerEndpointPr {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 19*/ - {"For region aws-iso-b-global with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "aws-iso-b-global"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://ce.us-isob-east-1.sc2s.sgov.gov", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 20*/ {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, - /*TEST CASE 21*/ + /*TEST CASE 20*/ {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -268,13 +253,13 @@ Aws::Vector CostExplorerEndpointPr {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, - /*TEST CASE 22*/ + /*TEST CASE 21*/ {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, - /*TEST CASE 23*/ + /*TEST CASE 22*/ {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags @@ -283,55 +268,67 @@ Aws::Vector CostExplorerEndpointPr {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, + /*TEST CASE 23*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, /*TEST CASE 24*/ - {"For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://ce.eu-isoe-west-1.cloud.adc-e.uk", + {{/*epUrl*/"https://ce-fips.eu-isoe-west-1.cloud.adc-e.uk", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 25*/ - {"For region us-isof-south-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://ce.us-isof-south-1.csp.hci.ic.gov", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, /*TEST CASE 26*/ - {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://example.com", + {{/*epUrl*/"https://ce.eu-isoe-west-1.cloud.adc-e.uk", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 27*/ - {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://example.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, /*TEST CASE 28*/ - {"For custom endpoint with fips enabled and dualstack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {"For region us-isof-south-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + {{/*epUrl*/"https://ce-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 29*/ - {"For custom endpoint with fips disabled and dualstack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, /*TEST CASE 30*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://ce.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 31*/ {"Missing region", // documentation {}, // params {}, // tags diff --git a/generated/tests/connectcampaignsv2-gen-tests/ConnectCampaignsV2IncludeTests.cpp b/generated/tests/connectcampaignsv2-gen-tests/ConnectCampaignsV2IncludeTests.cpp index ebc638d1506..14867aefe7d 100644 --- a/generated/tests/connectcampaignsv2-gen-tests/ConnectCampaignsV2IncludeTests.cpp +++ b/generated/tests/connectcampaignsv2-gen-tests/ConnectCampaignsV2IncludeTests.cpp @@ -67,11 +67,15 @@ #include #include #include +#include +#include #include #include +#include #include #include #include +#include #include #include #include @@ -97,6 +101,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/controlcatalog-gen-tests/ControlCatalogIncludeTests.cpp b/generated/tests/controlcatalog-gen-tests/ControlCatalogIncludeTests.cpp index 7ecf7bcad16..f9e9cb8338e 100644 --- a/generated/tests/controlcatalog-gen-tests/ControlCatalogIncludeTests.cpp +++ b/generated/tests/controlcatalog-gen-tests/ControlCatalogIncludeTests.cpp @@ -17,26 +17,36 @@ #include #include #include +#include #include #include +#include +#include +#include #include #include #include #include #include #include +#include #include #include #include +#include #include #include #include +#include +#include #include #include #include #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/customer-profiles-gen-tests/CustomerProfilesIncludeTests.cpp b/generated/tests/customer-profiles-gen-tests/CustomerProfilesIncludeTests.cpp index b60b581ae2e..b2a87ab6d86 100644 --- a/generated/tests/customer-profiles-gen-tests/CustomerProfilesIncludeTests.cpp +++ b/generated/tests/customer-profiles-gen-tests/CustomerProfilesIncludeTests.cpp @@ -49,6 +49,8 @@ #include #include #include +#include +#include #include #include #include @@ -71,6 +73,8 @@ #include #include #include +#include +#include #include #include #include @@ -126,6 +130,8 @@ #include #include #include +#include +#include #include #include #include @@ -166,6 +172,8 @@ #include #include #include +#include +#include #include #include #include @@ -175,6 +183,8 @@ #include #include #include +#include +#include #include #include #include @@ -243,6 +253,8 @@ #include #include #include +#include +#include #include #include #include @@ -284,12 +296,15 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include diff --git a/generated/tests/elasticfilesystem-gen-tests/EFSEndpointProviderTests.cpp b/generated/tests/elasticfilesystem-gen-tests/EFSEndpointProviderTests.cpp index 5651a7e9cb4..729cfc5da13 100644 --- a/generated/tests/elasticfilesystem-gen-tests/EFSEndpointProviderTests.cpp +++ b/generated/tests/elasticfilesystem-gen-tests/EFSEndpointProviderTests.cpp @@ -74,624 +74,261 @@ class EFSEndpointProviderTests : public ::testing::TestWithParam }; Aws::UniquePtrSafeDeleted> EFSEndpointProviderTests::TEST_CASES; -const size_t EFSEndpointProviderTests::TEST_CASES_SZ = 71; +const size_t EFSEndpointProviderTests::TEST_CASES_SZ = 32; Aws::Vector EFSEndpointProviderTests::getTestCase() { Aws::Vector test_cases = { /*TEST CASE 0*/ - {"For region af-south-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "af-south-1"), EpParam("UseDualStack", false)}, // params + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.af-south-1.amazonaws.com", + {{/*epUrl*/"https://example.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 1*/ - {"For region af-south-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "af-south-1"), EpParam("UseDualStack", false)}, // params + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.af-south-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect }, /*TEST CASE 2*/ - {"For region ap-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-east-1"), EpParam("UseDualStack", false)}, // params + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect }, /*TEST CASE 3*/ - {"For region ap-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-east-1"), EpParam("UseDualStack", false)}, // params + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-east-1.amazonaws.com", + {{/*epUrl*/"https://efs-fips.us-east-1.api.aws", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 4*/ - {"For region ap-northeast-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-northeast-1"), EpParam("UseDualStack", false)}, // params + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.us-east-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 5*/ - {"For region ap-northeast-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-northeast-1"), EpParam("UseDualStack", false)}, // params + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-northeast-1.amazonaws.com", + {{/*epUrl*/"https://efs.us-east-1.api.aws", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 6*/ - {"For region ap-northeast-2 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-northeast-2"), EpParam("UseDualStack", false)}, // params + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-northeast-2.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.us-east-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 7*/ - {"For region ap-northeast-2 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-northeast-2"), EpParam("UseDualStack", false)}, // params + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-northeast-2.amazonaws.com", + {{/*epUrl*/"https://efs-fips.cn-northwest-1.api.amazonwebservices.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 8*/ - {"For region ap-northeast-3 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-northeast-3"), EpParam("UseDualStack", false)}, // params + {"For region cn-northwest-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-northeast-3.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 9*/ - {"For region ap-northeast-3 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-northeast-3"), EpParam("UseDualStack", false)}, // params + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-northeast-3.amazonaws.com", + {{/*epUrl*/"https://efs.cn-northwest-1.api.amazonwebservices.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 10*/ - {"For region ap-south-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-south-1"), EpParam("UseDualStack", false)}, // params + {"For region cn-northwest-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-south-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.cn-northwest-1.amazonaws.com.cn", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 11*/ - {"For region ap-south-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-south-1"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-south-1.amazonaws.com", + {{/*epUrl*/"https://efs-fips.us-gov-west-1.api.aws", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 12*/ - {"For region ap-southeast-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-southeast-1"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-southeast-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 13*/ - {"For region ap-southeast-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-southeast-1"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-southeast-1.amazonaws.com", + {{/*epUrl*/"https://efs.us-gov-west-1.api.aws", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 14*/ - {"For region ap-southeast-2 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-southeast-2"), EpParam("UseDualStack", false)}, // params + {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-southeast-2.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.us-gov-west-1.amazonaws.com", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 15*/ - {"For region ap-southeast-2 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-southeast-2"), EpParam("UseDualStack", false)}, // params + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-southeast-2.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, /*TEST CASE 16*/ - {"For region ap-southeast-3 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ap-southeast-3"), EpParam("UseDualStack", false)}, // params + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ap-southeast-3.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 17*/ - {"For region ap-southeast-3 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ap-southeast-3"), EpParam("UseDualStack", false)}, // params + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ap-southeast-3.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, /*TEST CASE 18*/ - {"For region ca-central-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "ca-central-1"), EpParam("UseDualStack", false)}, // params + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.ca-central-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.us-iso-east-1.c2s.ic.gov", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 19*/ - {"For region ca-central-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "ca-central-1"), EpParam("UseDualStack", false)}, // params + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.ca-central-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, /*TEST CASE 20*/ - {"For region eu-central-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-central-1"), EpParam("UseDualStack", false)}, // params + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.eu-central-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 21*/ - {"For region eu-central-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "eu-central-1"), EpParam("UseDualStack", false)}, // params + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.eu-central-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, /*TEST CASE 22*/ - {"For region eu-north-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-north-1"), EpParam("UseDualStack", false)}, // params + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.eu-north-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.us-isob-east-1.sc2s.sgov.gov", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 23*/ - {"For region eu-north-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "eu-north-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.eu-north-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, /*TEST CASE 24*/ - {"For region eu-south-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-south-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.eu-south-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.eu-isoe-west-1.cloud.adc-e.uk", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 25*/ - {"For region eu-south-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "eu-south-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.eu-south-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, /*TEST CASE 26*/ - {"For region eu-west-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-west-1"), EpParam("UseDualStack", false)}, // params + {"For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.eu-west-1.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.eu-isoe-west-1.cloud.adc-e.uk", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 27*/ - {"For region eu-west-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "eu-west-1"), EpParam("UseDualStack", false)}, // params + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.eu-west-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect }, /*TEST CASE 28*/ - {"For region eu-west-2 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-west-2"), EpParam("UseDualStack", false)}, // params + {"For region us-isof-south-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.eu-west-2.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem-fips.us-isof-south-1.csp.hci.ic.gov", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 29*/ - {"For region eu-west-2 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "eu-west-2"), EpParam("UseDualStack", false)}, // params + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.eu-west-2.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect }, /*TEST CASE 30*/ - {"For region eu-west-3 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "eu-west-3"), EpParam("UseDualStack", false)}, // params + {"For region us-isof-south-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://elasticfilesystem.eu-west-3.amazonaws.com", + {{/*epUrl*/"https://elasticfilesystem.us-isof-south-1.csp.hci.ic.gov", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect }, /*TEST CASE 31*/ - {"For region eu-west-3 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "eu-west-3"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.eu-west-3.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 32*/ - {"For region me-south-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "me-south-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.me-south-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 33*/ - {"For region me-south-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "me-south-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.me-south-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 34*/ - {"For region sa-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "sa-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.sa-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 35*/ - {"For region sa-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "sa-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.sa-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 36*/ - {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 37*/ - {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 38*/ - {"For region us-east-2 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-east-2"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-east-2.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 39*/ - {"For region us-east-2 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-east-2"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-east-2.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 40*/ - {"For region us-west-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-west-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-west-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 41*/ - {"For region us-west-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-west-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-west-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 42*/ - {"For region us-west-2 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-west-2.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 43*/ - {"For region us-west-2 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-west-2"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-west-2.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 44*/ - {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-east-1.api.aws", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 45*/ - {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-east-1.api.aws", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 46*/ - {"For region cn-north-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.cn-north-1.amazonaws.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 47*/ - {"For region cn-north-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.cn-north-1.amazonaws.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 48*/ - {"For region cn-northwest-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.cn-northwest-1.amazonaws.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 49*/ - {"For region cn-northwest-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 50*/ - {"For region cn-north-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.cn-north-1.api.amazonwebservices.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 51*/ - {"For region cn-north-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "cn-north-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.cn-north-1.api.amazonwebservices.com.cn", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 52*/ - {"For region us-gov-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-gov-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 53*/ - {"For region us-gov-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-gov-east-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 54*/ - {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-gov-west-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 55*/ - {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 56*/ - {"For region us-gov-east-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-gov-east-1.api.aws", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 57*/ - {"For region us-gov-east-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-gov-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-gov-east-1.api.aws", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 58*/ - {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-iso-east-1.c2s.ic.gov", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 59*/ - {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 60*/ - {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect - }, - /*TEST CASE 61*/ - {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect - }, - /*TEST CASE 62*/ - {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem.us-isob-east-1.sc2s.sgov.gov", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 63*/ - {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 64*/ - {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation - {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect - }, - /*TEST CASE 65*/ - {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect - }, - /*TEST CASE 66*/ - {"For custom endpoint with region set and fips disabled and dualstack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://example.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 67*/ - {"For custom endpoint with region not set and fips disabled and dualstack disabled", // documentation - {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*epUrl*/"https://example.com", - {/*authScheme*/}, - {/*properties*/}, - {/*headers*/}}, {/*No error*/}} // expect - }, - /*TEST CASE 68*/ - {"For custom endpoint with fips enabled and dualstack disabled", // documentation - {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect - }, - /*TEST CASE 69*/ - {"For custom endpoint with fips disabled and dualstack enabled", // documentation - {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params - {}, // tags - {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect - }, - /*TEST CASE 70*/ {"Missing region", // documentation {}, // params {}, // tags diff --git a/generated/tests/elasticfilesystem-gen-tests/EFSIncludeTests.cpp b/generated/tests/elasticfilesystem-gen-tests/EFSIncludeTests.cpp index 7c2f68402fb..7794be374fc 100644 --- a/generated/tests/elasticfilesystem-gen-tests/EFSIncludeTests.cpp +++ b/generated/tests/elasticfilesystem-gen-tests/EFSIncludeTests.cpp @@ -71,6 +71,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp b/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp index c1bc3d45ead..35be88e3b6f 100644 --- a/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp +++ b/generated/tests/emr-serverless-gen-tests/EMRServerlessIncludeTests.cpp @@ -36,6 +36,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp b/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp index 8bbe40fb2b4..4f3b505db1a 100644 --- a/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp +++ b/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp @@ -176,7 +176,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2", + {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.api.aws/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -185,7 +185,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2", + {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.amazonaws.com/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -194,7 +194,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params {}, // tags - {{/*epUrl*/"https://places.geo.us-gov-west-1.us-gov.api.aws/v2", + {{/*epUrl*/"https://places.geo.us-gov-west-1.api.aws/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect @@ -203,7 +203,7 @@ Aws::Vector GeoPlacesEndpointProvider {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params {}, // tags - {{/*epUrl*/"https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2", + {{/*epUrl*/"https://places.geo.us-gov-west-1.amazonaws.com/v2", {/*authScheme*/}, {/*properties*/}, {/*headers*/}}, {/*No error*/}} // expect diff --git a/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp b/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp index 53bc3091ebb..b1479b39ebf 100644 --- a/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp +++ b/generated/tests/geo-places-gen-tests/GeoPlacesIncludeTests.cpp @@ -41,6 +41,8 @@ #include #include #include +#include +#include #include #include #include @@ -50,9 +52,12 @@ #include #include #include +#include #include #include #include +#include +#include #include #include #include @@ -65,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -84,6 +90,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/glue-gen-tests/GlueIncludeTests.cpp b/generated/tests/glue-gen-tests/GlueIncludeTests.cpp index 7c728776a0a..ca6cd6979e0 100644 --- a/generated/tests/glue-gen-tests/GlueIncludeTests.cpp +++ b/generated/tests/glue-gen-tests/GlueIncludeTests.cpp @@ -131,7 +131,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -240,6 +242,7 @@ #include #include #include +#include #include #include #include @@ -560,6 +563,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp b/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp index 3a09a046d18..85c79fd0171 100644 --- a/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp +++ b/generated/tests/guardduty-gen-tests/GuardDutyIncludeTests.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -46,9 +47,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -140,6 +143,7 @@ #include #include #include +#include #include #include #include @@ -218,9 +222,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include diff --git a/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp b/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp index fc4d60fc843..87bd00cbe25 100644 --- a/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp +++ b/generated/tests/inspector2-gen-tests/Inspector2IncludeTests.cpp @@ -28,8 +28,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -41,6 +43,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -103,12 +109,28 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include #include +#include +#include #include #include #include @@ -122,10 +144,16 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -142,6 +170,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -151,6 +183,7 @@ #include #include #include +#include #include #include #include @@ -187,6 +220,7 @@ #include #include #include +#include #include #include #include @@ -213,6 +247,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -232,6 +272,8 @@ #include #include #include +#include +#include #include #include #include @@ -255,6 +297,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -292,9 +340,15 @@ #include #include #include +#include +#include #include #include #include +#include +#include +#include +#include #include #include #include @@ -317,6 +371,7 @@ #include #include #include +#include #include #include #include @@ -325,6 +380,7 @@ #include #include #include +#include #include #include #include @@ -342,6 +398,8 @@ #include #include #include +#include +#include #include #include #include @@ -353,6 +411,7 @@ #include #include #include +#include #include #include #include @@ -368,6 +427,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -376,6 +439,9 @@ #include #include #include +#include +#include +#include #include #include #include diff --git a/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp b/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp index 4b037b3271d..ade38f09904 100644 --- a/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp +++ b/generated/tests/lambda-gen-tests/LambdaIncludeTests.cpp @@ -147,6 +147,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -220,6 +225,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/lexv2-models-gen-tests/LexModelsV2IncludeTests.cpp b/generated/tests/lexv2-models-gen-tests/LexModelsV2IncludeTests.cpp index f46bbe40034..55f73f7ed33 100644 --- a/generated/tests/lexv2-models-gen-tests/LexModelsV2IncludeTests.cpp +++ b/generated/tests/lexv2-models-gen-tests/LexModelsV2IncludeTests.cpp @@ -405,6 +405,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp b/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp index 377ea029eba..ada2e811c6e 100644 --- a/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp +++ b/generated/tests/logs-gen-tests/CloudWatchLogsIncludeTests.cpp @@ -103,6 +103,7 @@ #include #include #include +#include #include #include #include @@ -176,6 +177,7 @@ #include #include #include +#include #include #include #include @@ -196,6 +198,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/marketplace-catalog-gen-tests/MarketplaceCatalogIncludeTests.cpp b/generated/tests/marketplace-catalog-gen-tests/MarketplaceCatalogIncludeTests.cpp index 64446f29417..5bd33a845eb 100644 --- a/generated/tests/marketplace-catalog-gen-tests/MarketplaceCatalogIncludeTests.cpp +++ b/generated/tests/marketplace-catalog-gen-tests/MarketplaceCatalogIncludeTests.cpp @@ -77,6 +77,16 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/generated/tests/mpa-gen-tests/CMakeLists.txt b/generated/tests/mpa-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..631a7368cb9 --- /dev/null +++ b/generated/tests/mpa-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(mpa-gen-tests + "Tests for the AWS MPA C++ SDK" + testing-resources + aws-cpp-sdk-mpa + aws-cpp-sdk-core) + +file(GLOB AWS_MPA_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_MPA_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_MPA_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/mpa-gen-tests/MPAEndpointProviderTests.cpp b/generated/tests/mpa-gen-tests/MPAEndpointProviderTests.cpp new file mode 100644 index 00000000000..b1aa6281794 --- /dev/null +++ b/generated/tests/mpa-gen-tests/MPAEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSMPAEndpointProviderTests"; +using MPAEndpointProvider = Aws::MPA::Endpoint::MPAEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct MPAEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class MPAEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> MPAEndpointProviderTests::TEST_CASES; +const size_t MPAEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector MPAEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://mpa.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const MPAEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(MPAEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const MPAEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/MPAEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize MPAEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + MPAEndpointProviderTests, + ::testing::Range((size_t) 0u, MPAEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/mpa-gen-tests/MPAIncludeTests.cpp b/generated/tests/mpa-gen-tests/MPAIncludeTests.cpp new file mode 100644 index 00000000000..ed21e7f6e09 --- /dev/null +++ b/generated/tests/mpa-gen-tests/MPAIncludeTests.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using MPAIncludeTest = ::testing::Test; + +TEST_F(MPAIncludeTest, TestClientCompiles) +{ + Aws::Client::ClientConfigurationInitValues cfgInit; + cfgInit.shouldDisableIMDS = true; + Aws::Client::ClientConfiguration config(cfgInit); + AWS_UNREFERENCED_PARAM(config); + // auto pClient = Aws::MakeUnique("MPAIncludeTest", config); + // ASSERT_TRUE(pClient.get()); +} diff --git a/generated/tests/mpa-gen-tests/RunTests.cpp b/generated/tests/mpa-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/mpa-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp b/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp index 5ed12ad27df..4cdd31c1859 100644 --- a/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp +++ b/generated/tests/network-firewall-gen-tests/NetworkFirewallIncludeTests.cpp @@ -15,17 +15,22 @@ #include #include #include +#include +#include #include #include #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include @@ -46,6 +51,8 @@ #include #include #include +#include +#include #include #include #include @@ -70,11 +77,15 @@ #include #include #include +#include +#include #include #include #include #include #include +#include +#include #include #include #include @@ -137,6 +148,8 @@ #include #include #include +#include +#include #include #include #include @@ -148,6 +161,7 @@ #include #include #include +#include #include #include #include @@ -174,6 +188,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -185,9 +202,13 @@ #include #include #include +#include +#include #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp b/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp index 33f8facc737..f2bbf54ef26 100644 --- a/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp +++ b/generated/tests/s3-crt-gen-tests/S3CrtIncludeTests.cpp @@ -328,6 +328,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/s3-gen-tests/S3IncludeTests.cpp b/generated/tests/s3-gen-tests/S3IncludeTests.cpp index b3629ebde6c..2c3c6cfe110 100644 --- a/generated/tests/s3-gen-tests/S3IncludeTests.cpp +++ b/generated/tests/s3-gen-tests/S3IncludeTests.cpp @@ -326,6 +326,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp b/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp index bfda66ff5aa..0fe907bc2b0 100644 --- a/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp +++ b/generated/tests/s3tables-gen-tests/S3TablesIncludeTests.cpp @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp b/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp index 5eec79d3edd..d76ec9ea8d3 100644 --- a/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp +++ b/generated/tests/sagemaker-gen-tests/SageMakerIncludeTests.cpp @@ -146,6 +146,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -317,6 +324,7 @@ #include #include #include +#include #include #include #include @@ -1436,6 +1444,7 @@ #include #include #include +#include #include #include #include @@ -1584,6 +1593,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp b/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp index ab4eeba16e5..86d00697eee 100644 --- a/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp +++ b/generated/tests/securityhub-gen-tests/SecurityHubIncludeTests.cpp @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include #include #include @@ -40,10 +42,15 @@ #include #include #include +#include +#include +#include #include #include +#include #include #include +#include #include #include #include @@ -564,6 +571,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -577,28 +589,45 @@ #include #include #include +#include #include #include #include #include #include +#include #include +#include +#include +#include +#include +#include +#include #include #include #include #include #include #include +#include +#include #include #include +#include +#include #include #include +#include +#include #include #include #include #include #include #include +#include +#include +#include #include #include #include @@ -610,8 +639,14 @@ #include #include #include +#include +#include +#include +#include #include #include +#include +#include #include #include #include @@ -628,6 +663,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -639,6 +678,8 @@ #include #include #include +#include +#include #include #include #include @@ -651,8 +692,11 @@ #include #include #include +#include +#include #include #include +#include #include #include #include @@ -669,18 +713,28 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include #include #include #include #include #include #include +#include +#include #include #include +#include +#include #include #include #include @@ -689,8 +743,17 @@ #include #include #include +#include +#include +#include +#include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -700,7 +763,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -709,14 +774,23 @@ #include #include #include +#include +#include +#include #include #include +#include +#include #include #include +#include +#include #include #include #include #include +#include +#include #include #include #include @@ -754,6 +828,18 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -771,7 +857,12 @@ #include #include #include +#include #include +#include +#include +#include +#include #include #include #include @@ -780,10 +871,27 @@ #include #include #include +#include #include #include +#include +#include +#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -806,16 +914,20 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include +#include +#include #include #include #include @@ -857,6 +969,7 @@ #include #include #include +#include #include #include #include @@ -867,9 +980,15 @@ #include #include #include +#include +#include +#include +#include #include #include #include +#include +#include #include #include #include @@ -886,6 +1005,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp b/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp index 2a2cbed5f2d..4b6b4daf715 100644 --- a/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp +++ b/generated/tests/wafv2-gen-tests/WAFV2IncludeTests.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -25,6 +26,8 @@ #include #include #include +#include +#include #include #include #include @@ -42,6 +45,8 @@ #include #include #include +#include +#include #include #include #include @@ -181,6 +186,7 @@ #include #include #include +#include #include #include #include @@ -194,6 +200,7 @@ #include #include #include +#include #include #include #include @@ -252,6 +259,7 @@ #include #include #include +#include #include #include #include @@ -279,6 +287,7 @@ #include #include #include +#include #include #include #include diff --git a/generated/tests/workspaces-instances-gen-tests/CMakeLists.txt b/generated/tests/workspaces-instances-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..fc06c9a6199 --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(workspaces-instances-gen-tests + "Tests for the AWS WORKSPACES-INSTANCES C++ SDK" + testing-resources + aws-cpp-sdk-workspaces-instances + aws-cpp-sdk-core) + +file(GLOB AWS_WORKSPACES-INSTANCES_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_WORKSPACES-INSTANCES_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/workspaces-instances-gen-tests/RunTests.cpp b/generated/tests/workspaces-instances-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp new file mode 100644 index 00000000000..bad4491e0e3 --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSWorkspacesInstancesEndpointProviderTests"; +using WorkspacesInstancesEndpointProvider = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct WorkspacesInstancesEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class WorkspacesInstancesEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> WorkspacesInstancesEndpointProviderTests::TEST_CASES; +const size_t WorkspacesInstancesEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector WorkspacesInstancesEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://workspaces-instances.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const WorkspacesInstancesEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(WorkspacesInstancesEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const WorkspacesInstancesEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/WorkspacesInstancesEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize WorkspacesInstancesEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + WorkspacesInstancesEndpointProviderTests, + ::testing::Range((size_t) 0u, WorkspacesInstancesEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp new file mode 100644 index 00000000000..6d35228729b --- /dev/null +++ b/generated/tests/workspaces-instances-gen-tests/WorkspacesInstancesIncludeTests.cpp @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using WorkspacesInstancesIncludeTest = ::testing::Test; + +TEST_F(WorkspacesInstancesIncludeTest, TestClientCompiles) +{ + Aws::Client::ClientConfigurationInitValues cfgInit; + cfgInit.shouldDisableIMDS = true; + Aws::Client::ClientConfiguration config(cfgInit); + AWS_UNREFERENCED_PARAM(config); + // auto pClient = Aws::MakeUnique("WorkspacesInstancesIncludeTest", config); + // ASSERT_TRUE(pClient.get()); +} diff --git a/src/aws-cpp-sdk-core/include/aws/core/Region.h b/src/aws-cpp-sdk-core/include/aws/core/Region.h index ae481c4c8aa..6fffa884f38 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/Region.h +++ b/src/aws-cpp-sdk-core/include/aws/core/Region.h @@ -17,6 +17,7 @@ namespace Aws { static const char AF_SOUTH_1[] = "af-south-1"; // Africa (Cape Town) static const char AP_EAST_1[] = "ap-east-1"; // Asia Pacific (Hong Kong) + static const char AP_EAST_2[] = "ap-east-2"; // Asia Pacific (Taipei) static const char AP_NORTHEAST_1[] = "ap-northeast-1"; // Asia Pacific (Tokyo) static const char AP_NORTHEAST_2[] = "ap-northeast-2"; // Asia Pacific (Seoul) static const char AP_NORTHEAST_3[] = "ap-northeast-3"; // Asia Pacific (Osaka) 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 220420ee3a1..fb8284adaed 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.584" +#define AWS_SDK_VERSION_STRING "1.11.594" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 584 +#define AWS_SDK_VERSION_PATCH 594 diff --git a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h index ced88664d14..21c8341d80c 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h @@ -169,12 +169,15 @@ namespace client const auto& epParams = ctx.m_pRequest->GetEndpointContextParams(); for (const auto& epParam : epParams) { using ParameterType = Aws::Endpoint::EndpointParameter::ParameterType; - if(epParam.GetStoredType() == ParameterType::STRING) - identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetStrValueNoCheck()}); - else if (epParam.GetStoredType() == ParameterType::BOOLEAN) - identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetBoolValueNoCheck()}); - else - assert(!"Unknown endpoint parameter!"); + if(epParam.GetStoredType() == ParameterType::STRING) { + identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetStrValueNoCheck()}); + } else if (epParam.GetStoredType() == ParameterType::BOOLEAN) { + identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetBoolValueNoCheck()}); + } else if (epParam.GetStoredType() == ParameterType::STRING_ARRAY) { + identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetStrArrayValueNoCheck()}); + } else { + assert(!"Unknown endpoint parameter!"); + } } const auto& serviceParams = ctx.m_pRequest->GetServiceSpecificParameters(); if (serviceParams) { diff --git a/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h b/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h index 2ab0fdd3eaa..4ab79935e4c 100644 --- a/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h +++ b/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h @@ -26,7 +26,8 @@ class DefaultAuthSchemeResolverParameters Aws::UnorderedMap > additionalProperties; + Aws::Auth::AWSSigningAlgorithm, + Aws::Vector>> additionalProperties; }; diff --git a/src/aws-cpp-sdk-core/source/endpoint/AWSPartitions.cpp b/src/aws-cpp-sdk-core/source/endpoint/AWSPartitions.cpp index 082deabcf4d..3f511953a67 100644 --- a/src/aws-cpp-sdk-core/source/endpoint/AWSPartitions.cpp +++ b/src/aws-cpp-sdk-core/source/endpoint/AWSPartitions.cpp @@ -10,8 +10,8 @@ namespace Aws { namespace Endpoint { -const size_t AWSPartitions::PartitionsBlobStrLen = 2962; -const size_t AWSPartitions::PartitionsBlobSize = 2963; +const size_t AWSPartitions::PartitionsBlobStrLen = 2977; +const size_t AWSPartitions::PartitionsBlobSize = 2978; using PartitionsBlobT = Aws::Array; static constexpr PartitionsBlobT PartitionsBlob = {{ @@ -26,114 +26,115 @@ static constexpr PartitionsBlobT PartitionsBlob = {{ 'g','e','x','"',':','"','^','(','u','s','|','e','u','|','a','p','|','s','a','|','c','a','|','m','e', '|','a','f','|','i','l','|','m','x',')','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$', '"',',','"','r','e','g','i','o','n','s','"',':','{','"','a','f','-','s','o','u','t','h','-','1','"', -':','{','}',',','"','a','p','-','e','a','s','t','-','1','"',':','{','}',',','"','a','p','-','n','o', -'r','t','h','e','a','s','t','-','1','"',':','{','}',',','"','a','p','-','n','o','r','t','h','e','a', -'s','t','-','2','"',':','{','}',',','"','a','p','-','n','o','r','t','h','e','a','s','t','-','3','"', -':','{','}',',','"','a','p','-','s','o','u','t','h','-','1','"',':','{','}',',','"','a','p','-','s', -'o','u','t','h','-','2','"',':','{','}',',','"','a','p','-','s','o','u','t','h','e','a','s','t','-', -'1','"',':','{','}',',','"','a','p','-','s','o','u','t','h','e','a','s','t','-','2','"',':','{','}', -',','"','a','p','-','s','o','u','t','h','e','a','s','t','-','3','"',':','{','}',',','"','a','p','-', -'s','o','u','t','h','e','a','s','t','-','4','"',':','{','}',',','"','a','p','-','s','o','u','t','h', -'e','a','s','t','-','5','"',':','{','}',',','"','a','p','-','s','o','u','t','h','e','a','s','t','-', -'7','"',':','{','}',',','"','a','w','s','-','g','l','o','b','a','l','"',':','{','}',',','"','c','a', -'-','c','e','n','t','r','a','l','-','1','"',':','{','}',',','"','c','a','-','w','e','s','t','-','1', -'"',':','{','}',',','"','e','u','-','c','e','n','t','r','a','l','-','1','"',':','{','}',',','"','e', -'u','-','c','e','n','t','r','a','l','-','2','"',':','{','}',',','"','e','u','-','n','o','r','t','h', -'-','1','"',':','{','}',',','"','e','u','-','s','o','u','t','h','-','1','"',':','{','}',',','"','e', -'u','-','s','o','u','t','h','-','2','"',':','{','}',',','"','e','u','-','w','e','s','t','-','1','"', -':','{','}',',','"','e','u','-','w','e','s','t','-','2','"',':','{','}',',','"','e','u','-','w','e', -'s','t','-','3','"',':','{','}',',','"','i','l','-','c','e','n','t','r','a','l','-','1','"',':','{', -'}',',','"','m','e','-','c','e','n','t','r','a','l','-','1','"',':','{','}',',','"','m','e','-','s', -'o','u','t','h','-','1','"',':','{','}',',','"','m','x','-','c','e','n','t','r','a','l','-','1','"', -':','{','}',',','"','s','a','-','e','a','s','t','-','1','"',':','{','}',',','"','u','s','-','e','a', -'s','t','-','1','"',':','{','}',',','"','u','s','-','e','a','s','t','-','2','"',':','{','}',',','"', -'u','s','-','w','e','s','t','-','1','"',':','{','}',',','"','u','s','-','w','e','s','t','-','2','"', -':','{','}','}','}',',','{','"','i','d','"',':','"','a','w','s','-','c','n','"',',','"','o','u','t', -'p','u','t','s','"',':','{','"','d','n','s','S','u','f','f','i','x','"',':','"','a','m','a','z','o', -'n','a','w','s','.','c','o','m','.','c','n','"',',','"','d','u','a','l','S','t','a','c','k','D','n', -'s','S','u','f','f','i','x','"',':','"','a','p','i','.','a','m','a','z','o','n','w','e','b','s','e', -'r','v','i','c','e','s','.','c','o','m','.','c','n','"',',','"','i','m','p','l','i','c','i','t','G', -'l','o','b','a','l','R','e','g','i','o','n','"',':','"','c','n','-','n','o','r','t','h','w','e','s', -'t','-','1','"',',','"','n','a','m','e','"',':','"','a','w','s','-','c','n','"',',','"','s','u','p', -'p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',':','t','r','u','e',',','"','s','u','p', -'p','o','r','t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i','o','n','R', -'e','g','e','x','"',':','"','^','c','n','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$', -'"',',','"','r','e','g','i','o','n','s','"',':','{','"','a','w','s','-','c','n','-','g','l','o','b', -'a','l','"',':','{','}',',','"','c','n','-','n','o','r','t','h','-','1','"',':','{','}',',','"','c', -'n','-','n','o','r','t','h','w','e','s','t','-','1','"',':','{','}','}','}',',','{','"','i','d','"', -':','"','a','w','s','-','u','s','-','g','o','v','"',',','"','o','u','t','p','u','t','s','"',':','{', -'"','d','n','s','S','u','f','f','i','x','"',':','"','a','m','a','z','o','n','a','w','s','.','c','o', -'m','"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"', -'a','p','i','.','a','w','s','"',',','"','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R', -'e','g','i','o','n','"',':','"','u','s','-','g','o','v','-','w','e','s','t','-','1','"',',','"','n', -'a','m','e','"',':','"','a','w','s','-','u','s','-','g','o','v','"',',','"','s','u','p','p','o','r', -'t','s','D','u','a','l','S','t','a','c','k','"',':','t','r','u','e',',','"','s','u','p','p','o','r', -'t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i','o','n','R','e','g','e', -'x','"',':','"','^','u','s','\\','\\','-','g','o','v','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\', -'d','+','$','"',',','"','r','e','g','i','o','n','s','"',':','{','"','a','w','s','-','u','s','-','g', -'o','v','-','g','l','o','b','a','l','"',':','{','}',',','"','u','s','-','g','o','v','-','e','a','s', -'t','-','1','"',':','{','}',',','"','u','s','-','g','o','v','-','w','e','s','t','-','1','"',':','{', -'}','}','}',',','{','"','i','d','"',':','"','a','w','s','-','i','s','o','"',',','"','o','u','t','p', -'u','t','s','"',':','{','"','d','n','s','S','u','f','f','i','x','"',':','"','c','2','s','.','i','c', -'.','g','o','v','"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', -'"',':','"','c','2','s','.','i','c','.','g','o','v','"',',','"','i','m','p','l','i','c','i','t','G', -'l','o','b','a','l','R','e','g','i','o','n','"',':','"','u','s','-','i','s','o','-','e','a','s','t', -'-','1','"',',','"','n','a','m','e','"',':','"','a','w','s','-','i','s','o','"',',','"','s','u','p', -'p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',':','f','a','l','s','e',',','"','s','u', -'p','p','o','r','t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i','o','n', -'R','e','g','e','x','"',':','"','^','u','s','\\','\\','-','i','s','o','\\','\\','-','\\','\\','w','+','\\', -'\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i','o','n','s','"',':','{','"','a','w','s','-', -'i','s','o','-','g','l','o','b','a','l','"',':','{','}',',','"','u','s','-','i','s','o','-','e','a', -'s','t','-','1','"',':','{','}',',','"','u','s','-','i','s','o','-','w','e','s','t','-','1','"',':', -'{','}','}','}',',','{','"','i','d','"',':','"','a','w','s','-','i','s','o','-','b','"',',','"','o', -'u','t','p','u','t','s','"',':','{','"','d','n','s','S','u','f','f','i','x','"',':','"','s','c','2', -'s','.','s','g','o','v','.','g','o','v','"',',','"','d','u','a','l','S','t','a','c','k','D','n','s', -'S','u','f','f','i','x','"',':','"','s','c','2','s','.','s','g','o','v','.','g','o','v','"',',','"', +':','{','}',',','"','a','p','-','e','a','s','t','-','1','"',':','{','}',',','"','a','p','-','e','a', +'s','t','-','2','"',':','{','}',',','"','a','p','-','n','o','r','t','h','e','a','s','t','-','1','"', +':','{','}',',','"','a','p','-','n','o','r','t','h','e','a','s','t','-','2','"',':','{','}',',','"', +'a','p','-','n','o','r','t','h','e','a','s','t','-','3','"',':','{','}',',','"','a','p','-','s','o', +'u','t','h','-','1','"',':','{','}',',','"','a','p','-','s','o','u','t','h','-','2','"',':','{','}', +',','"','a','p','-','s','o','u','t','h','e','a','s','t','-','1','"',':','{','}',',','"','a','p','-', +'s','o','u','t','h','e','a','s','t','-','2','"',':','{','}',',','"','a','p','-','s','o','u','t','h', +'e','a','s','t','-','3','"',':','{','}',',','"','a','p','-','s','o','u','t','h','e','a','s','t','-', +'4','"',':','{','}',',','"','a','p','-','s','o','u','t','h','e','a','s','t','-','5','"',':','{','}', +',','"','a','p','-','s','o','u','t','h','e','a','s','t','-','7','"',':','{','}',',','"','a','w','s', +'-','g','l','o','b','a','l','"',':','{','}',',','"','c','a','-','c','e','n','t','r','a','l','-','1', +'"',':','{','}',',','"','c','a','-','w','e','s','t','-','1','"',':','{','}',',','"','e','u','-','c', +'e','n','t','r','a','l','-','1','"',':','{','}',',','"','e','u','-','c','e','n','t','r','a','l','-', +'2','"',':','{','}',',','"','e','u','-','n','o','r','t','h','-','1','"',':','{','}',',','"','e','u', +'-','s','o','u','t','h','-','1','"',':','{','}',',','"','e','u','-','s','o','u','t','h','-','2','"', +':','{','}',',','"','e','u','-','w','e','s','t','-','1','"',':','{','}',',','"','e','u','-','w','e', +'s','t','-','2','"',':','{','}',',','"','e','u','-','w','e','s','t','-','3','"',':','{','}',',','"', +'i','l','-','c','e','n','t','r','a','l','-','1','"',':','{','}',',','"','m','e','-','c','e','n','t', +'r','a','l','-','1','"',':','{','}',',','"','m','e','-','s','o','u','t','h','-','1','"',':','{','}', +',','"','m','x','-','c','e','n','t','r','a','l','-','1','"',':','{','}',',','"','s','a','-','e','a', +'s','t','-','1','"',':','{','}',',','"','u','s','-','e','a','s','t','-','1','"',':','{','}',',','"', +'u','s','-','e','a','s','t','-','2','"',':','{','}',',','"','u','s','-','w','e','s','t','-','1','"', +':','{','}',',','"','u','s','-','w','e','s','t','-','2','"',':','{','}','}','}',',','{','"','i','d', +'"',':','"','a','w','s','-','c','n','"',',','"','o','u','t','p','u','t','s','"',':','{','"','d','n', +'s','S','u','f','f','i','x','"',':','"','a','m','a','z','o','n','a','w','s','.','c','o','m','.','c', +'n','"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"', +'a','p','i','.','a','m','a','z','o','n','w','e','b','s','e','r','v','i','c','e','s','.','c','o','m', +'.','c','n','"',',','"','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o', +'n','"',':','"','c','n','-','n','o','r','t','h','w','e','s','t','-','1','"',',','"','n','a','m','e', +'"',':','"','a','w','s','-','c','n','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', +'t','a','c','k','"',':','t','r','u','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +':','t','r','u','e','}',',','"','r','e','g','i','o','n','R','e','g','e','x','"',':','"','^','c','n', +'\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i','o','n','s', +'"',':','{','"','a','w','s','-','c','n','-','g','l','o','b','a','l','"',':','{','}',',','"','c','n', +'-','n','o','r','t','h','-','1','"',':','{','}',',','"','c','n','-','n','o','r','t','h','w','e','s', +'t','-','1','"',':','{','}','}','}',',','{','"','i','d','"',':','"','a','w','s','-','u','s','-','g', +'o','v','"',',','"','o','u','t','p','u','t','s','"',':','{','"','d','n','s','S','u','f','f','i','x', +'"',':','"','a','m','a','z','o','n','a','w','s','.','c','o','m','"',',','"','d','u','a','l','S','t', +'a','c','k','D','n','s','S','u','f','f','i','x','"',':','"','a','p','i','.','a','w','s','"',',','"', 'i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','"',':','"','u','s', -'-','i','s','o','b','-','e','a','s','t','-','1','"',',','"','n','a','m','e','"',':','"','a','w','s', -'-','i','s','o','-','b','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c', -'k','"',':','f','a','l','s','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',':','t', -'r','u','e','}',',','"','r','e','g','i','o','n','R','e','g','e','x','"',':','"','^','u','s','\\','\\', -'-','i','s','o','b','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e', -'g','i','o','n','s','"',':','{','"','a','w','s','-','i','s','o','-','b','-','g','l','o','b','a','l', -'"',':','{','}',',','"','u','s','-','i','s','o','b','-','e','a','s','t','-','1','"',':','{','}','}', -'}',',','{','"','i','d','"',':','"','a','w','s','-','i','s','o','-','e','"',',','"','o','u','t','p', -'u','t','s','"',':','{','"','d','n','s','S','u','f','f','i','x','"',':','"','c','l','o','u','d','.', -'a','d','c','-','e','.','u','k','"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u', -'f','f','i','x','"',':','"','c','l','o','u','d','.','a','d','c','-','e','.','u','k','"',',','"','i', -'m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','"',':','"','e','u','-', -'i','s','o','e','-','w','e','s','t','-','1','"',',','"','n','a','m','e','"',':','"','a','w','s','-', -'i','s','o','-','e','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', -'"',':','f','a','l','s','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',':','t','r', -'u','e','}',',','"','r','e','g','i','o','n','R','e','g','e','x','"',':','"','^','e','u','\\','\\','-', -'i','s','o','e','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g', -'i','o','n','s','"',':','{','"','a','w','s','-','i','s','o','-','e','-','g','l','o','b','a','l','"', -':','{','}',',','"','e','u','-','i','s','o','e','-','w','e','s','t','-','1','"',':','{','}','}','}', -',','{','"','i','d','"',':','"','a','w','s','-','i','s','o','-','f','"',',','"','o','u','t','p','u', -'t','s','"',':','{','"','d','n','s','S','u','f','f','i','x','"',':','"','c','s','p','.','h','c','i', -'.','i','c','.','g','o','v','"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', -'f','i','x','"',':','"','c','s','p','.','h','c','i','.','i','c','.','g','o','v','"',',','"','i','m', -'p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','"',':','"','u','s','-','i', -'s','o','f','-','s','o','u','t','h','-','1','"',',','"','n','a','m','e','"',':','"','a','w','s','-', -'i','s','o','-','f','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k', -'"',':','f','a','l','s','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',':','t','r', +'-','g','o','v','-','w','e','s','t','-','1','"',',','"','n','a','m','e','"',':','"','a','w','s','-', +'u','s','-','g','o','v','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c', +'k','"',':','t','r','u','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',':','t','r', 'u','e','}',',','"','r','e','g','i','o','n','R','e','g','e','x','"',':','"','^','u','s','\\','\\','-', -'i','s','o','f','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g', -'i','o','n','s','"',':','{','"','a','w','s','-','i','s','o','-','f','-','g','l','o','b','a','l','"', -':','{','}',',','"','u','s','-','i','s','o','f','-','e','a','s','t','-','1','"',':','{','}',',','"', -'u','s','-','i','s','o','f','-','s','o','u','t','h','-','1','"',':','{','}','}','}',',','{','"','i', -'d','"',':','"','a','w','s','-','e','u','s','c','"',',','"','o','u','t','p','u','t','s','"',':','{', -'"','d','n','s','S','u','f','f','i','x','"',':','"','a','m','a','z','o','n','a','w','s','.','e','u', -'"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"','a', -'m','a','z','o','n','a','w','s','.','e','u','"',',','"','i','m','p','l','i','c','i','t','G','l','o', -'b','a','l','R','e','g','i','o','n','"',':','"','e','u','s','c','-','d','e','-','e','a','s','t','-', -'1','"',',','"','n','a','m','e','"',':','"','a','w','s','-','e','u','s','c','"',',','"','s','u','p', -'p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',':','f','a','l','s','e',',','"','s','u', -'p','p','o','r','t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i','o','n', -'R','e','g','e','x','"',':','"','^','e','u','s','c','\\','\\','-','(','d','e',')','\\','\\','-','\\','\\', -'w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i','o','n','s','"',':','{','"','e', -'u','s','c','-','d','e','-','e','a','s','t','-','1','"',':','{','}','}','}',']',',','"','v','e','r', -'s','i','o','n','"',':','"','1','.','1','"','}','\0' +'g','o','v','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i', +'o','n','s','"',':','{','"','a','w','s','-','u','s','-','g','o','v','-','g','l','o','b','a','l','"', +':','{','}',',','"','u','s','-','g','o','v','-','e','a','s','t','-','1','"',':','{','}',',','"','u', +'s','-','g','o','v','-','w','e','s','t','-','1','"',':','{','}','}','}',',','{','"','i','d','"',':', +'"','a','w','s','-','i','s','o','"',',','"','o','u','t','p','u','t','s','"',':','{','"','d','n','s', +'S','u','f','f','i','x','"',':','"','c','2','s','.','i','c','.','g','o','v','"',',','"','d','u','a', +'l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"','c','2','s','.','i','c','.', +'g','o','v','"',',','"','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o', +'n','"',':','"','u','s','-','i','s','o','-','e','a','s','t','-','1','"',',','"','n','a','m','e','"', +':','"','a','w','s','-','i','s','o','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', +'t','a','c','k','"',':','f','a','l','s','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S', +'"',':','t','r','u','e','}',',','"','r','e','g','i','o','n','R','e','g','e','x','"',':','"','^','u', +'s','\\','\\','-','i','s','o','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$','"',',','"', +'r','e','g','i','o','n','s','"',':','{','"','a','w','s','-','i','s','o','-','g','l','o','b','a','l', +'"',':','{','}',',','"','u','s','-','i','s','o','-','e','a','s','t','-','1','"',':','{','}',',','"', +'u','s','-','i','s','o','-','w','e','s','t','-','1','"',':','{','}','}','}',',','{','"','i','d','"', +':','"','a','w','s','-','i','s','o','-','b','"',',','"','o','u','t','p','u','t','s','"',':','{','"', +'d','n','s','S','u','f','f','i','x','"',':','"','s','c','2','s','.','s','g','o','v','.','g','o','v', +'"',',','"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"','s', +'c','2','s','.','s','g','o','v','.','g','o','v','"',',','"','i','m','p','l','i','c','i','t','G','l', +'o','b','a','l','R','e','g','i','o','n','"',':','"','u','s','-','i','s','o','b','-','e','a','s','t', +'-','1','"',',','"','n','a','m','e','"',':','"','a','w','s','-','i','s','o','-','b','"',',','"','s', +'u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',':','f','a','l','s','e',',','"', +'s','u','p','p','o','r','t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i', +'o','n','R','e','g','e','x','"',':','"','^','u','s','\\','\\','-','i','s','o','b','\\','\\','-','\\','\\', +'w','+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i','o','n','s','"',':','{','"','a', +'w','s','-','i','s','o','-','b','-','g','l','o','b','a','l','"',':','{','}',',','"','u','s','-','i', +'s','o','b','-','e','a','s','t','-','1','"',':','{','}','}','}',',','{','"','i','d','"',':','"','a', +'w','s','-','i','s','o','-','e','"',',','"','o','u','t','p','u','t','s','"',':','{','"','d','n','s', +'S','u','f','f','i','x','"',':','"','c','l','o','u','d','.','a','d','c','-','e','.','u','k','"',',', +'"','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"','c','l','o', +'u','d','.','a','d','c','-','e','.','u','k','"',',','"','i','m','p','l','i','c','i','t','G','l','o', +'b','a','l','R','e','g','i','o','n','"',':','"','e','u','-','i','s','o','e','-','w','e','s','t','-', +'1','"',',','"','n','a','m','e','"',':','"','a','w','s','-','i','s','o','-','e','"',',','"','s','u', +'p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',':','f','a','l','s','e',',','"','s', +'u','p','p','o','r','t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i','o', +'n','R','e','g','e','x','"',':','"','^','e','u','\\','\\','-','i','s','o','e','\\','\\','-','\\','\\','w', +'+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i','o','n','s','"',':','{','"','a','w', +'s','-','i','s','o','-','e','-','g','l','o','b','a','l','"',':','{','}',',','"','e','u','-','i','s', +'o','e','-','w','e','s','t','-','1','"',':','{','}','}','}',',','{','"','i','d','"',':','"','a','w', +'s','-','i','s','o','-','f','"',',','"','o','u','t','p','u','t','s','"',':','{','"','d','n','s','S', +'u','f','f','i','x','"',':','"','c','s','p','.','h','c','i','.','i','c','.','g','o','v','"',',','"', +'d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','"',':','"','c','s','p','.', +'h','c','i','.','i','c','.','g','o','v','"',',','"','i','m','p','l','i','c','i','t','G','l','o','b', +'a','l','R','e','g','i','o','n','"',':','"','u','s','-','i','s','o','f','-','s','o','u','t','h','-', +'1','"',',','"','n','a','m','e','"',':','"','a','w','s','-','i','s','o','-','f','"',',','"','s','u', +'p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',':','f','a','l','s','e',',','"','s', +'u','p','p','o','r','t','s','F','I','P','S','"',':','t','r','u','e','}',',','"','r','e','g','i','o', +'n','R','e','g','e','x','"',':','"','^','u','s','\\','\\','-','i','s','o','f','\\','\\','-','\\','\\','w', +'+','\\','\\','-','\\','\\','d','+','$','"',',','"','r','e','g','i','o','n','s','"',':','{','"','a','w', +'s','-','i','s','o','-','f','-','g','l','o','b','a','l','"',':','{','}',',','"','u','s','-','i','s', +'o','f','-','e','a','s','t','-','1','"',':','{','}',',','"','u','s','-','i','s','o','f','-','s','o', +'u','t','h','-','1','"',':','{','}','}','}',',','{','"','i','d','"',':','"','a','w','s','-','e','u', +'s','c','"',',','"','o','u','t','p','u','t','s','"',':','{','"','d','n','s','S','u','f','f','i','x', +'"',':','"','a','m','a','z','o','n','a','w','s','.','e','u','"',',','"','d','u','a','l','S','t','a', +'c','k','D','n','s','S','u','f','f','i','x','"',':','"','a','m','a','z','o','n','a','w','s','.','e', +'u','"',',','"','i','m','p','l','i','c','i','t','G','l','o','b','a','l','R','e','g','i','o','n','"', +':','"','e','u','s','c','-','d','e','-','e','a','s','t','-','1','"',',','"','n','a','m','e','"',':', +'"','a','w','s','-','e','u','s','c','"',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S', +'t','a','c','k','"',':','f','a','l','s','e',',','"','s','u','p','p','o','r','t','s','F','I','P','S', +'"',':','t','r','u','e','}',',','"','r','e','g','i','o','n','R','e','g','e','x','"',':','"','^','e', +'u','s','c','\\','\\','-','(','d','e',')','\\','\\','-','\\','\\','w','+','\\','\\','-','\\','\\','d','+','$', +'"',',','"','r','e','g','i','o','n','s','"',':','{','"','e','u','s','c','-','d','e','-','e','a','s', +'t','-','1','"',':','{','}','}','}',']',',','"','v','e','r','s','i','o','n','"',':','"','1','.','1', +'"','}','\0' }}; const char* AWSPartitions::GetPartitionsBlob() diff --git a/tests/aws-cpp-sdk-core-tests/aws/auth/GeneralHTTPCredentialsProviderTest.cpp b/tests/aws-cpp-sdk-core-tests/aws/auth/GeneralHTTPCredentialsProviderTest.cpp index b9dfc3fdc0f..d0ad9e84b83 100644 --- a/tests/aws-cpp-sdk-core-tests/aws/auth/GeneralHTTPCredentialsProviderTest.cpp +++ b/tests/aws-cpp-sdk-core-tests/aws/auth/GeneralHTTPCredentialsProviderTest.cpp @@ -28,6 +28,10 @@ const char AWS_CONTAINER_AUTHORIZATION_TOKEN[] = "AWS_CONTAINER_AUTHORIZATI const std::vector ENV_VARS = {AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE, AWS_CONTAINER_CREDENTIALS_RELATIVE_URI, AWS_CONTAINER_CREDENTIALS_FULL_URI, AWS_CONTAINER_AUTHORIZATION_TOKEN}; +namespace { +size_t PROVIDER_CREATE_ATTEMPTS = 5; +} + class GeneralHTTPCredentialsProviderTest : public Aws::Testing::AwsCppSdkGTestSuite { @@ -488,9 +492,14 @@ TEST_P(GeneralHTTPCredentialsProviderResponseHandlingTests, ResponseHandlingTest } Aws::Environment::SetEnv("AWS_CONTAINER_CREDENTIALS_FULL_URI", "http://localhost/get-credentials", 1); - std::shared_ptr genProvider = CreateGeneralProvider(); - ASSERT_TRUE(genProvider && genProvider->IsValid()); - AWSCredentials credentials = genProvider->GetAWSCredentials(); + size_t createRetryCount{0}; + std::shared_ptr provider{nullptr}; + while ((!provider || !provider->IsValid()) && createRetryCount < PROVIDER_CREATE_ATTEMPTS) { + provider = CreateGeneralProvider(); + createRetryCount++; + } + ASSERT_TRUE(provider && provider->IsValid()); + AWSCredentials credentials = provider->GetAWSCredentials(); auto requestsMade = m_mockHttpClient->GetAllRequestsMade(); if (expect.GetString("type") == "error") { diff --git a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp index 77803d16c34..14b5e2a54d0 100644 --- a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp +++ b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -1523,5 +1524,23 @@ TEST_F(TableOperationTest, TestEndpointOverride) } } +TEST_F(TableOperationTest, TestBatchGetItem) { + Aws::String table_name = BuildTableName(BASE_SIMPLE_TABLE); + CreateTable(table_name, 10, 10); + + AttributeValue value{"wheres everyone going, bingo?"}; + const auto put_item_result = m_client->PutItem(PutItemRequest().WithTableName(table_name).WithItem({{HASH_KEY_NAME, value}})); + AWS_ASSERT_SUCCESS(put_item_result); + + const auto batch_get_item_result = m_client->BatchGetItem(BatchGetItemRequest() + .WithRequestItems({ + { + table_name, KeysAndAttributes().WithKeys({{{HASH_KEY_NAME, value}}}) + } + })); + AWS_ASSERT_SUCCESS(batch_get_item_result); + EXPECT_EQ(1ul, batch_get_item_result.GetResult().GetResponses().size()); +} + } // anonymous namespace diff --git a/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp b/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp index f78a2aeec0c..696fac307e8 100644 --- a/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp +++ b/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -247,14 +246,14 @@ class FunctionTest : public ::testing::Test { functionCode.SetZipFile(Aws::Utils::ByteBuffer((unsigned char*)buffer.str().c_str(), buffer.str().length())); createFunctionRequest.SetCode(functionCode); - createFunctionRequest.SetRuntime(Aws::Lambda::Model::Runtime::nodejs12_x); + createFunctionRequest.SetRuntime(Aws::Lambda::Model::Runtime::nodejs22_x); CreateFunctionOutcome createFunctionOutcome = m_client->CreateFunction(createFunctionRequest); AWS_ASSERT_SUCCESS(createFunctionOutcome); ASSERT_EQ(functionName,createFunctionOutcome.GetResult().GetFunctionName()); ASSERT_EQ("test.handler",createFunctionOutcome.GetResult().GetHandler()); ASSERT_EQ(roleARN,createFunctionOutcome.GetResult().GetRole()); - ASSERT_EQ(Aws::Lambda::Model::Runtime::nodejs12_x, createFunctionOutcome.GetResult().GetRuntime()); + ASSERT_EQ(Aws::Lambda::Model::Runtime::nodejs22_x, createFunctionOutcome.GetResult().GetRuntime()); functionArnMapping[functionName] = createFunctionOutcome.GetResult().GetFunctionArn(); WaitForFunctionStatus(functionName, Aws::Lambda::Model::State::Active); @@ -316,7 +315,7 @@ TEST_F(FunctionTest, TestGetFunction) AWS_EXPECT_SUCCESS(getFunctionOutcome); GetFunctionResult getFunctionResult = getFunctionOutcome.GetResult(); - EXPECT_EQ(Runtime::nodejs12_x, getFunctionResult.GetConfiguration().GetRuntime()); + EXPECT_EQ(Runtime::nodejs22_x, getFunctionResult.GetConfiguration().GetRuntime()); EXPECT_EQ("test.handler",getFunctionResult.GetConfiguration().GetHandler()); EXPECT_EQ(simpleFunctionName,getFunctionResult.GetConfiguration().GetFunctionName()); //Just see that is looks like an aws url @@ -334,7 +333,7 @@ TEST_F(FunctionTest, TestGetFunctionConfiguration) AWS_EXPECT_SUCCESS(getFunctionConfigurationOutcome); GetFunctionConfigurationResult getFunctionConfigurationResult = getFunctionConfigurationOutcome.GetResult(); - EXPECT_EQ(Runtime::nodejs12_x, getFunctionConfigurationResult.GetRuntime()); + EXPECT_EQ(Runtime::nodejs22_x, getFunctionConfigurationResult.GetRuntime()); EXPECT_EQ("test.handler",getFunctionConfigurationResult.GetHandler()); EXPECT_EQ(simpleFunctionName,getFunctionConfigurationResult.GetFunctionName()); } @@ -490,7 +489,6 @@ TEST_F(FunctionTest, TestPermissions) if (!getRemovedPolicyOutcome.IsSuccess()) { EXPECT_EQ(LambdaErrors::RESOURCE_NOT_FOUND, getRemovedPolicyOutcome.GetError().GetErrorType()); - EXPECT_STREQ("User", getRemovedPolicyOutcome.GetError().GetType().c_str()); } //Now we should get an empty policy a GetPolicy because we just removed it else diff --git a/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json b/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json index 76176dbd1f5..c188f8b7c1d 100644 --- a/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json +++ b/tools/code-generation/api-descriptions/accessanalyzer-2019-11-01.normal.json @@ -1125,6 +1125,10 @@ "unusedAccess":{ "shape":"UnusedAccessConfiguration", "documentation":"

                          Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or account.

                          " + }, + "internalAccess":{ + "shape":"InternalAccessConfiguration", + "documentation":"

                          Specifies the configuration of an internal access analyzer for an Amazon Web Services organization or account. This configuration determines how the analyzer evaluates access within your Amazon Web Services environment.

                          " } }, "documentation":"

                          Contains information about the configuration of an analyzer for an Amazon Web Services organization or account.

                          ", @@ -1187,7 +1191,7 @@ }, "configuration":{ "shape":"AnalyzerConfiguration", - "documentation":"

                          Specifies whether the analyzer is an external access or unused access analyzer.

                          " + "documentation":"

                          Specifies if the analyzer is an external access, unused access, or internal access analyzer.

                          " } }, "documentation":"

                          Contains information about the analyzer.

                          " @@ -1609,7 +1613,7 @@ }, "type":{ "shape":"Type", - "documentation":"

                          The type of analyzer to create. Only ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS, and ORGANIZATION_UNUSED_ACCESS analyzers are supported. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

                          " + "documentation":"

                          The type of analyzer to create. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

                          " }, "archiveRules":{ "shape":"InlineArchiveRulesList", @@ -1626,7 +1630,7 @@ }, "configuration":{ "shape":"AnalyzerConfiguration", - "documentation":"

                          Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration.

                          " + "documentation":"

                          Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration. If the analyzer is an internal access analyzer, the specified internal access analysis rules are used for the configuration.

                          " } }, "documentation":"

                          Creates an analyzer.

                          " @@ -1841,7 +1845,7 @@ }, "resourceControlPolicyRestriction":{ "shape":"ResourceControlPolicyRestriction", - "documentation":"

                          The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                          " + "documentation":"

                          The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                          • APPLICABLE: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLICABLE, then s3:DeleteObject would still be included in the list of actions for the finding.

                          • FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

                          • NOT_APPLICABLE: There was no RCP present in the organization, or there was no RCP applicable to the resource. For example, the resource being analyzed is an Amazon RDS snapshot and there is an RCP in the organization, but the RCP only impacts Amazon S3 buckets.

                          • APPLIED: This restriction is not currently available for external access findings.

                          " } }, "documentation":"

                          Contains information about an external access finding.

                          " @@ -1983,6 +1987,10 @@ "FindingDetails":{ "type":"structure", "members":{ + "internalAccessDetails":{ + "shape":"InternalAccessDetails", + "documentation":"

                          The details for an internal access analyzer finding. This contains information about access patterns identified within your Amazon Web Services organization or account.

                          " + }, "externalAccessDetails":{ "shape":"ExternalAccessDetails", "documentation":"

                          The details for an external access analyzer finding.

                          " @@ -2199,7 +2207,7 @@ }, "findingType":{ "shape":"FindingType", - "documentation":"

                          The type of the external access or unused access finding.

                          " + "documentation":"

                          The type of the access finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission. For internal access analyzers, the type is InternalAccess.

                          " } }, "documentation":"

                          Contains information about a finding.

                          " @@ -2211,7 +2219,8 @@ "UnusedIAMRole", "UnusedIAMUserAccessKey", "UnusedIAMUserPassword", - "UnusedPermission" + "UnusedPermission", + "InternalAccess" ] }, "FindingsList":{ @@ -2229,6 +2238,10 @@ "shape":"ExternalAccessFindingsStatistics", "documentation":"

                          The aggregate statistics for an external access analyzer.

                          " }, + "internalAccessFindingsStatistics":{ + "shape":"InternalAccessFindingsStatistics", + "documentation":"

                          The aggregate statistics for an internal access analyzer. This includes information about active, archived, and resolved findings related to internal access within your Amazon Web Services organization or account.

                          " + }, "unusedAccessFindingsStatistics":{ "shape":"UnusedAccessFindingsStatistics", "documentation":"

                          The aggregate statistics for an unused access analyzer.

                          " @@ -2644,7 +2657,7 @@ }, "findingType":{ "shape":"FindingType", - "documentation":"

                          The type of the finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission.

                          " + "documentation":"

                          The type of the finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission. For internal access analyzers, the type is InternalAccess.

                          " } } }, @@ -2750,6 +2763,142 @@ "type":"integer", "box":true }, + "InternalAccessAnalysisRule":{ + "type":"structure", + "members":{ + "inclusions":{ + "shape":"InternalAccessAnalysisRuleCriteriaList", + "documentation":"

                          A list of rules for the internal access analyzer containing criteria to include in analysis. Only resources that meet the rule criteria will generate findings.

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

                          Contains information about analysis rules for the internal access analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.

                          " + }, + "InternalAccessAnalysisRuleCriteria":{ + "type":"structure", + "members":{ + "accountIds":{ + "shape":"AccountIdsList", + "documentation":"

                          A list of Amazon Web Services account IDs to apply to the internal access analysis rule criteria. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.

                          " + }, + "resourceTypes":{ + "shape":"ResourceTypeList", + "documentation":"

                          A list of resource types to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources of these types. These resource types are currently supported for internal access analyzers:

                          • AWS::S3::Bucket

                          • AWS::RDS::DBSnapshot

                          • AWS::RDS::DBClusterSnapshot

                          • AWS::S3Express::DirectoryBucket

                          • AWS::DynamoDB::Table

                          • AWS::DynamoDB::Stream

                          " + }, + "resourceArns":{ + "shape":"ResourceArnsList", + "documentation":"

                          A list of resource ARNs to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources that match these ARNs.

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

                          The criteria for an analysis rule for an internal access analyzer.

                          " + }, + "InternalAccessAnalysisRuleCriteriaList":{ + "type":"list", + "member":{"shape":"InternalAccessAnalysisRuleCriteria"} + }, + "InternalAccessConfiguration":{ + "type":"structure", + "members":{ + "analysisRule":{ + "shape":"InternalAccessAnalysisRule", + "documentation":"

                          Contains information about analysis rules for the internal access analyzer. These rules determine which resources and access patterns will be analyzed.

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

                          Specifies the configuration of an internal access analyzer for an Amazon Web Services organization or account. This configuration determines how the analyzer evaluates internal access within your Amazon Web Services environment.

                          " + }, + "InternalAccessDetails":{ + "type":"structure", + "members":{ + "action":{ + "shape":"ActionList", + "documentation":"

                          The action in the analyzed policy statement that has internal access permission to use.

                          " + }, + "condition":{ + "shape":"ConditionKeyMap", + "documentation":"

                          The condition in the analyzed policy statement that resulted in an internal access finding.

                          " + }, + "principal":{ + "shape":"PrincipalMap", + "documentation":"

                          The principal that has access to a resource within the internal environment.

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

                          The Amazon Web Services account ID that owns the principal identified in the internal access finding.

                          " + }, + "accessType":{ + "shape":"InternalAccessType", + "documentation":"

                          The type of internal access identified in the finding. This indicates how the access is granted within your Amazon Web Services environment.

                          " + }, + "principalType":{ + "shape":"PrincipalType", + "documentation":"

                          The type of principal identified in the internal access finding, such as IAM role or IAM user.

                          " + }, + "sources":{ + "shape":"FindingSourceList", + "documentation":"

                          The sources of the internal access finding. This indicates how the access that generated the finding is granted within your Amazon Web Services environment.

                          " + }, + "resourceControlPolicyRestriction":{ + "shape":"ResourceControlPolicyRestriction", + "documentation":"

                          The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                          • APPLICABLE: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLICABLE, then s3:DeleteObject would still be included in the list of actions for the finding. Only applicable to internal access findings with the account as the zone of trust.

                          • FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

                          • NOT_APPLICABLE: There was no RCP present in the organization. For internal access findings with the account as the zone of trust, NOT_APPLICABLE could also indicate that there was no RCP applicable to the resource.

                          • APPLIED: An RCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLIED, then s3:DeleteObject would not be included in the list of actions for the finding. Only applicable to internal access findings with the organization as the zone of trust.

                          " + }, + "serviceControlPolicyRestriction":{ + "shape":"ServiceControlPolicyRestriction", + "documentation":"

                          The type of restriction applied to the finding by an Organizations service control policy (SCP).

                          • APPLICABLE: There is an SCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. Only applicable to internal access findings with the account as the zone of trust.

                          • FAILED_TO_EVALUATE_SCP: There was an error evaluating the SCP.

                          • NOT_APPLICABLE: There was no SCP present in the organization. For internal access findings with the account as the zone of trust, NOT_APPLICABLE could also indicate that there was no SCP applicable to the principal.

                          • APPLIED: An SCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. Only applicable to internal access findings with the organization as the zone of trust.

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

                          Contains information about an internal access finding. This includes details about the access that was identified within your Amazon Web Services organization or account.

                          " + }, + "InternalAccessFindingsStatistics":{ + "type":"structure", + "members":{ + "resourceTypeStatistics":{ + "shape":"InternalAccessResourceTypeStatisticsMap", + "documentation":"

                          The total number of active findings for each resource type of the specified internal access analyzer.

                          " + }, + "totalActiveFindings":{ + "shape":"Integer", + "documentation":"

                          The number of active findings for the specified internal access analyzer.

                          " + }, + "totalArchivedFindings":{ + "shape":"Integer", + "documentation":"

                          The number of archived findings for the specified internal access analyzer.

                          " + }, + "totalResolvedFindings":{ + "shape":"Integer", + "documentation":"

                          The number of resolved findings for the specified internal access analyzer.

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

                          Provides aggregate statistics about the findings for the specified internal access analyzer. This includes counts of active, archived, and resolved findings.

                          " + }, + "InternalAccessResourceTypeDetails":{ + "type":"structure", + "members":{ + "totalActiveFindings":{ + "shape":"Integer", + "documentation":"

                          The total number of active findings for the resource type in the internal access analyzer.

                          " + }, + "totalResolvedFindings":{ + "shape":"Integer", + "documentation":"

                          The total number of resolved findings for the resource type in the internal access analyzer.

                          " + }, + "totalArchivedFindings":{ + "shape":"Integer", + "documentation":"

                          The total number of archived findings for the resource type in the internal access analyzer.

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

                          Contains information about the total number of active, archived, and resolved findings for a resource type of an internal access analyzer.

                          " + }, + "InternalAccessResourceTypeStatisticsMap":{ + "type":"map", + "key":{"shape":"ResourceType"}, + "value":{"shape":"InternalAccessResourceTypeDetails"} + }, + "InternalAccessType":{ + "type":"string", + "enum":[ + "INTRA_ACCOUNT", + "INTRA_ORG" + ] + }, "InternalServerException":{ "type":"structure", "required":["message"], @@ -3480,6 +3629,13 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, + "PrincipalType":{ + "type":"string", + "enum":[ + "IAM_ROLE", + "IAM_USER" + ] + }, "RdsDbClusterSnapshotAccountId":{"type":"string"}, "RdsDbClusterSnapshotAccountIdsList":{ "type":"list", @@ -3642,12 +3798,17 @@ "type":"string", "pattern":"arn:[^:]*:[^:]*:[^:]*:[^:]*:.*" }, + "ResourceArnsList":{ + "type":"list", + "member":{"shape":"String"} + }, "ResourceControlPolicyRestriction":{ "type":"string", "enum":[ "APPLICABLE", "FAILED_TO_EVALUATE_RCP", - "NOT_APPLICABLE" + "NOT_APPLICABLE", + "APPLIED" ] }, "ResourceNotFoundException":{ @@ -3711,6 +3872,10 @@ }, "documentation":"

                          Contains information about the total number of active cross-account and public findings for a resource type of an external access analyzer.

                          " }, + "ResourceTypeList":{ + "type":"list", + "member":{"shape":"ResourceType"} + }, "ResourceTypeStatisticsMap":{ "type":"map", "key":{"shape":"ResourceType"}, @@ -3858,6 +4023,15 @@ }, "SecretsManagerSecretKmsId":{"type":"string"}, "SecretsManagerSecretPolicy":{"type":"string"}, + "ServiceControlPolicyRestriction":{ + "type":"string", + "enum":[ + "APPLICABLE", + "FAILED_TO_EVALUATE_SCP", + "NOT_APPLICABLE", + "APPLIED" + ] + }, "ServiceQuotaExceededException":{ "type":"structure", "required":[ @@ -4150,7 +4324,9 @@ "ACCOUNT", "ORGANIZATION", "ACCOUNT_UNUSED_ACCESS", - "ORGANIZATION_UNUSED_ACCESS" + "ORGANIZATION_UNUSED_ACCESS", + "ACCOUNT_INTERNAL_ACCESS", + "ORGANIZATION_INTERNAL_ACCESS" ] }, "UnprocessableEntityException":{ diff --git a/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json b/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json index fdcdf5eb1d5..955882e0f00 100644 --- a/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json +++ b/tools/code-generation/api-descriptions/acm-2015-12-08.normal.json @@ -24,11 +24,11 @@ }, "input":{"shape":"AddTagsToCertificateRequest"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, + {"shape":"TagPolicyException"}, {"shape":"TooManyTagsException"}, - {"shape":"ThrottlingException"}, {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, {"shape":"InvalidTagException"}, {"shape":"ResourceNotFoundException"} ], @@ -43,8 +43,8 @@ "input":{"shape":"DeleteCertificateRequest"}, "errors":[ {"shape":"ResourceInUseException"}, - {"shape":"ThrottlingException"}, {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, {"shape":"ConflictException"}, {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} @@ -78,7 +78,7 @@ {"shape":"RequestInProgressException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

                          Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

                          For information about exporting and formatting a certificate using the ACM console or CLI, see Export a Private Certificate.

                          " + "documentation":"

                          Exports a private certificate issued by a private certificate authority (CA) or public certificate for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

                          For information about exporting and formatting a certificate using the ACM console or CLI, see Export a private certificate and Export a public certificate.

                          " }, "GetAccountConfiguration":{ "name":"GetAccountConfiguration", @@ -117,8 +117,8 @@ "input":{"shape":"ImportCertificateRequest"}, "output":{"shape":"ImportCertificateResponse"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, + {"shape":"TagPolicyException"}, {"shape":"TooManyTagsException"}, {"shape":"InvalidArnException"}, {"shape":"InvalidTagException"}, @@ -178,10 +178,10 @@ }, "input":{"shape":"RemoveTagsFromCertificateRequest"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, - {"shape":"ThrottlingException"}, + {"shape":"TagPolicyException"}, {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, {"shape":"InvalidTagException"}, {"shape":"ResourceNotFoundException"} ], @@ -199,7 +199,7 @@ {"shape":"RequestInProgressException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

                          Renews an eligible ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

                          " + "documentation":"

                          Renews an eligible ACM certificate. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

                          " }, "RequestCertificate":{ "name":"RequestCertificate", @@ -210,15 +210,15 @@ "input":{"shape":"RequestCertificateRequest"}, "output":{"shape":"RequestCertificateResponse"}, "errors":[ - {"shape":"TagPolicyException"}, {"shape":"InvalidParameterException"}, + {"shape":"TagPolicyException"}, {"shape":"TooManyTagsException"}, {"shape":"InvalidArnException"}, {"shape":"InvalidTagException"}, {"shape":"InvalidDomainValidationOptionsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

                          Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

                          If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

                          ACM behavior differs from the RFC 6125 specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).

                          After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.

                          " + "documentation":"

                          Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

                          If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation.

                          ACM behavior differs from the RFC 6125 specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).

                          After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.

                          " }, "ResendValidationEmail":{ "name":"ResendValidationEmail", @@ -235,6 +235,24 @@ ], "documentation":"

                          Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

                          " }, + "RevokeCertificate":{ + "name":"RevokeCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeCertificateRequest"}, + "output":{"shape":"RevokeCertificateResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArnException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                          Revokes a public ACM certificate. You can only revoke certificates that have been previously exported.

                          " + }, "UpdateCertificateOptions":{ "name":"UpdateCertificateOptions", "http":{ @@ -248,7 +266,7 @@ {"shape":"InvalidStateException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

                          Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

                          " + "documentation":"

                          Updates a certificate. You can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log and exporting. For more information, see Opting Out of Certificate Transparency Logging and Certificate Manager Exportable Managed Certificates.

                          " } }, "shapes":{ @@ -420,6 +438,13 @@ }, "documentation":"

                          Contains metadata about an ACM certificate. This structure is returned in the response to a DescribeCertificate request.

                          " }, + "CertificateExport":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "CertificateManagedBy":{ "type":"string", "enum":["CLOUDFRONT"] @@ -430,9 +455,13 @@ "CertificateTransparencyLoggingPreference":{ "shape":"CertificateTransparencyLoggingPreference", "documentation":"

                          You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED.

                          " + }, + "Export":{ + "shape":"CertificateExport", + "documentation":"

                          You can opt in to allow the export of your certificates by specifying ENABLED.

                          " } }, - "documentation":"

                          Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

                          " + "documentation":"

                          Structure that contains options for your certificate. You can use this structure to specify whether to opt in to or out of certificate transparency logging and export your certificate.

                          Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

                          You can export public ACM certificates to use with Amazon Web Services services as well as outside Amazon Web Services Cloud. For more information, see Certificate Manager exportable public certificate.

                          " }, "CertificateStatus":{ "type":"string", @@ -489,6 +518,10 @@ "shape":"ExtendedKeyUsageNames", "documentation":"

                          Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

                          " }, + "ExportOption":{ + "shape":"CertificateExport", + "documentation":"

                          Indicates if export is enabled for the certificate.

                          " + }, "InUse":{ "shape":"NullableBoolean", "documentation":"

                          Indicates whether the certificate is currently in use by any Amazon Web Services resources.

                          " @@ -630,11 +663,11 @@ }, "ResourceRecord":{ "shape":"ResourceRecord", - "documentation":"

                          Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

                          Note: The CNAME information that you need does not include the name of your domain. If you include your domain name in the DNS database CNAME record, validation fails. For example, if the name is \"_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com\", only \"_a79865eb4cd1a6ab990a45779b4e0b96\" must be used.

                          " + "documentation":"

                          Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

                          The CNAME information that you need does not include the name of your domain. If you include your domain name in the DNS database CNAME record, validation fails. For example, if the name is _a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com, only _a79865eb4cd1a6ab990a45779b4e0b96 must be used.

                          " }, "HttpRedirect":{ "shape":"HttpRedirect", - "documentation":"

                          Contains information for HTTP-based domain validation of certificates requested through CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                          " + "documentation":"

                          Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                          " }, "ValidationMethod":{ "shape":"ValidationMethod", @@ -797,6 +830,10 @@ "shape":"KeyAlgorithmList", "documentation":"

                          Specify one or more algorithms that can be used to generate key pairs.

                          Default filtering returns only RSA_1024 and RSA_2048 certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, \"keyTypes\": [\"RSA_2048\",\"RSA_4096\"] returns both RSA_2048 and RSA_4096 certificates.

                          " }, + "exportOption":{ + "shape":"CertificateExport", + "documentation":"

                          Specify ENABLED or DISABLED to identify certificates that can be exported.

                          " + }, "managedBy":{ "shape":"CertificateManagedBy", "documentation":"

                          Identifies the Amazon Web Services service that manages the certificate issued by ACM.

                          " @@ -848,7 +885,7 @@ "documentation":"

                          The URL hosting the validation token. RedirectFrom must return this content or redirect here.

                          " } }, - "documentation":"

                          Contains information for HTTP-based domain validation of certificates requested through CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                          " + "documentation":"

                          Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                          " }, "IdempotencyToken":{ "type":"string", @@ -903,7 +940,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

                          One or more of of request parameters specified is not valid.

                          ", + "documentation":"

                          One or more of request parameters specified is not valid.

                          ", "exception":true }, "InvalidArnException":{ @@ -1229,7 +1266,7 @@ }, "Options":{ "shape":"CertificateOptions", - "documentation":"

                          Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

                          " + "documentation":"

                          You can use this parameter to specify whether to add the certificate to a certificate transparency log and export your certificate.

                          Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

                          You can export public ACM certificates to use with Amazon Web Services services as well as outside the Amazon Web Services Cloud. For more information, see Certificate Manager exportable public certificate.

                          " }, "CertificateAuthorityArn":{ "shape":"PcaArn", @@ -1343,6 +1380,32 @@ "A_A_COMPROMISE" ] }, + "RevokeCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "RevocationReason" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

                          The Amazon Resource Name (ARN) of the public or private certificate that will be revoked. The ARN must have the following form:

                          arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

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

                          Specifies why you revoked the certificate.

                          " + } + } + }, + "RevokeCertificateResponse":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

                          The Amazon Resource Name (ARN) of the public or private certificate that was revoked.

                          " + } + } + }, "ServiceErrorMessage":{"type":"string"}, "SortBy":{ "type":"string", @@ -1427,7 +1490,7 @@ }, "Options":{ "shape":"CertificateOptions", - "documentation":"

                          Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

                          " + "documentation":"

                          Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log or export your certificate. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

                          " } } }, diff --git a/tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json b/tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json new file mode 100644 index 00000000000..98084291615 --- /dev/null +++ b/tools/code-generation/api-descriptions/aiops-2018-05-10.normal.json @@ -0,0 +1,843 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"aiops", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AWS AI Ops", + "serviceId":"AIOps", + "signatureVersion":"v4", + "signingName":"aiops", + "uid":"aiops-2018-05-10" + }, + "operations":{ + "CreateInvestigationGroup":{ + "name":"CreateInvestigationGroup", + "http":{ + "method":"POST", + "requestUri":"/investigationGroups", + "responseCode":201 + }, + "input":{"shape":"CreateInvestigationGroupInput"}, + "output":{"shape":"CreateInvestigationGroupOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Creates an investigation group in your account. Creating an investigation group is a one-time setup task for each Region in your account. It is a necessary task to be able to perform investigations.

                          Settings in the investigation group help you centrally manage the common properties of your investigations, such as the following:

                          • Who can access the investigations

                          • Whether investigation data is encrypted with a customer managed Key Management Service key.

                          • How long investigations and their data are retained by default.

                          Currently, you can have one investigation group in each Region in your account. Each investigation in a Region is a part of the investigation group in that Region

                          To create an investigation group and set up Amazon Q Developer operational investigations, you must be signed in to an IAM principal that has the either the AIOpsConsoleAdminPolicy or the AdministratorAccess IAM policy attached, or to an account that has similar permissions.

                          You can configure CloudWatch alarms to start investigations and add events to investigations. If you create your investigation group with CreateInvestigationGroup and you want to enable alarms to do this, you must use PutInvestigationGroupPolicy to create a resource policy that grants this permission to CloudWatch alarms.

                          For more information about configuring CloudWatch alarms to work with Amazon Q Developer operational investigations, see

                          ", + "idempotent":true + }, + "DeleteInvestigationGroup":{ + "name":"DeleteInvestigationGroup", + "http":{ + "method":"DELETE", + "requestUri":"/investigationGroups/{identifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteInvestigationGroupRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Deletes the specified investigation group from your account. You can currently have one investigation group per Region in your account. After you delete an investigation group, you can later create a new investigation group in the same Region.

                          ", + "idempotent":true + }, + "DeleteInvestigationGroupPolicy":{ + "name":"DeleteInvestigationGroupPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/investigationGroups/{identifier}/policy", + "responseCode":200 + }, + "input":{"shape":"DeleteInvestigationGroupPolicyRequest"}, + "output":{"shape":"DeleteInvestigationGroupPolicyOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Removes the IAM resource policy from being associated with the investigation group that you specify.

                          ", + "idempotent":true + }, + "GetInvestigationGroup":{ + "name":"GetInvestigationGroup", + "http":{ + "method":"GET", + "requestUri":"/investigationGroups/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetInvestigationGroupRequest"}, + "output":{"shape":"GetInvestigationGroupResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Returns the configuration information for the specified investigation group.

                          " + }, + "GetInvestigationGroupPolicy":{ + "name":"GetInvestigationGroupPolicy", + "http":{ + "method":"GET", + "requestUri":"/investigationGroups/{identifier}/policy", + "responseCode":200 + }, + "input":{"shape":"GetInvestigationGroupPolicyRequest"}, + "output":{"shape":"GetInvestigationGroupPolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Returns the IAM resource policy that is associated with the specified investigation group.

                          " + }, + "ListInvestigationGroups":{ + "name":"ListInvestigationGroups", + "http":{ + "method":"GET", + "requestUri":"/investigationGroups", + "responseCode":200 + }, + "input":{"shape":"ListInvestigationGroupsInput"}, + "output":{"shape":"ListInvestigationGroupsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Returns the ARN and name of each investigation group in the account.

                          " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Displays the tags associated with a Amazon Q Developer operational investigations resource. Currently, investigation groups support tagging.

                          " + }, + "PutInvestigationGroupPolicy":{ + "name":"PutInvestigationGroupPolicy", + "http":{ + "method":"POST", + "requestUri":"/investigationGroups/{identifier}/policy", + "responseCode":200 + }, + "input":{"shape":"PutInvestigationGroupPolicyRequest"}, + "output":{"shape":"PutInvestigationGroupPolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Creates an IAM resource policy and assigns it to the specified investigation group.

                          If you create your investigation group with CreateInvestigationGroup and you want to enable CloudWatch alarms to create investigations and add events to investigations, you must use this operation to create a policy similar to this example.

                          { \"Version\": \"2008-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"aiops.alarms.cloudwatch.amazonaws.com\" }, \"Action\": [\"aiops:CreateInvestigation\", \"aiops:CreateInvestigationEvent\"], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"account-id\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:cloudwatch:region:account-id:alarm:*\" } } }] }

                          ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Assigns one or more tags (key-value pairs) to the specified resource.

                          Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

                          Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

                          You can associate as many as 50 tags with a resource.

                          ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Removes one or more tags from the specified resource.

                          ", + "idempotent":true + }, + "UpdateInvestigationGroup":{ + "name":"UpdateInvestigationGroup", + "http":{ + "method":"PATCH", + "requestUri":"/investigationGroups/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateInvestigationGroupRequest"}, + "output":{"shape":"UpdateInvestigationGroupOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                          Updates the configuration of the specified investigation group.

                          ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          You don't have sufficient permissions to perform this action.

                          ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ChatConfigurationArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "ChatConfigurationArns":{ + "type":"list", + "member":{"shape":"ChatConfigurationArn"}, + "max":5, + "min":1 + }, + "ChatbotNotificationChannel":{ + "type":"map", + "key":{"shape":"SNSTopicArn"}, + "value":{"shape":"ChatConfigurationArns"} + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          This operation couldn't be completed because of a conflict in resource states.

                          ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateInvestigationGroupInput":{ + "type":"structure", + "required":[ + "name", + "roleArn" + ], + "members":{ + "name":{ + "shape":"StringWithPatternAndLengthLimits", + "documentation":"

                          A name for the investigation group.

                          " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                          Specify the ARN of the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

                          For more information, see How to control what data Amazon Q has access to during investigations.

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

                          Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

                          " + }, + "retentionInDays":{ + "shape":"Retention", + "documentation":"

                          Specify how long that investigation data is kept. For more information, see Operational investigation data retention.

                          If you omit this parameter, the default of 90 days is used.

                          " + }, + "tags":{ + "shape":"Tags", + "documentation":"

                          A list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation group, you must have the cloudwatch:TagResource permission.

                          Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

                          " + }, + "tagKeyBoundaries":{ + "shape":"TagKeyBoundaries", + "documentation":"

                          Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

                          You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

                          " + }, + "chatbotNotificationChannel":{ + "shape":"ChatbotNotificationChannel", + "documentation":"

                          Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                          " + }, + "isCloudTrailEventHistoryEnabled":{ + "shape":"Boolean", + "documentation":"

                          Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

                          " + } + } + }, + "CreateInvestigationGroupOutput":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                          The ARN of the investigation group that you just created.

                          " + } + } + }, + "DeleteInvestigationGroupPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteInvestigationGroupPolicyRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                          Specify either the name or the ARN of the investigation group that you want to remove the policy from.

                          ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteInvestigationGroupRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                          Specify either the name or the ARN of the investigation group that you want to delete.

                          ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "EncryptionConfiguration":{ + "type":"structure", + "members":{ + "type":{ + "shape":"EncryptionConfigurationType", + "documentation":"

                          Displays whether investigation data is encrypted by a customer managed key or an Amazon Web Services owned kay.

                          " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

                          If the investigation group uses a customer managed key for encryption, this field displays the ID of that key.

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

                          Use this structure to specify a customer managed KMS key to use to encrypt investigation data.

                          " + }, + "EncryptionConfigurationType":{ + "type":"string", + "enum":[ + "AWS_OWNED_KEY", + "CUSTOMER_MANAGED_KMS_KEY" + ] + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          Access id denied for this operation, or this operation is not valid for the specified resource.

                          ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "GetInvestigationGroupPolicyRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                          Specify either the name or the ARN of the investigation group that you want to view the policy of.

                          ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetInvestigationGroupPolicyResponse":{ + "type":"structure", + "members":{ + "investigationGroupArn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                          The Amazon Resource Name (ARN) of the investigation group that you want to view the policy of.

                          " + }, + "policy":{ + "shape":"InvestigationGroupPolicyDocument", + "documentation":"

                          The policy, in JSON format.

                          " + } + } + }, + "GetInvestigationGroupRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                          Specify either the name or the ARN of the investigation group that you want to view.

                          ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetInvestigationGroupResponse":{ + "type":"structure", + "members":{ + "createdBy":{ + "shape":"IdentifierStringWithPatternAndLengthLimits", + "documentation":"

                          The name of the user who created the investigation group.

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

                          The date and time that the investigation group was created.

                          " + }, + "lastModifiedBy":{ + "shape":"IdentifierStringWithPatternAndLengthLimits", + "documentation":"

                          The name of the user who created the investigation group.

                          " + }, + "lastModifiedAt":{ + "shape":"Timestamp", + "documentation":"

                          The date and time that the investigation group was most recently modified.

                          " + }, + "name":{ + "shape":"StringWithPatternAndLengthLimits", + "documentation":"

                          The name of the investigation group.

                          " + }, + "arn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                          The Amazon Resource Name (ARN) of the investigation group.

                          " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                          The ARN of the IAM role that the investigation group uses for permissions to gather data.

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

                          Specifies the customer managed KMS key that the investigation group uses to encrypt data, if there is one. If not, the investigation group uses an Amazon Web Services key to encrypt the data.

                          " + }, + "retentionInDays":{ + "shape":"Retention", + "documentation":"

                          Specifies how long that investigation data is kept.

                          " + }, + "chatbotNotificationChannel":{ + "shape":"ChatbotNotificationChannel", + "documentation":"

                          This structure is a string array. The first string is the ARN of a Amazon SNS topic. The array of strings display the ARNs of Amazon Q in chat applications configurations that are associated with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                          " + }, + "tagKeyBoundaries":{ + "shape":"TagKeyBoundaries", + "documentation":"

                          Displays the custom tag keys for custom applications in your system that you have specified in the investigation group. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources.

                          " + }, + "isCloudTrailEventHistoryEnabled":{ + "shape":"Boolean", + "documentation":"

                          Specifies whether Amazon Q Developer operational investigationshas access to change events that are recorded by CloudTrail.

                          " + } + } + }, + "IdentifierStringWithPatternAndLengthLimits":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\-_\\/A-Za-z0-9:\\.]+" + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          An internal server error occurred. You can try again later.

                          ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvestigationGroupArn":{ + "type":"string", + "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16}" + }, + "InvestigationGroupIdentifier":{ + "type":"string", + "pattern":"(?:[\\-_A-Za-z0-9]{1,512}|arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16})" + }, + "InvestigationGroupPolicyDocument":{ + "type":"string", + "max":32768, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, + "InvestigationGroups":{ + "type":"list", + "member":{"shape":"ListInvestigationGroupsModel"} + }, + "KmsKeyId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:.*" + }, + "ListInvestigationGroupsInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"SensitiveStringWithLengthLimits", + "documentation":"

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

                          ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListInvestigationGroupsInputMaxResultsInteger", + "documentation":"

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

                          ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListInvestigationGroupsInputMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListInvestigationGroupsModel":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                          The Amazon Resource Name (ARN) of the investigation group.

                          " + }, + "name":{ + "shape":"StringWithPatternAndLengthLimits", + "documentation":"

                          The name of the investigation group.

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

                          This structure contains information about one investigation group in the account.

                          " + }, + "ListInvestigationGroupsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"SensitiveStringWithLengthLimits", + "documentation":"

                          Include this value in your next use of this operation to get the next set of service operations.

                          " + }, + "investigationGroups":{ + "shape":"InvestigationGroups", + "documentation":"

                          An array of structures, where each structure contains the information about one investigation group in the account.

                          " + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

                          The list of tag keys and values associated with the resource you specified.

                          " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

                          The ARN of the Amazon Q Developer operational investigations resource that you want to view tags for. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                          The ARN format for an investigation group is arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id .

                          ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "PutInvestigationGroupPolicyRequest":{ + "type":"structure", + "required":[ + "identifier", + "policy" + ], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                          Specify either the name or the ARN of the investigation group that you want to assign the policy to.

                          ", + "location":"uri", + "locationName":"identifier" + }, + "policy":{ + "shape":"InvestigationGroupPolicyDocument", + "documentation":"

                          The policy, in JSON format.

                          " + } + } + }, + "PutInvestigationGroupPolicyResponse":{ + "type":"structure", + "members":{ + "investigationGroupArn":{ + "shape":"InvestigationGroupArn", + "documentation":"

                          The ARN of the investigation group that will use this policy.

                          " + } + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          The specified resource doesn't exist.

                          ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "Retention":{ + "type":"long", + "box":true, + "max":90, + "min":7 + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "SNSTopicArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "SensitiveStringWithLengthLimits":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

                          The resource that caused the quota exception.

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

                          The type of resource that caused the quota exception.

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

                          This name of the service associated with the error.

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

                          This quota that was exceeded.

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

                          This request exceeds a service quota.

                          ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "StringWithPatternAndLengthLimits":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\-_A-Za-z0-9\\[\\]\\(\\)\\{\\}\\.: ]+" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)" + }, + "TagKeyBoundaries":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

                          The Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                          ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"

                          The list of key-value pairs to associate with the resource.

                          " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          The request was throttled because of quota limits. You can try again later.

                          ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

                          The Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                          ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

                          The list of tag keys to remove from the resource.

                          ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateInvestigationGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateInvestigationGroupRequest":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"InvestigationGroupIdentifier", + "documentation":"

                          Specify either the name or the ARN of the investigation group that you want to modify.

                          ", + "location":"uri", + "locationName":"identifier" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                          Specify this field if you want to change the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.

                          The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

                          For more information, see EHow to control what data Amazon Q has access to during investigations.

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

                          Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

                          " + }, + "tagKeyBoundaries":{ + "shape":"TagKeyBoundaries", + "documentation":"

                          Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

                          You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

                          " + }, + "chatbotNotificationChannel":{ + "shape":"ChatbotNotificationChannel", + "documentation":"

                          Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                          " + }, + "isCloudTrailEventHistoryEnabled":{ + "shape":"Boolean", + "documentation":"

                          Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

                          " + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

                          This operation or its parameters aren't formatted correctly.

                          ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

                          The Amazon Q Developer operational investigations feature is a generative AI-powered assistant that can help you respond to incidents in your system. It uses generative AI to scan your system's telemetry and quickly surface suggestions that might be related to your issue. These suggestions include metrics, logs, deployment events, and root-cause hypotheses.

                          You can use API actions to create, manage, and delete investigation groups and investigation group policies. To start and manage investigations, you must use the CloudWatch console.

                          " +} diff --git a/tools/code-generation/api-descriptions/apigateway-2015-07-09.normal.json b/tools/code-generation/api-descriptions/apigateway-2015-07-09.normal.json index 56fc52a6771..67b4e67e463 100644 --- a/tools/code-generation/api-descriptions/apigateway-2015-07-09.normal.json +++ b/tools/code-generation/api-descriptions/apigateway-2015-07-09.normal.json @@ -3769,7 +3769,7 @@ }, "domainNameArn":{ "shape":"String", - "documentation":"

                          The ARN of the domain name. Supported only for private custom domain names.

                          " + "documentation":"

                          The ARN of the domain name.

                          " }, "certificateName":{ "shape":"String", @@ -5373,7 +5373,7 @@ }, "timeoutInMillis":{ "shape":"Integer", - "documentation":"

                          Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

                          " + "documentation":"

                          Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.

                          " }, "cacheNamespace":{ "shape":"String", @@ -5983,7 +5983,7 @@ }, "timeoutInMillis":{ "shape":"NullableInteger", - "documentation":"

                          Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

                          " + "documentation":"

                          Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.

                          " }, "tlsConfig":{"shape":"TlsConfig"} }, diff --git a/tools/code-generation/api-descriptions/apigatewayv2-2018-11-29.normal.json b/tools/code-generation/api-descriptions/apigatewayv2-2018-11-29.normal.json index e55386d3f3a..fa0e91c1b3f 100644 --- a/tools/code-generation/api-descriptions/apigatewayv2-2018-11-29.normal.json +++ b/tools/code-generation/api-descriptions/apigatewayv2-2018-11-29.normal.json @@ -360,7 +360,7 @@ }, "CreateRoutingRule": { "name": "CreateRoutingRule", - "documentation": "

                          Creates a RoutingRule

                          ", + "documentation": "

                          Creates a RoutingRule.

                          ", "http": { "method": "POST", "requestUri": "/v2/domainnames/{domainName}/routingrules", diff --git a/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json b/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json index 2d2ad5fce51..723f353a0db 100644 --- a/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json +++ b/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json @@ -1964,11 +1964,17 @@ }, "transitEncryptionEnabled":{ "shape":"Boolean", - "documentation":"

                          Transit encryption flag when connecting to cache. You cannot update this setting after creation.

                          " + "documentation":"

                          Transit encryption flag when connecting to cache. You cannot update this setting after creation.

                          ", + "deprecated":true, + "deprecatedMessage":"transitEncryptionEnabled attribute is deprecated. Encryption in transit is always enabled.", + "deprecatedSince":"5/15/2025" }, "atRestEncryptionEnabled":{ "shape":"Boolean", - "documentation":"

                          At-rest encryption flag for cache. You cannot update this setting after creation.

                          " + "documentation":"

                          At-rest encryption flag for cache. You cannot update this setting after creation.

                          ", + "deprecated":true, + "deprecatedMessage":"atRestEncryptionEnabled attribute is deprecated. Encryption at rest is always enabled.", + "deprecatedSince":"5/15/2025" }, "apiCachingBehavior":{ "shape":"ApiCachingBehavior", @@ -2690,8 +2696,7 @@ }, "DeleteApiCacheResponse":{ "type":"structure", - "members":{ - }, + "members":{}, "documentation":"

                          Represents the output of a DeleteApiCache operation.

                          " }, "DeleteApiKeyRequest":{ @@ -2717,8 +2722,7 @@ }, "DeleteApiKeyResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteApiRequest":{ "type":"structure", @@ -2734,8 +2738,7 @@ }, "DeleteApiResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteChannelNamespaceRequest":{ "type":"structure", @@ -2760,8 +2763,7 @@ }, "DeleteChannelNamespaceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteDataSourceRequest":{ "type":"structure", @@ -2786,8 +2788,7 @@ }, "DeleteDataSourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteDomainNameRequest":{ "type":"structure", @@ -2803,8 +2804,7 @@ }, "DeleteDomainNameResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteFunctionRequest":{ "type":"structure", @@ -2829,8 +2829,7 @@ }, "DeleteFunctionResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteGraphqlApiRequest":{ "type":"structure", @@ -2846,8 +2845,7 @@ }, "DeleteGraphqlApiResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteResolverRequest":{ "type":"structure", @@ -2879,8 +2877,7 @@ }, "DeleteResolverResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteTypeRequest":{ "type":"structure", @@ -2905,8 +2902,7 @@ }, "DeleteTypeResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeltaSyncConfig":{ "type":"structure", @@ -2946,8 +2942,7 @@ }, "DisassociateApiResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateMergedGraphqlApiRequest":{ "type":"structure", @@ -3359,8 +3354,7 @@ }, "FlushApiCacheResponse":{ "type":"structure", - "members":{ - }, + "members":{}, "documentation":"

                          Represents the output of a FlushApiCache operation.

                          " }, "FunctionConfiguration":{ @@ -5294,8 +5288,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -5379,8 +5372,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateApiCacheRequest":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json b/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json index 1b2753c7089..8820a1c6af4 100644 --- a/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json +++ b/tools/code-generation/api-descriptions/autoscaling-2011-01-01.normal.json @@ -1552,6 +1552,10 @@ "shape":"AutoScalingGroupNames", "documentation":"

                          The names of the Auto Scaling groups. By default, you can only specify up to 50 names. You can optionally increase this limit using the MaxRecords property.

                          If you omit this property, all Auto Scaling groups are described.

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

                          Specifies whether to include information about Amazon EC2 instances in the response. When set to true (default), the response includes instance details.

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

                          The token for the next set of items to return. (You received this token from a previous call.)

                          " @@ -3172,6 +3176,7 @@ ] }, "IncludeDeletedGroups":{"type":"boolean"}, + "IncludeInstances":{"type":"boolean"}, "Instance":{ "type":"structure", "required":[ @@ -5983,5 +5988,5 @@ }, "ZonalShiftEnabled":{"type":"boolean"} }, - "documentation":"Amazon EC2 Auto Scaling

                          Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

                          For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

                          " + "documentation":"Amazon EC2 Auto Scaling

                          The DescribeAutoScalingGroups API operation might be throttled when retrieving details for an Auto Scaling group that contains many instances. By default, this operation returns details for all instances in the group. To help prevent throttling, you can set the IncludeInstances parameter to false to exclude instance details from the response.

                          Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

                          For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

                          " } diff --git a/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json b/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json index b438f254900..ec29dc91cfb 100644 --- a/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json +++ b/tools/code-generation/api-descriptions/backup-2018-11-15.normal.json @@ -13,6 +13,23 @@ "auth":["aws.auth#sigv4"] }, "operations":{ + "AssociateBackupVaultMpaApprovalTeam":{ + "name":"AssociateBackupVaultMpaApprovalTeam", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}/mpaApprovalTeam", + "responseCode":204 + }, + "input":{"shape":"AssociateBackupVaultMpaApprovalTeamInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

                          Associates an MPA approval team with a backup vault.

                          " + }, "CancelLegalHold":{ "name":"CancelLegalHold", "http":{ @@ -158,6 +175,26 @@ "documentation":"

                          Creates a report plan. A report plan is a document that contains information about the contents of the report and where Backup will deliver it.

                          If you call CreateReportPlan with a plan that already exists, you receive an AlreadyExistsException exception.

                          ", "idempotent":true }, + "CreateRestoreAccessBackupVault":{ + "name":"CreateRestoreAccessBackupVault", + "http":{ + "method":"PUT", + "requestUri":"/restore-access-backup-vaults" + }, + "input":{"shape":"CreateRestoreAccessBackupVaultInput"}, + "output":{"shape":"CreateRestoreAccessBackupVaultOutput"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

                          Creates a restore access backup vault that provides temporary access to recovery points in a logically air-gapped backup vault, subject to MPA approval.

                          ", + "idempotent":true + }, "CreateRestoreTestingPlan":{ "name":"CreateRestoreTestingPlan", "http":{ @@ -244,7 +281,8 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

                          Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

                          " + "documentation":"

                          Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

                          ", + "idempotent":true }, "DeleteBackupVaultAccessPolicy":{ "name":"DeleteBackupVaultAccessPolicy", @@ -554,6 +592,23 @@ "documentation":"

                          Returns metadata associated with a restore job that is specified by a job ID.

                          ", "idempotent":true }, + "DisassociateBackupVaultMpaApprovalTeam":{ + "name":"DisassociateBackupVaultMpaApprovalTeam", + "http":{ + "method":"POST", + "requestUri":"/backup-vaults/{backupVaultName}/mpaApprovalTeam?delete", + "responseCode":204 + }, + "input":{"shape":"DisassociateBackupVaultMpaApprovalTeamInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

                          Removes the association between an MPA approval team and a backup vault, disabling the MPA approval workflow for restore operations.

                          " + }, "DisassociateRecoveryPoint":{ "name":"DisassociateRecoveryPoint", "http":{ @@ -1126,6 +1181,22 @@ ], "documentation":"

                          Returns a list of your report plans. For detailed information about a single report plan, use DescribeReportPlan.

                          " }, + "ListRestoreAccessBackupVaults":{ + "name":"ListRestoreAccessBackupVaults", + "http":{ + "method":"GET", + "requestUri":"/logically-air-gapped-backup-vaults/{backupVaultName}/restore-access-backup-vaults/" + }, + "input":{"shape":"ListRestoreAccessBackupVaultsInput"}, + "output":{"shape":"ListRestoreAccessBackupVaultsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

                          Returns a list of restore access backup vaults associated with a specified backup vault.

                          " + }, "ListRestoreJobSummaries":{ "name":"ListRestoreJobSummaries", "http":{ @@ -1288,6 +1359,22 @@ "documentation":"

                          This request allows you to send your independent self-run restore test validation results. RestoreJobId and ValidationStatus are required. Optionally, you can input a ValidationStatusMessage.

                          ", "idempotent":true }, + "RevokeRestoreAccessBackupVault":{ + "name":"RevokeRestoreAccessBackupVault", + "http":{ + "method":"DELETE", + "requestUri":"/logically-air-gapped-backup-vaults/{backupVaultName}/restore-access-backup-vaults/{restoreAccessBackupVaultArn}" + }, + "input":{"shape":"RevokeRestoreAccessBackupVaultInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

                          Revokes access to a restore access backup vault, removing the ability to restore from its recovery points and permanently deleting the vault.

                          " + }, "StartBackupJob":{ "name":"StartBackupJob", "http":{ @@ -1626,6 +1713,29 @@ "documentation":"

                          The required resource already exists.

                          ", "exception":true }, + "AssociateBackupVaultMpaApprovalTeamInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "MpaApprovalTeamArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

                          The name of the backup vault to associate with the MPA approval team.

                          ", + "location":"uri", + "locationName":"backupVaultName" + }, + "MpaApprovalTeamArn":{ + "shape":"ARN", + "documentation":"

                          The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault.

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

                          A comment provided by the requester explaining the association request.

                          " + } + } + }, "BackupJob":{ "type":"structure", "members":{ @@ -2155,6 +2265,7 @@ "BACKUP_PLAN_MODIFIED", "S3_BACKUP_OBJECT_FAILED", "S3_RESTORE_OBJECT_FAILED", + "CONTINUOUS_BACKUP_INTERRUPTED", "RECOVERY_POINT_INDEX_COMPLETED", "RECOVERY_POINT_INDEX_DELETED", "RECOVERY_POINT_INDEXING_FAILED" @@ -2599,7 +2710,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

                          Identifies the request and allows failed requests to be retried without the risk of running the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

                          If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          " + "documentation":"

                          Identifies the request and allows failed requests to be retried without the risk of running the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

                          If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          ", + "idempotencyToken":true } } }, @@ -2647,7 +2759,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

                          A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

                          If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          " + "documentation":"

                          A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

                          If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          ", + "idempotencyToken":true } } }, @@ -2688,7 +2801,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

                          A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

                          If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          " + "documentation":"

                          A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.

                          If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          ", + "idempotencyToken":true } } }, @@ -2769,7 +2883,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

                          This is a user-chosen string used to distinguish between otherwise identical calls. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          " + "documentation":"

                          This is a user-chosen string used to distinguish between otherwise identical calls. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          ", + "idempotencyToken":true }, "RecoveryPointSelection":{ "shape":"RecoveryPointSelection", @@ -2834,7 +2949,8 @@ }, "CreatorRequestId":{ "shape":"string", - "documentation":"

                          The ID of the creation request.

                          This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          " + "documentation":"

                          The ID of the creation request.

                          This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                          ", + "idempotencyToken":true }, "MinRetentionDays":{ "shape":"Long", @@ -2919,6 +3035,54 @@ } } }, + "CreateRestoreAccessBackupVaultInput":{ + "type":"structure", + "required":["SourceBackupVaultArn"], + "members":{ + "SourceBackupVaultArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the source backup vault containing the recovery points to which temporary access is requested.

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

                          The name of the backup vault to associate with an MPA approval team.

                          " + }, + "BackupVaultTags":{ + "shape":"Tags", + "documentation":"

                          Optional tags to assign to the restore access backup vault.

                          " + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

                          A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

                          ", + "idempotencyToken":true + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

                          A comment explaining the reason for requesting restore access to the backup vault.

                          " + } + } + }, + "CreateRestoreAccessBackupVaultOutput":{ + "type":"structure", + "members":{ + "RestoreAccessBackupVaultArn":{ + "shape":"ARN", + "documentation":"

                          The ARN that uniquely identifies the created restore access backup vault.

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

                          The current state of the restore access backup vault.

                          " + }, + "RestoreAccessBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

                          The name of the created restore access backup vault.

                          " + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

                          >The date and time when the restore access backup vault was created, in Unix format and Coordinated Universal Time

                          " + } + } + }, "CreateRestoreTestingPlanInput":{ "type":"structure", "required":["RestoreTestingPlan"], @@ -3419,6 +3583,22 @@ "LockDate":{ "shape":"timestamp", "documentation":"

                          The date and time when Backup Vault Lock configuration cannot be changed or deleted.

                          If you applied Vault Lock to your vault without specifying a lock date, you can change any of your Vault Lock settings, or delete Vault Lock from the vault entirely, at any time.

                          This value is in Unix format, Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                          " + }, + "SourceBackupVaultArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the source backup vault from which this restore access backup vault was created.

                          " + }, + "MpaApprovalTeamArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the MPA approval team associated with this backup vault.

                          " + }, + "MpaSessionArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the MPA session associated with this backup vault.

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

                          Information about the latest update to the MPA approval team association for this backup vault.

                          " } } }, @@ -3636,6 +3816,10 @@ "shape":"timestamp", "documentation":"

                          The date and time that a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                          " }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the backup job that created this recovery point was initiated, in Unix format and Coordinated Universal Time (UTC).

                          " + }, "CompletionDate":{ "shape":"timestamp", "documentation":"

                          The date and time that a job to create a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                          " @@ -3850,6 +4034,22 @@ } } }, + "DisassociateBackupVaultMpaApprovalTeamInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

                          The name of the backup vault from which to disassociate the MPA approval team.

                          ", + "location":"uri", + "locationName":"backupVaultName" + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

                          An optional comment explaining the reason for disassociating the MPA approval team from the backup vault.

                          " + } + } + }, "DisassociateRecoveryPointFromParentInput":{ "type":"structure", "required":[ @@ -4643,6 +4843,58 @@ "type":"list", "member":{"shape":"KeyValue"} }, + "LatestMpaApprovalTeamUpdate":{ + "type":"structure", + "members":{ + "MpaSessionArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the MPA session associated with this update.

                          " + }, + "Status":{ + "shape":"MpaSessionStatus", + "documentation":"

                          The current status of the MPA approval team update.

                          " + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

                          A message describing the current status of the MPA approval team update.

                          " + }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the MPA approval team update was initiated.

                          " + }, + "ExpiryDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the MPA approval team update will expire.

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

                          Contains information about the latest update to an MPA approval team association.

                          " + }, + "LatestRevokeRequest":{ + "type":"structure", + "members":{ + "MpaSessionArn":{ + "shape":"string", + "documentation":"

                          The ARN of the MPA session associated with this revoke request.

                          " + }, + "Status":{ + "shape":"MpaRevokeSessionStatus", + "documentation":"

                          The current status of the revoke request.

                          " + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

                          A message describing the current status of the revoke request.

                          " + }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the revoke request was initiated.

                          " + }, + "ExpiryDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the revoke request will expire.

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

                          Contains information about the latest request to revoke access to a backup vault.

                          " + }, "LegalHold":{ "type":"structure", "members":{ @@ -5667,6 +5919,43 @@ } } }, + "ListRestoreAccessBackupVaultsInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

                          The name of the backup vault for which to list associated restore access backup vaults.

                          ", + "location":"uri", + "locationName":"backupVaultName" + }, + "NextToken":{ + "shape":"string", + "documentation":"

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

                          ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                          The maximum number of items to return in the response.

                          ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRestoreAccessBackupVaultsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

                          The pagination token to use in a subsequent request to retrieve the next set of results.

                          " + }, + "RestoreAccessBackupVaults":{ + "shape":"RestoreAccessBackupVaultList", + "documentation":"

                          A list of restore access backup vaults associated with the specified backup vault.

                          " + } + } + }, "ListRestoreJobSummariesInput":{ "type":"structure", "members":{ @@ -6013,6 +6302,21 @@ "documentation":"

                          Indicates that a required parameter is missing.

                          ", "exception":true }, + "MpaRevokeSessionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "FAILED" + ] + }, + "MpaSessionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "APPROVED", + "FAILED" + ] + }, "ParameterName":{"type":"string"}, "ParameterValue":{"type":"string"}, "ProtectedResource":{ @@ -6123,7 +6427,7 @@ }, "BackupVaultEvents":{ "shape":"BackupVaultEvents", - "documentation":"

                          An array of events that indicate the status of jobs to back up resources to the backup vault.

                          For common use cases and code samples, see Using Amazon SNS to track Backup events.

                          The following events are supported:

                          • BACKUP_JOB_STARTED | BACKUP_JOB_COMPLETED | BACKUP_JOB_FAILED

                          • COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | COPY_JOB_FAILED

                          • RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | RECOVERY_POINT_MODIFIED

                          • S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED

                          • RECOVERY_POINT_INDEX_COMPLETED | RECOVERY_POINT_INDEX_DELETED | RECOVERY_POINT_INDEXING_FAILED

                          The list below includes both supported events and deprecated events that are no longer in use (for reference). Deprecated events do not return statuses or notifications. Refer to the list above for the supported events.

                          " + "documentation":"

                          An array of events that indicate the status of jobs to back up resources to the backup vault. For the list of supported events, common use cases, and code samples, see Notification options with Backup.

                          " } } }, @@ -6197,6 +6501,10 @@ "shape":"timestamp", "documentation":"

                          The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                          " }, + "InitiationDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the backup job that created this recovery point was initiated, in Unix format and Coordinated Universal Time (UTC).

                          " + }, "CompletionDate":{ "shape":"timestamp", "documentation":"

                          The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

                          " @@ -6563,6 +6871,10 @@ }, "documentation":"

                          Contains detailed information about a report setting.

                          " }, + "RequesterComment":{ + "type":"string", + "sensitive":true + }, "ResourceArns":{ "type":"list", "member":{"shape":"ARN"} @@ -6610,6 +6922,36 @@ "type":"list", "member":{"shape":"ResourceType"} }, + "RestoreAccessBackupVaultList":{ + "type":"list", + "member":{"shape":"RestoreAccessBackupVaultListMember"} + }, + "RestoreAccessBackupVaultListMember":{ + "type":"structure", + "members":{ + "RestoreAccessBackupVaultArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the restore access backup vault.

                          " + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the restore access backup vault was created.

                          " + }, + "ApprovalDate":{ + "shape":"timestamp", + "documentation":"

                          The date and time when the restore access backup vault was approved.

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

                          The current state of the restore access backup vault.

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

                          Information about the latest request to revoke access to this backup vault.

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

                          Contains information about a restore access backup vault.

                          " + }, "RestoreDeletionStatus":{ "type":"string", "enum":[ @@ -7142,6 +7484,33 @@ "VALIDATING" ] }, + "RevokeRestoreAccessBackupVaultInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RestoreAccessBackupVaultArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

                          The name of the source backup vault associated with the restore access backup vault to be revoked.

                          ", + "location":"uri", + "locationName":"backupVaultName" + }, + "RestoreAccessBackupVaultArn":{ + "shape":"ARN", + "documentation":"

                          The ARN of the restore access backup vault to revoke.

                          ", + "location":"uri", + "locationName":"restoreAccessBackupVaultArn" + }, + "RequesterComment":{ + "shape":"RequesterComment", + "documentation":"

                          A comment explaining the reason for revoking access to the restore access backup vault.

                          ", + "location":"querystring", + "locationName":"requesterComment" + } + } + }, "SensitiveStringMap":{ "type":"map", "key":{"shape":"String"}, @@ -7188,7 +7557,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

                          A customer-chosen string that you can use to distinguish between otherwise identical calls to StartBackupJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          " + "documentation":"

                          A customer-chosen string that you can use to distinguish between otherwise identical calls to StartBackupJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          ", + "idempotencyToken":true }, "StartWindowMinutes":{ "shape":"WindowMinutes", @@ -7264,7 +7634,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

                          A customer-chosen string that you can use to distinguish between otherwise identical calls to StartCopyJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          " + "documentation":"

                          A customer-chosen string that you can use to distinguish between otherwise identical calls to StartCopyJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          ", + "idempotencyToken":true }, "Lifecycle":{"shape":"Lifecycle"} } @@ -7333,7 +7704,8 @@ }, "IdempotencyToken":{ "shape":"string", - "documentation":"

                          A customer-chosen string that you can use to distinguish between otherwise identical calls to StartRestoreJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          " + "documentation":"

                          A customer-chosen string that you can use to distinguish between otherwise identical calls to StartRestoreJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

                          ", + "idempotencyToken":true }, "ResourceType":{ "shape":"ResourceType", @@ -7799,7 +8171,8 @@ "type":"string", "enum":[ "BACKUP_VAULT", - "LOGICALLY_AIR_GAPPED_BACKUP_VAULT" + "LOGICALLY_AIR_GAPPED_BACKUP_VAULT", + "RESTORE_ACCESS_BACKUP_VAULT" ] }, "WindowMinutes":{"type":"long"}, diff --git a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json index 682eddaa47f..b87d1da9597 100644 --- a/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json +++ b/tools/code-generation/api-descriptions/bedrock-2023-04-20.normal.json @@ -32,6 +32,27 @@ ], "documentation":"

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

                          " }, + "CreateCustomModel":{ + "name":"CreateCustomModel", + "http":{ + "method":"POST", + "requestUri":"/custom-models/create-custom-model", + "responseCode":200 + }, + "input":{"shape":"CreateCustomModelRequest"}, + "output":{"shape":"CreateCustomModelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                          Creates a new custom model in Amazon Bedrock. After the model is active, you can use it for inference.

                          To use the model for inference, you must purchase Provisioned Throughput for it. You can't use On-demand inference with these custom models. For more information about Provisioned Throughput, see Provisioned Throughput.

                          The model appears in ListCustomModels with a customizationType of imported. To track the status of the new model, you use the GetCustomModel API operation. The model can be in the following states:

                          • Creating - Initial state during validation and registration

                          • Active - Model is ready for use in inference

                          • Failed - Creation process encountered an error

                          Related APIs

                          " + }, "CreateEvaluationJob":{ "name":"CreateEvaluationJob", "http":{ @@ -452,7 +473,7 @@ {"shape":"InternalServerException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                          Get the properties associated with a Amazon Bedrock custom model that you have created.For more information, see Custom models in the Amazon Bedrock User Guide.

                          " + "documentation":"

                          Get the properties associated with a Amazon Bedrock custom model that you have created. For more information, see Custom models in the Amazon Bedrock User Guide.

                          " }, "GetEvaluationJob":{ "name":"GetEvaluationJob", @@ -1422,6 +1443,50 @@ "type":"string", "pattern":".*[a-z]{1,20}/.{1,20}.*" }, + "CreateCustomModelRequest":{ + "type":"structure", + "required":[ + "modelName", + "modelSourceConfig" + ], + "members":{ + "modelName":{ + "shape":"CustomModelName", + "documentation":"

                          A unique name for the custom model.

                          " + }, + "modelSourceConfig":{ + "shape":"ModelDataSource", + "documentation":"

                          The data source for the model. The Amazon S3 URI in the model source must be for the Amazon-managed Amazon S3 bucket containing your model artifacts.

                          " + }, + "modelKmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

                          The Amazon Resource Name (ARN) of the customer managed KMS key to encrypt the custom model. If you don't provide a KMS key, Amazon Bedrock uses an Amazon Web Services-managed KMS key to encrypt the model.

                          If you provide a customer managed KMS key, your Amazon Bedrock service role must have permissions to use it. For more information see Encryption of imported models.

                          " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

                          The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock assumes to perform tasks on your behalf. This role must have permissions to access the Amazon S3 bucket containing your model artifacts and the KMS key (if specified). For more information, see Setting up an IAM service role for importing models in the Amazon Bedrock User Guide.

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

                          A list of key-value pairs to associate with the custom model resource. You can use these tags to organize and identify your resources.

                          For more information, see Tagging resources in the Amazon Bedrock User Guide.

                          " + }, + "clientRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

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

                          ", + "idempotencyToken":true + } + } + }, + "CreateCustomModelResponse":{ + "type":"structure", + "required":["modelArn"], + "members":{ + "modelArn":{ + "shape":"ModelArn", + "documentation":"

                          The Amazon Resource Name (ARN) of the new custom model.

                          " + } + } + }, "CreateEvaluationJobRequest":{ "type":"structure", "required":[ @@ -2096,7 +2161,7 @@ "type":"string", "max":1011, "min":20, - "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12}" + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/(imported|[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2})/[a-z0-9]{12}" }, "CustomModelName":{ "type":"string", @@ -2141,6 +2206,10 @@ "ownerAccountId":{ "shape":"AccountId", "documentation":"

                          The unique identifier of the account that owns the model.

                          " + }, + "modelStatus":{ + "shape":"ModelStatus", + "documentation":"

                          The current status of the custom model. Possible values include:

                          • Creating - The model is being created and validated.

                          • Active - The model has been successfully created and is ready for use.

                          • Failed - The model creation process failed.

                          " } }, "documentation":"

                          Summary information for a custom model.

                          " @@ -2183,7 +2252,8 @@ "enum":[ "FINE_TUNING", "CONTINUED_PRE_TRAINING", - "DISTILLATION" + "DISTILLATION", + "IMPORTED" ] }, "DataProcessingDetails":{ @@ -3151,10 +3221,6 @@ "required":[ "modelArn", "modelName", - "jobArn", - "baseModelArn", - "trainingDataConfig", - "outputDataConfig", "creationTime" ], "members":{ @@ -3172,7 +3238,7 @@ }, "jobArn":{ "shape":"ModelCustomizationJobArn", - "documentation":"

                          Job Amazon Resource Name (ARN) associated with this model.

                          " + "documentation":"

                          Job Amazon Resource Name (ARN) associated with this model. For models that you create with the CreateCustomModel API operation, this is NULL.

                          " }, "baseModelArn":{ "shape":"ModelArn", @@ -3217,6 +3283,14 @@ "customizationConfig":{ "shape":"CustomizationConfig", "documentation":"

                          The customization configuration for the custom model.

                          " + }, + "modelStatus":{ + "shape":"ModelStatus", + "documentation":"

                          The current status of the custom model. Possible values include:

                          • Creating - The model is being created and validated.

                          • Active - The model has been successfully created and is ready for use.

                          • Failed - The model creation process failed. Check the failureMessage field for details.

                          " + }, + "failureMessage":{ + "shape":"ErrorMessage", + "documentation":"

                          A failure message for any issues that occurred when creating the custom model. This is included for only a failed CreateCustomModel operation.

                          " } } }, @@ -3697,14 +3771,14 @@ "shape":"ModelCustomizationJobStatus", "documentation":"

                          The status of the job. A successful job transitions from in-progress to completed when the output model is ready to use. If the job failed, the failure message contains information about why the job failed.

                          " }, - "failureMessage":{ - "shape":"ErrorMessage", - "documentation":"

                          Information about why the job failed.

                          " - }, "statusDetails":{ "shape":"StatusDetails", "documentation":"

                          For a Distillation job, the details about the statuses of the sub-tasks of the customization job.

                          " }, + "failureMessage":{ + "shape":"ErrorMessage", + "documentation":"

                          Information about why the job failed.

                          " + }, "creationTime":{ "shape":"Timestamp", "documentation":"

                          Time that the resource was created.

                          " @@ -4245,12 +4319,46 @@ "max":6, "min":1 }, + "GuardrailContentFiltersTier":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailContentFiltersTierName", + "documentation":"

                          The tier that your guardrail uses for content filters. Valid values include:

                          • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                          • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

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

                          The tier that your guardrail uses for content filters.

                          " + }, + "GuardrailContentFiltersTierConfig":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailContentFiltersTierName", + "documentation":"

                          The tier that your guardrail uses for content filters. Valid values include:

                          • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                          • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

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

                          The tier that your guardrail uses for content filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                          " + }, + "GuardrailContentFiltersTierName":{ + "type":"string", + "enum":[ + "CLASSIC", + "STANDARD" + ], + "sensitive":true + }, "GuardrailContentPolicy":{ "type":"structure", "members":{ "filters":{ "shape":"GuardrailContentFilters", "documentation":"

                          Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                          " + }, + "tier":{ + "shape":"GuardrailContentFiltersTier", + "documentation":"

                          The tier that your guardrail uses for content filters.

                          " } }, "documentation":"

                          Contains details about how to handle harmful content.

                          This data type is used in the following API operations:

                          " @@ -4262,6 +4370,10 @@ "filtersConfig":{ "shape":"GuardrailContentFiltersConfig", "documentation":"

                          Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                          " + }, + "tierConfig":{ + "shape":"GuardrailContentFiltersTierConfig", + "documentation":"

                          The tier that your guardrail uses for content filters.

                          " } }, "documentation":"

                          Contains details about how to handle harmful content.

                          " @@ -5035,6 +5147,10 @@ "topics":{ "shape":"GuardrailTopics", "documentation":"

                          A list of policies related to topics that the guardrail should deny.

                          " + }, + "tier":{ + "shape":"GuardrailTopicsTier", + "documentation":"

                          The tier that your guardrail uses for denied topic filters.

                          " } }, "documentation":"

                          Contains details about topics that the guardrail should identify and deny.

                          This data type is used in the following API operations:

                          " @@ -5046,6 +5162,10 @@ "topicsConfig":{ "shape":"GuardrailTopicsConfig", "documentation":"

                          A list of policies related to topics that the guardrail should deny.

                          " + }, + "tierConfig":{ + "shape":"GuardrailTopicsTierConfig", + "documentation":"

                          The tier that your guardrail uses for denied topic filters.

                          " } }, "documentation":"

                          Contains details about topics that the guardrail should identify and deny.

                          " @@ -5066,6 +5186,36 @@ "max":30, "min":1 }, + "GuardrailTopicsTier":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailTopicsTierName", + "documentation":"

                          The tier that your guardrail uses for denied topic filters. Valid values include:

                          • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                          • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

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

                          The tier that your guardrail uses for denied topic filters.

                          " + }, + "GuardrailTopicsTierConfig":{ + "type":"structure", + "required":["tierName"], + "members":{ + "tierName":{ + "shape":"GuardrailTopicsTierName", + "documentation":"

                          The tier that your guardrail uses for denied topic filters. Valid values include:

                          • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                          • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

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

                          The tier that your guardrail uses for denied topic filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                          " + }, + "GuardrailTopicsTierName":{ + "type":"string", + "enum":[ + "CLASSIC", + "STANDARD" + ], + "sensitive":true + }, "GuardrailVersion":{ "type":"string", "pattern":"(([1-9][0-9]{0,7})|(DRAFT))" @@ -5706,6 +5856,12 @@ "documentation":"

                          Return custom models depending on if the current account owns them (true) or if they were shared with the current account (false).

                          ", "location":"querystring", "locationName":"isOwned" + }, + "modelStatus":{ + "shape":"ModelStatus", + "documentation":"

                          The status of them model to filter results by. Possible values include:

                          • Creating - Include only models that are currently being created and validated.

                          • Active - Include only models that have been successfully created and are ready for use.

                          • Failed - Include only models where the creation process failed.

                          If you don't specify a status, the API returns models in all states.

                          ", + "location":"querystring", + "locationName":"modelStatus" } } }, @@ -6565,7 +6721,7 @@ "type":"string", "max":1011, "min":20, - "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}))" + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/((imported)|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}))(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}))" }, "ModelCopyJobArn":{ "type":"string", @@ -6708,14 +6864,14 @@ "shape":"ModelCustomizationJobStatus", "documentation":"

                          Status of the customization job.

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

                          Time that the customization job was last modified.

                          " - }, "statusDetails":{ "shape":"StatusDetails", "documentation":"

                          Details about the status of the data processing sub-task of the job.

                          " }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

                          Time that the customization job was last modified.

                          " + }, "creationTime":{ "shape":"Timestamp", "documentation":"

                          Creation time of the custom model.

                          " @@ -6748,10 +6904,10 @@ "members":{ "s3DataSource":{ "shape":"S3DataSource", - "documentation":"

                          The Amazon S3 data source of the imported model.

                          " + "documentation":"

                          The Amazon S3 data source of the model to import.

                          " } }, - "documentation":"

                          Data source for the imported model.

                          ", + "documentation":"

                          The data source of the model to import.

                          ", "union":true }, "ModelId":{ @@ -6764,7 +6920,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)" + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/((imported)|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}))(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)" }, "ModelImportJobArn":{ "type":"string", @@ -7042,6 +7198,14 @@ "min":0, "pattern":".*arn:aws:sagemaker:.*:hub-content/SageMakerPublicHub/Model/.*" }, + "ModelStatus":{ + "type":"string", + "enum":[ + "Active", + "Creating", + "Failed" + ] + }, "NonBlankString":{ "type":"string", "pattern":"[\\s\\S]*" @@ -7685,7 +7849,7 @@ "documentation":"

                          The URI of the Amazon S3 data source.

                          " } }, - "documentation":"

                          The Amazon S3 data source of the imported job.

                          " + "documentation":"

                          The Amazon S3 data source of the model to import.

                          " }, "S3InputFormat":{ "type":"string", @@ -7962,7 +8126,7 @@ "type":"string", "max":1011, "min":20, - "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:automated-reasoning-policy/[a-zA-Z0-9]+(:[a-zA-Z0-9]+)?$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model|async-invoke|provisioned-model-v2|provisioned-model-reservation|prompt-router)/[a-z0-9]{12}$))).*" + "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/([a-z0-9-]{1,63}[.][a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?|imported)/[a-z0-9]{12}$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:automated-reasoning-policy/[a-zA-Z0-9]+(:[a-zA-Z0-9]+)?$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model|async-invoke|provisioned-model-v2|provisioned-model-reservation|prompt-router|custom-model-deployment)/[a-z0-9]{12}$))).*" }, "TeacherModelConfig":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json b/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json index d1a02e3c219..4ef9cd3f1bb 100644 --- a/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json +++ b/tools/code-generation/api-descriptions/connectcampaignsv2-2024-04-23.normal.json @@ -231,6 +231,23 @@ ], "documentation":"

                          Get the specific Connect instance config.

                          " }, + "GetInstanceCommunicationLimits":{ + "name":"GetInstanceCommunicationLimits", + "http":{ + "method":"GET", + "requestUri":"/v2/connect-instance/{connectInstanceId}/communication-limits", + "responseCode":200 + }, + "input":{"shape":"GetInstanceCommunicationLimitsRequest"}, + "output":{"shape":"GetInstanceCommunicationLimitsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

                          Get the instance communication limits.

                          " + }, "GetInstanceOnboardingJobStatus":{ "name":"GetInstanceOnboardingJobStatus", "http":{ @@ -338,6 +355,24 @@ "documentation":"

                          Put or update the integration for the specified Amazon Connect instance.

                          ", "idempotent":true }, + "PutInstanceCommunicationLimits":{ + "name":"PutInstanceCommunicationLimits", + "http":{ + "method":"PUT", + "requestUri":"/v2/connect-instance/{connectInstanceId}/communication-limits", + "responseCode":200 + }, + "input":{"shape":"PutInstanceCommunicationLimitsRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

                          Put the instance communication limits. This API is idempotent.

                          ", + "idempotent":true + }, "PutOutboundRequestBatch":{ "name":"PutOutboundRequestBatch", "http":{ @@ -900,7 +935,8 @@ "CommunicationLimitsConfig":{ "type":"structure", "members":{ - "allChannelSubtypes":{"shape":"CommunicationLimits"} + "allChannelSubtypes":{"shape":"CommunicationLimits"}, + "instanceLimitsHandling":{"shape":"InstanceLimitsHandling"} }, "documentation":"

                          Communication limits config

                          " }, @@ -1415,6 +1451,25 @@ }, "documentation":"

                          The response for GetConnectInstanceConfig API.

                          " }, + "GetInstanceCommunicationLimitsRequest":{ + "type":"structure", + "required":["connectInstanceId"], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + } + }, + "documentation":"

                          The request for GetInstanceCommunicationLimits API.

                          " + }, + "GetInstanceCommunicationLimitsResponse":{ + "type":"structure", + "members":{ + "communicationLimitsConfig":{"shape":"InstanceCommunicationLimitsConfig"} + }, + "documentation":"

                          The response for GetInstanceCommunicationLimits API.

                          " + }, "GetInstanceOnboardingJobStatusRequest":{ "type":"structure", "required":["connectInstanceId"], @@ -1434,6 +1489,13 @@ }, "documentation":"

                          The response for GetInstanceOnboardingJobStatus API.

                          " }, + "InstanceCommunicationLimitsConfig":{ + "type":"structure", + "members":{ + "allChannelSubtypes":{"shape":"CommunicationLimits"} + }, + "documentation":"

                          Instance Communication limits config

                          " + }, "InstanceConfig":{ "type":"structure", "required":[ @@ -1472,6 +1534,14 @@ "documentation":"

                          Operators for Connect instance identifier filter

                          ", "enum":["Eq"] }, + "InstanceLimitsHandling":{ + "type":"string", + "documentation":"

                          Instance limits handling

                          ", + "enum":[ + "OPT_IN", + "OPT_OUT" + ] + }, "InstanceOnboardingJobFailureCode":{ "type":"string", "documentation":"

                          Enumeration of the possible failure codes for instance onboarding job

                          ", @@ -1840,6 +1910,22 @@ }, "documentation":"

                          The request for PutConnectInstanceIntegration API.

                          " }, + "PutInstanceCommunicationLimitsRequest":{ + "type":"structure", + "required":[ + "connectInstanceId", + "communicationLimitsConfig" + ], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + }, + "communicationLimitsConfig":{"shape":"InstanceCommunicationLimitsConfig"} + }, + "documentation":"

                          The request for PutInstanceCommunicationLimits API.

                          " + }, "PutOutboundRequestBatchRequest":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/controlcatalog-2018-05-10.normal.json b/tools/code-generation/api-descriptions/controlcatalog-2018-05-10.normal.json index 7a2f6a6de54..61f793fe6c9 100644 --- a/tools/code-generation/api-descriptions/controlcatalog-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/controlcatalog-2018-05-10.normal.json @@ -48,6 +48,23 @@ ], "documentation":"

                          Returns a paginated list of common controls from the Amazon Web Services Control Catalog.

                          You can apply an optional filter to see common controls that have a specific objective. If you don’t provide a filter, the operation returns all common controls.

                          " }, + "ListControlMappings":{ + "name":"ListControlMappings", + "http":{ + "method":"POST", + "requestUri":"/list-control-mappings", + "responseCode":200 + }, + "input":{"shape":"ListControlMappingsRequest"}, + "output":{"shape":"ListControlMappingsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                          Returns a paginated list of control mappings from the Control Catalog. Control mappings show relationships between controls and other entities, such as common controls or compliance frameworks.

                          " + }, "ListControls":{ "name":"ListControls", "http":{ @@ -63,7 +80,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                          Returns a paginated list of all available controls in the Amazon Web Services Control Catalog library. Allows you to discover available controls. The list of controls is given as structures of type controlSummary. The ARN is returned in the global controlcatalog format, as shown in the examples.

                          " + "documentation":"

                          Returns a paginated list of all available controls in the Control Catalog library. Allows you to discover available controls. The list of controls is given as structures of type controlSummary. The ARN is returned in the global controlcatalog format, as shown in the examples.

                          " }, "ListDomains":{ "name":"ListDomains", @@ -80,7 +97,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                          Returns a paginated list of domains from the Amazon Web Services Control Catalog.

                          " + "documentation":"

                          Returns a paginated list of domains from the Control Catalog.

                          " }, "ListObjectives":{ "name":"ListObjectives", @@ -97,7 +114,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                          Returns a paginated list of objectives from the Amazon Web Services Control Catalog.

                          You can apply an optional filter to see the objectives that belong to a specific domain. If you don’t provide a filter, the operation returns all objectives.

                          " + "documentation":"

                          Returns a paginated list of objectives from the Control Catalog.

                          You can apply an optional filter to see the objectives that belong to a specific domain. If you don’t provide a filter, the operation returns all objectives.

                          " } }, "shapes":{ @@ -147,16 +164,33 @@ "min":41, "pattern":"arn:(aws(?:[-a-z]*)?):controlcatalog:::common-control/[0-9a-z]+" }, + "CommonControlArnFilterList":{ + "type":"list", + "member":{"shape":"CommonControlArn"}, + "max":1, + "min":1 + }, "CommonControlFilter":{ "type":"structure", "members":{ "Objectives":{ "shape":"ObjectiveResourceFilterList", - "documentation":"

                          The objective that's used as filter criteria.

                          You can use this parameter to specify one objective ARN at a time. Passing multiple ARNs in the CommonControlFilter isn’t currently supported.

                          " + "documentation":"

                          The objective that's used as filter criteria.

                          You can use this parameter to specify one objective ARN at a time. Passing multiple ARNs in the CommonControlFilter isn’t supported.

                          " } }, "documentation":"

                          An optional filter that narrows the results to a specific objective.

                          " }, + "CommonControlMappingDetails":{ + "type":"structure", + "required":["CommonControlArn"], + "members":{ + "CommonControlArn":{ + "shape":"CommonControlArn", + "documentation":"

                          The Amazon Resource Name (ARN) that identifies the common control in the mapping.

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

                          A structure that contains details about a common control mapping. In particular, it returns the Amazon Resource Name (ARN) of the common control.

                          " + }, "CommonControlSummary":{ "type":"structure", "required":[ @@ -204,12 +238,26 @@ "type":"list", "member":{"shape":"CommonControlSummary"} }, + "ControlAlias":{ + "type":"string", + "pattern":"[a-zA-Z0-9](?:[a-zA-Z0-9_.-]{0,254}[a-zA-Z0-9])" + }, + "ControlAliases":{ + "type":"list", + "member":{"shape":"ControlAlias"} + }, "ControlArn":{ "type":"string", "max":2048, "min":34, "pattern":"arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+" }, + "ControlArnFilterList":{ + "type":"list", + "member":{"shape":"ControlArn"}, + "max":1, + "min":1 + }, "ControlBehavior":{ "type":"string", "enum":[ @@ -218,6 +266,61 @@ "DETECTIVE" ] }, + "ControlFilter":{ + "type":"structure", + "members":{ + "Implementations":{ + "shape":"ImplementationFilter", + "documentation":"

                          A filter that narrows the results to controls with specific implementation types or identifiers. This field allows you to find controls that are implemented by specific Amazon Web Services services or with specific service identifiers.

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

                          A structure that defines filtering criteria for the ListControls operation. You can use this filter to narrow down the list of controls based on their implementation details.

                          " + }, + "ControlMapping":{ + "type":"structure", + "required":[ + "ControlArn", + "MappingType", + "Mapping" + ], + "members":{ + "ControlArn":{ + "shape":"ControlArn", + "documentation":"

                          The Amazon Resource Name (ARN) that identifies the control in the mapping.

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

                          The type of mapping relationship between the control and other entities. Indicates whether the mapping is to a framework or common control.

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

                          The details of the mapping relationship, containing either framework or common control information.

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

                          A structure that contains information about a control mapping, including the control ARN, mapping type, and mapping details.

                          " + }, + "ControlMappingFilter":{ + "type":"structure", + "members":{ + "ControlArns":{ + "shape":"ControlArnFilterList", + "documentation":"

                          A list of control ARNs to filter the mappings. When specified, only mappings associated with these controls are returned.

                          " + }, + "CommonControlArns":{ + "shape":"CommonControlArnFilterList", + "documentation":"

                          A list of common control ARNs to filter the mappings. When specified, only mappings associated with these common controls are returned.

                          " + }, + "MappingTypes":{ + "shape":"MappingTypeFilterList", + "documentation":"

                          A list of mapping types to filter the mappings. When specified, only mappings of these types are returned.

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

                          A structure that defines filtering criteria for the ListControlMappings operation. You can use this filter to narrow down the list of control mappings based on control ARNs, common control ARNs, or mapping types.

                          " + }, + "ControlMappings":{ + "type":"list", + "member":{"shape":"ControlMapping"} + }, "ControlParameter":{ "type":"structure", "required":["Name"], @@ -261,6 +364,10 @@ "shape":"ControlArn", "documentation":"

                          The Amazon Resource Name (ARN) of the control.

                          " }, + "Aliases":{ + "shape":"ControlAliases", + "documentation":"

                          A list of alternative identifiers for the control. These are human-readable designators, such as SH.S3.1. Several aliases can refer to the same control across different Amazon Web Services services or compliance frameworks.

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

                          The display name of the control.

                          " @@ -284,6 +391,10 @@ "CreateTime":{ "shape":"Timestamp", "documentation":"

                          A timestamp that notes the time when the control was released (start of its life) as a governance capability in Amazon Web Services.

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

                          A list of Amazon Web Services resource types that are governed by this control. This information helps you understand which controls can govern certain types of resources, and conversely, which resources are affected when the control is implemented. The resources are represented as Amazon Web Services CloudFormation resource types. If GovernedResources cannot be represented by available CloudFormation resource types, it’s returned as an empty list.

                          " } }, "documentation":"

                          Overview of information about a control.

                          " @@ -353,6 +464,34 @@ "type":"list", "member":{"shape":"DomainSummary"} }, + "FrameworkItem":{ + "type":"string", + "max":250, + "min":3 + }, + "FrameworkMappingDetails":{ + "type":"structure", + "required":[ + "Name", + "Item" + ], + "members":{ + "Name":{ + "shape":"FrameworkName", + "documentation":"

                          The name of the compliance framework that the control maps to.

                          " + }, + "Item":{ + "shape":"FrameworkItem", + "documentation":"

                          The specific item or requirement within the framework that the control maps to.

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

                          A structure that contains details about a framework mapping, including the framework name and specific item within the framework that the control maps to.

                          " + }, + "FrameworkName":{ + "type":"string", + "max":250, + "min":3 + }, "GetControlRequest":{ "type":"structure", "required":["ControlArn"], @@ -377,6 +516,10 @@ "shape":"ControlArn", "documentation":"

                          The Amazon Resource Name (ARN) of the control.

                          " }, + "Aliases":{ + "shape":"ControlAliases", + "documentation":"

                          A list of alternative identifiers for the control. These are human-readable designators, such as SH.S3.1. Several aliases can refer to the same control across different Amazon Web Services services or compliance frameworks.

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

                          The display name of the control.

                          " @@ -405,9 +548,21 @@ "CreateTime":{ "shape":"Timestamp", "documentation":"

                          A timestamp that notes the time when the control was released (start of its life) as a governance capability in Amazon Web Services.

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

                          A list of Amazon Web Services resource types that are governed by this control. This information helps you understand which controls can govern certain types of resources, and conversely, which resources are affected when the control is implemented. The resources are represented as Amazon Web Services CloudFormation resource types. If GovernedResources cannot be represented by available CloudFormation resource types, it’s returned as an empty list.

                          " } } }, + "GovernedResource":{ + "type":"string", + "pattern":"[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}" + }, + "GovernedResources":{ + "type":"list", + "member":{"shape":"GovernedResource"} + }, "ImplementationDetails":{ "type":"structure", "required":["Type"], @@ -423,11 +578,31 @@ }, "documentation":"

                          An object that describes the implementation type for a control.

                          Our ImplementationDetails Type format has three required segments:

                          • SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME

                          For example, AWS::Config::ConfigRule or AWS::SecurityHub::SecurityControl resources have the format with three required segments.

                          Our ImplementationDetails Type format has an optional fourth segment, which is present for applicable implementation types. The format is as follows:

                          • SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME::RESOURCE-TYPE-DESCRIPTION

                          For example, AWS::Organizations::Policy::SERVICE_CONTROL_POLICY or AWS::CloudFormation::Type::HOOK have the format with four segments.

                          Although the format is similar, the values for the Type field do not match any Amazon Web Services CloudFormation values.

                          " }, + "ImplementationFilter":{ + "type":"structure", + "members":{ + "Types":{ + "shape":"ImplementationTypeFilterList", + "documentation":"

                          A list of implementation types that can serve as filters. For example, you can filter for controls implemented as Amazon Web Services Config Rules by specifying AWS::Config::ConfigRule as a type.

                          " + }, + "Identifiers":{ + "shape":"ImplementationIdentifierFilterList", + "documentation":"

                          A list of service-specific identifiers that can serve as filters. For example, you can filter for controls with specific Amazon Web Services Config Rule IDs or Security Hub Control IDs.

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

                          A structure that defines filtering criteria for control implementations. You can use this filter to find controls that are implemented by specific Amazon Web Services services or with specific service identifiers.

                          " + }, "ImplementationIdentifier":{ "type":"string", "max":256, "min":1, - "pattern":"[a-z0-9-]+" + "pattern":"[a-zA-Z0-9_\\.-]+" + }, + "ImplementationIdentifierFilterList":{ + "type":"list", + "member":{"shape":"ImplementationIdentifier"}, + "max":1, + "min":1 }, "ImplementationSummary":{ "type":"structure", @@ -450,6 +625,12 @@ "min":7, "pattern":"[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}" }, + "ImplementationTypeFilterList":{ + "type":"list", + "member":{"shape":"ImplementationType"}, + "max":1, + "min":1 + }, "InternalServerException":{ "type":"structure", "members":{ @@ -478,7 +659,7 @@ }, "CommonControlFilter":{ "shape":"CommonControlFilter", - "documentation":"

                          An optional filter that narrows the results to a specific objective.

                          This filter allows you to specify one objective ARN at a time. Passing multiple ARNs in the CommonControlFilter isn’t currently supported.

                          " + "documentation":"

                          An optional filter that narrows the results to a specific objective.

                          This filter allows you to specify one objective ARN at a time. Passing multiple ARNs in the CommonControlFilter isn’t supported.

                          " } } }, @@ -496,6 +677,41 @@ } } }, + "ListControlMappingsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

                          The pagination token that's used to fetch the next set of results.

                          ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxListControlMappingsResults", + "documentation":"

                          The maximum number of results on a page or for an API request call.

                          ", + "location":"querystring", + "locationName":"maxResults" + }, + "Filter":{ + "shape":"ControlMappingFilter", + "documentation":"

                          An optional filter that narrows the results to specific control mappings based on control ARNs, common control ARNs, or mapping types.

                          " + } + } + }, + "ListControlMappingsResponse":{ + "type":"structure", + "required":["ControlMappings"], + "members":{ + "ControlMappings":{ + "shape":"ControlMappings", + "documentation":"

                          The list of control mappings that the ListControlMappings API returns.

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

                          The pagination token that's used to fetch the next set of results.

                          " + } + } + }, "ListControlsRequest":{ "type":"structure", "members":{ @@ -510,6 +726,10 @@ "documentation":"

                          The maximum number of results on a page or for an API request call.

                          ", "location":"querystring", "locationName":"maxResults" + }, + "Filter":{ + "shape":"ControlFilter", + "documentation":"

                          An optional filter that narrows the results to controls with specific implementation types or identifiers. If you don't provide a filter, the operation returns all available controls.

                          " } } }, @@ -575,7 +795,7 @@ }, "ObjectiveFilter":{ "shape":"ObjectiveFilter", - "documentation":"

                          An optional filter that narrows the results to a specific domain.

                          This filter allows you to specify one domain ARN at a time. Passing multiple ARNs in the ObjectiveFilter isn’t currently supported.

                          " + "documentation":"

                          An optional filter that narrows the results to a specific domain.

                          This filter allows you to specify one domain ARN at a time. Passing multiple ARNs in the ObjectiveFilter isn’t supported.

                          " } } }, @@ -593,12 +813,46 @@ } } }, + "Mapping":{ + "type":"structure", + "members":{ + "Framework":{ + "shape":"FrameworkMappingDetails", + "documentation":"

                          The framework mapping details when the mapping type relates to a compliance framework.

                          " + }, + "CommonControl":{ + "shape":"CommonControlMappingDetails", + "documentation":"

                          The common control mapping details when the mapping type relates to a common control.

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

                          A structure that contains the details of a mapping relationship, which can be either to a framework or to a common control.

                          ", + "union":true + }, + "MappingType":{ + "type":"string", + "enum":[ + "FRAMEWORK", + "COMMON_CONTROL" + ] + }, + "MappingTypeFilterList":{ + "type":"list", + "member":{"shape":"MappingType"}, + "max":1, + "min":1 + }, "MaxListCommonControlsResults":{ "type":"integer", "box":true, "max":100, "min":1 }, + "MaxListControlMappingsResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, "MaxListControlsResults":{ "type":"integer", "box":true, @@ -628,7 +882,7 @@ "members":{ "Domains":{ "shape":"DomainResourceFilterList", - "documentation":"

                          The domain that's used as filter criteria.

                          You can use this parameter to specify one domain ARN at a time. Passing multiple ARNs in the ObjectiveFilter isn’t currently supported.

                          " + "documentation":"

                          The domain that's used as filter criteria.

                          You can use this parameter to specify one domain ARN at a time. Passing multiple ARNs in the ObjectiveFilter isn’t supported.

                          " } }, "documentation":"

                          An optional filter that narrows the list of objectives to a specific domain.

                          " @@ -711,7 +965,7 @@ "documentation":"

                          Regions in which the control is available to be deployed.

                          " } }, - "documentation":"

                          Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control currently is available for deployment. For more information about scope, see Global services.

                          If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the RegionConfiguration API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions A,B,and C while the control is available in Regions A, B, C, and D, you'd see a response with DeployableRegions of A, B, C, and D for a control with REGIONAL scope, even though you may not intend to deploy the control in Region D, because you do not govern it through your landing zone.

                          " + "documentation":"

                          Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control is available for deployment. For more information about scope, see Global services.

                          If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the RegionConfiguration API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions A,B,and C while the control is available in Regions A, B, C, and D, you'd see a response with DeployableRegions of A, B, C, and D for a control with REGIONAL scope, even though you may not intend to deploy the control in Region D, because you do not govern it through your landing zone.

                          " }, "ResourceNotFoundException":{ "type":"structure", @@ -753,5 +1007,5 @@ "exception":true } }, - "documentation":"

                          Welcome to the Amazon Web Services Control Catalog API reference. This guide is for developers who need detailed information about how to programmatically identify and filter the common controls and related metadata that are available to Amazon Web Services customers. This API reference provides descriptions, syntax, and usage examples for each of the actions and data types that are supported by Amazon Web Services Control Catalog.

                          Use the following links to get started with the Amazon Web Services Control Catalog API:

                          • Actions: An alphabetical list of all Control Catalog API operations.

                          • Data types: An alphabetical list of all Control Catalog data types.

                          • Common parameters: Parameters that all operations can use.

                          • Common errors: Client and server errors that all operations can return.

                          " + "documentation":"

                          Welcome to the Control Catalog API reference. This guide is for developers who need detailed information about how to programmatically identify and filter the common controls and related metadata that are available to Amazon Web Services customers. This API reference provides descriptions, syntax, and usage examples for each of the actions and data types that are supported by Control Catalog.

                          Use the following links to get started with the Control Catalog API:

                          • Actions: An alphabetical list of all Control Catalog API operations.

                          • Data types: An alphabetical list of all Control Catalog data types.

                          • Common parameters: Parameters that all operations can use.

                          • Common errors: Client and server errors that all operations can return.

                          " } diff --git a/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json b/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json index 00a74a1066b..a599196f6fa 100644 --- a/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json +++ b/tools/code-generation/api-descriptions/customer-profiles-2020-08-15.normal.json @@ -100,6 +100,23 @@ ], "documentation":"

                          Creates a domain, which is a container for all customer data, such as customer profile attributes, object types, profile keys, and encryption keys. You can create multiple domains, and each domain can have multiple third-party integrations.

                          Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can be associated with one domain.

                          Use this API or UpdateDomain to enable identity resolution: set Matching to true.

                          To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should apply.

                          It is not possible to associate a Customer Profiles domain with an Amazon Connect Instance directly from the API. If you would like to create a domain and associate a Customer Profiles domain, use the Amazon Connect admin website. For more information, see Enable Customer Profiles.

                          Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can be associated with one domain.

                          " }, + "CreateDomainLayout":{ + "name":"CreateDomainLayout", + "http":{ + "method":"POST", + "requestUri":"/domains/{DomainName}/layouts/{LayoutDefinitionName}" + }, + "input":{"shape":"CreateDomainLayoutRequest"}, + "output":{"shape":"CreateDomainLayoutResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                          Creates the layout to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.

                          " + }, "CreateEventStream":{ "name":"CreateEventStream", "http":{ @@ -255,6 +272,23 @@ ], "documentation":"

                          Deletes a specific domain and all of its customer data, such as customer profile attributes and their related objects.

                          " }, + "DeleteDomainLayout":{ + "name":"DeleteDomainLayout", + "http":{ + "method":"DELETE", + "requestUri":"/domains/{DomainName}/layouts/{LayoutDefinitionName}" + }, + "input":{"shape":"DeleteDomainLayoutRequest"}, + "output":{"shape":"DeleteDomainLayoutResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                          Deletes the layout used to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.

                          " + }, "DeleteEventStream":{ "name":"DeleteEventStream", "http":{ @@ -496,6 +530,23 @@ ], "documentation":"

                          Returns information about a specific domain.

                          " }, + "GetDomainLayout":{ + "name":"GetDomainLayout", + "http":{ + "method":"GET", + "requestUri":"/domains/{DomainName}/layouts/{LayoutDefinitionName}" + }, + "input":{"shape":"GetDomainLayoutRequest"}, + "output":{"shape":"GetDomainLayoutResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                          Gets the layout to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.

                          " + }, "GetEventStream":{ "name":"GetEventStream", "http":{ @@ -788,6 +839,23 @@ ], "documentation":"

                          Retrieve a list of calculated attributes for a customer profile.

                          " }, + "ListDomainLayouts":{ + "name":"ListDomainLayouts", + "http":{ + "method":"GET", + "requestUri":"/domains/{DomainName}/layouts" + }, + "input":{"shape":"ListDomainLayoutsRequest"}, + "output":{"shape":"ListDomainLayoutsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                          Lists the existing layouts that can be used to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.

                          " + }, "ListDomains":{ "name":"ListDomains", "http":{ @@ -1173,6 +1241,23 @@ ], "documentation":"

                          Updates the properties of a domain, including creating or selecting a dead letter queue or an encryption key.

                          After a domain is created, the name can’t be changed.

                          Use this API or CreateDomain to enable identity resolution: set Matching to true.

                          To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should apply.

                          To add or remove tags on an existing Domain, see TagResource/UntagResource.

                          " }, + "UpdateDomainLayout":{ + "name":"UpdateDomainLayout", + "http":{ + "method":"PUT", + "requestUri":"/domains/{DomainName}/layouts/{LayoutDefinitionName}" + }, + "input":{"shape":"UpdateDomainLayoutRequest"}, + "output":{"shape":"UpdateDomainLayoutResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                          Updates the layout used to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.

                          " + }, "UpdateEventTrigger":{ "name":"UpdateEventTrigger", "http":{ @@ -1551,7 +1636,7 @@ "AttributeList":{ "type":"list", "member":{"shape":"AttributeItem"}, - "max":2, + "max":50, "min":1 }, "AttributeMap":{ @@ -1876,6 +1961,10 @@ "Value":{ "shape":"string1To255", "documentation":"

                          The value of the calculated attribute.

                          " + }, + "LastObjectTimestamp":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of the newest object included in the calculated attribute calculation.

                          " } }, "documentation":"

                          The object containing the values of a single calculated attribute value.

                          " @@ -2052,6 +2141,10 @@ "shape":"Statistic", "documentation":"

                          The aggregation operation to perform for the calculated attribute.

                          " }, + "UseHistoricalData":{ + "shape":"optionalBoolean", + "documentation":"

                          Whether historical data ingested before the Calculated Attribute was created should be included in calculations.

                          " + }, "Tags":{ "shape":"TagMap", "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " @@ -2097,9 +2190,124 @@ "shape":"timestamp", "documentation":"

                          The timestamp of when the calculated attribute definition was most recently edited.

                          " }, + "UseHistoricalData":{ + "shape":"optionalBoolean", + "documentation":"

                          Whether historical data ingested before the Calculated Attribute was created should be included in calculations.

                          " + }, + "Status":{ + "shape":"ReadinessStatus", + "documentation":"

                          Status of the Calculated Attribute creation (whether all historical data has been indexed.)

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

                          Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.

                          " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " + } + } + }, + "CreateDomainLayoutRequest":{ + "type":"structure", + "required":[ + "DomainName", + "LayoutDefinitionName", + "Description", + "DisplayName", + "LayoutType", + "Layout" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

                          The unique name of the domain.

                          ", + "location":"uri", + "locationName":"DomainName" + }, + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          ", + "location":"uri", + "locationName":"LayoutDefinitionName" + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

                          The description of the layout

                          " + }, + "DisplayName":{ + "shape":"displayName", + "documentation":"

                          The display name of the layout

                          " + }, + "IsDefault":{ + "shape":"boolean", + "documentation":"

                          If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.

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

                          The type of layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Layout":{ + "shape":"sensitiveString1To2000000", + "documentation":"

                          A customizable layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " + } + } + }, + "CreateDomainLayoutResponse":{ + "type":"structure", + "required":[ + "LayoutDefinitionName", + "Description", + "DisplayName", + "LayoutType", + "Layout", + "Version", + "CreatedAt" + ], + "members":{ + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

                          The description of the layout

                          " + }, + "DisplayName":{ + "shape":"displayName", + "documentation":"

                          The display name of the layout

                          " + }, + "IsDefault":{ + "shape":"boolean", + "documentation":"

                          If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.

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

                          The type of layout that can be used to view data under customer profiles domain.

                          " + }, + "Layout":{ + "shape":"sensitiveString1To2000000", + "documentation":"

                          A customizable layout that can be used to view data under Customer Profiles domain.

                          " + }, + "Version":{ + "shape":"string1To255", + "documentation":"

                          The version used to create layout.

                          " + }, "Tags":{ "shape":"TagMap", "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was created.

                          " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was most recently updated.

                          " } } }, @@ -2388,7 +2596,7 @@ }, "AccountNumber":{ "shape":"sensitiveString1To255", - "documentation":"

                          An account number that you have given to the customer.

                          " + "documentation":"

                          An account number that you have assigned to the customer.

                          " }, "AdditionalInformation":{ "shape":"sensitiveString1To1000", @@ -2735,7 +2943,37 @@ }, "DeleteCalculatedAttributeDefinitionResponse":{ "type":"structure", + "members":{} + }, + "DeleteDomainLayoutRequest":{ + "type":"structure", + "required":[ + "DomainName", + "LayoutDefinitionName" + ], "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

                          The unique name of the domain.

                          ", + "location":"uri", + "locationName":"DomainName" + }, + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          ", + "location":"uri", + "locationName":"LayoutDefinitionName" + } + } + }, + "DeleteDomainLayoutResponse":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"message", + "documentation":"

                          A message that indicates the delete request is done.

                          " + } } }, "DeleteDomainRequest":{ @@ -2783,8 +3021,7 @@ }, "DeleteEventStreamResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteEventTriggerRequest":{ "type":"structure", @@ -3035,8 +3272,7 @@ }, "DeleteWorkflowResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DestinationField":{ "type":"string", @@ -3174,11 +3410,7 @@ "max":3, "min":1 }, - "End":{ - "type":"integer", - "max":366, - "min":0 - }, + "End":{"type":"integer"}, "EstimateStatus":{ "type":"string", "enum":[ @@ -3815,6 +4047,18 @@ "shape":"AttributeDetails", "documentation":"

                          Mathematical expression and a list of attribute items specified in that expression.

                          " }, + "UseHistoricalData":{ + "shape":"optionalBoolean", + "documentation":"

                          Whether historical data ingested before the Calculated Attribute was created should be included in calculations.

                          " + }, + "Status":{ + "shape":"ReadinessStatus", + "documentation":"

                          Status of the Calculated Attribute creation (whether all historical data has been indexed).

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

                          Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.

                          " + }, "Tags":{ "shape":"TagMap", "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " @@ -3867,6 +4111,86 @@ "Value":{ "shape":"string1To255", "documentation":"

                          The value of the calculated attribute.

                          " + }, + "LastObjectTimestamp":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of the newest object included in the calculated attribute calculation.

                          " + } + } + }, + "GetDomainLayoutRequest":{ + "type":"structure", + "required":[ + "DomainName", + "LayoutDefinitionName" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

                          The unique name of the domain.

                          ", + "location":"uri", + "locationName":"DomainName" + }, + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          ", + "location":"uri", + "locationName":"LayoutDefinitionName" + } + } + }, + "GetDomainLayoutResponse":{ + "type":"structure", + "required":[ + "LayoutDefinitionName", + "Description", + "DisplayName", + "LayoutType", + "Layout", + "Version", + "CreatedAt", + "LastUpdatedAt" + ], + "members":{ + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

                          The description of the layout

                          " + }, + "DisplayName":{ + "shape":"displayName", + "documentation":"

                          The display name of the layout

                          " + }, + "IsDefault":{ + "shape":"boolean", + "documentation":"

                          If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.

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

                          The type of layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Layout":{ + "shape":"sensitiveString1To2000000", + "documentation":"

                          A customizable layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Version":{ + "shape":"string1To255", + "documentation":"

                          The version used to create layout.

                          " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was created.

                          " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was most recently updated.

                          " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " } } }, @@ -4990,6 +5314,60 @@ "min":20, "pattern":"arn:aws:kms:.*:[0-9]+:.*" }, + "LayoutItem":{ + "type":"structure", + "required":[ + "LayoutDefinitionName", + "Description", + "DisplayName", + "LayoutType", + "CreatedAt", + "LastUpdatedAt" + ], + "members":{ + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

                          The description of the layout

                          " + }, + "DisplayName":{ + "shape":"displayName", + "documentation":"

                          The display name of the layout

                          " + }, + "IsDefault":{ + "shape":"boolean", + "documentation":"

                          If set to true for a layout, this layout will be used by default to view data. If set to false, then layout will not be used by default but it can be used to view data by explicit selection on UI.

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

                          The type of layout that can be used to view data under customer profiles domain.

                          " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was created.

                          " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was most recently updated.

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

                          The layout object that contains LayoutDefinitionName, Description, DisplayName, IsDefault, LayoutType, Tags, CreatedAt, LastUpdatedAt

                          " + }, + "LayoutList":{ + "type":"list", + "member":{"shape":"LayoutItem"} + }, + "LayoutType":{ + "type":"string", + "enum":["PROFILE_EXPLORER"] + }, "ListAccountIntegrationsRequest":{ "type":"structure", "required":["Uri"], @@ -5054,6 +5432,14 @@ "shape":"timestamp", "documentation":"

                          The timestamp of when the calculated attribute definition was most recently edited.

                          " }, + "UseHistoricalData":{ + "shape":"optionalBoolean", + "documentation":"

                          Whether historical data ingested before the Calculated Attribute was created should be included in calculations.

                          " + }, + "Status":{ + "shape":"ReadinessStatus", + "documentation":"

                          Status of the Calculated Attribute creation (whether all historical data has been indexed.)

                          " + }, "Tags":{ "shape":"TagMap", "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " @@ -5116,6 +5502,10 @@ "Value":{ "shape":"string1To255", "documentation":"

                          The value of the calculated attribute.

                          " + }, + "LastObjectTimestamp":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of the newest object included in the calculated attribute calculation.

                          " } }, "documentation":"

                          The details of a single calculated attribute for a profile.

                          " @@ -5193,6 +5583,43 @@ }, "documentation":"

                          An object in a list that represents a domain.

                          " }, + "ListDomainLayoutsRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

                          The unique name of the domain.

                          ", + "location":"uri", + "locationName":"DomainName" + }, + "NextToken":{ + "shape":"token", + "documentation":"

                          Identifies the next page of results to return.

                          ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"maxSize100", + "documentation":"

                          The maximum number of objects returned per page.

                          ", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListDomainLayoutsResponse":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"LayoutList", + "documentation":"

                          Contains summary information about an EventStream.

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

                          Identifies the next page of results to return.

                          " + } + } + }, "ListDomainsRequest":{ "type":"structure", "members":{ @@ -6120,7 +6547,6 @@ }, "ObjectCount":{ "type":"integer", - "max":100, "min":1 }, "ObjectFilter":{ @@ -6283,7 +6709,7 @@ }, "AccountNumber":{ "shape":"sensitiveString1To255", - "documentation":"

                          An account number that you have given to the customer.

                          " + "documentation":"

                          An account number that you have assigned to the customer.

                          " }, "AdditionalInformation":{ "shape":"sensitiveString1To1000", @@ -6911,10 +7337,6 @@ }, "Range":{ "type":"structure", - "required":[ - "Value", - "Unit" - ], "members":{ "Value":{ "shape":"Value", @@ -6923,6 +7345,18 @@ "Unit":{ "shape":"Unit", "documentation":"

                          The unit of time.

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

                          A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.

                          " + }, + "TimestampSource":{ + "shape":"string1To255", + "documentation":"

                          An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of \\\"{ObjectTypeName.<Location of timestamp field in JSON pointer format>}\\\". E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be \"{MyType.generatedAt.timestamp}\".

                          " + }, + "TimestampFormat":{ + "shape":"string1To255", + "documentation":"

                          The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then TimestampFormat should be \"ISO_8601\".

                          " } }, "documentation":"

                          The relative time period over which data is included in the aggregation.

                          " @@ -6953,6 +7387,29 @@ "type":"string", "enum":["DAYS"] }, + "Readiness":{ + "type":"structure", + "members":{ + "ProgressPercentage":{ + "shape":"percentageInteger", + "documentation":"

                          Approximately how far the Calculated Attribute creation is from completion.

                          " + }, + "Message":{ + "shape":"text", + "documentation":"

                          Any customer messaging.

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

                          Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.

                          " + }, + "ReadinessStatus":{ + "type":"string", + "enum":[ + "PREPARING", + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -7472,6 +7929,15 @@ "CASE", "ORDER", "COMMUNICATION_RECORD", + "AIR_PREFERENCE", + "HOTEL_PREFERENCE", + "AIR_BOOKING", + "AIR_SEGMENT", + "HOTEL_RESERVATION", + "HOTEL_STAY_REVENUE", + "LOYALTY", + "LOYALTY_TRANSACTION", + "LOYALTY_PROMOTION", "UNIQUE", "SECONDARY", "LOOKUP_ONLY", @@ -7482,11 +7948,7 @@ "type":"list", "member":{"shape":"StandardIdentifier"} }, - "Start":{ - "type":"integer", - "max":366, - "min":1 - }, + "Start":{"type":"integer"}, "Statistic":{ "type":"string", "enum":[ @@ -7570,8 +8032,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -7728,8 +8189,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateAddress":{ "type":"structure", @@ -7852,6 +8312,104 @@ "shape":"AttributeDetails", "documentation":"

                          The mathematical expression and a list of attribute items specified in that expression.

                          " }, + "UseHistoricalData":{ + "shape":"optionalBoolean", + "documentation":"

                          Whether historical data ingested before the Calculated Attribute was created should be included in calculations.

                          " + }, + "Status":{ + "shape":"ReadinessStatus", + "documentation":"

                          Status of the Calculated Attribute creation (whether all historical data has been indexed.)

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

                          Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.

                          " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " + } + } + }, + "UpdateDomainLayoutRequest":{ + "type":"structure", + "required":[ + "DomainName", + "LayoutDefinitionName" + ], + "members":{ + "DomainName":{ + "shape":"name", + "documentation":"

                          The unique name of the domain.

                          ", + "location":"uri", + "locationName":"DomainName" + }, + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          ", + "location":"uri", + "locationName":"LayoutDefinitionName" + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

                          The description of the layout

                          " + }, + "DisplayName":{ + "shape":"displayName", + "documentation":"

                          The display name of the layout

                          " + }, + "IsDefault":{ + "shape":"boolean", + "documentation":"

                          If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.

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

                          The type of layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Layout":{ + "shape":"sensitiveString1To2000000", + "documentation":"

                          A customizable layout that can be used to view data under a Customer Profiles domain.

                          " + } + } + }, + "UpdateDomainLayoutResponse":{ + "type":"structure", + "members":{ + "LayoutDefinitionName":{ + "shape":"name", + "documentation":"

                          The unique name of the layout.

                          " + }, + "Description":{ + "shape":"sensitiveText", + "documentation":"

                          The description of the layout

                          " + }, + "DisplayName":{ + "shape":"displayName", + "documentation":"

                          The display name of the layout

                          " + }, + "IsDefault":{ + "shape":"boolean", + "documentation":"

                          If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.

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

                          The type of layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Layout":{ + "shape":"sensitiveString1To2000000", + "documentation":"

                          A customizable layout that can be used to view data under a Customer Profiles domain.

                          " + }, + "Version":{ + "shape":"string1To255", + "documentation":"

                          The version used to create layout.

                          " + }, + "CreatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was created.

                          " + }, + "LastUpdatedAt":{ + "shape":"timestamp", + "documentation":"

                          The timestamp of when the layout was most recently updated.

                          " + }, "Tags":{ "shape":"TagMap", "documentation":"

                          The tags used to organize, track, or control access for this resource.

                          " @@ -8045,7 +8603,7 @@ }, "AccountNumber":{ "shape":"sensitiveString0To255", - "documentation":"

                          An account number that you have given to the customer.

                          " + "documentation":"

                          An account number that you have assigned to the customer.

                          " }, "PartyType":{ "shape":"PartyType", @@ -8145,8 +8703,8 @@ }, "Value":{ "type":"integer", - "max":366, - "min":1 + "max":2147483647, + "min":0 }, "ValueList":{ "type":"list", @@ -8154,6 +8712,26 @@ "max":10, "min":1 }, + "ValueRange":{ + "type":"structure", + "required":[ + "Start", + "End" + ], + "members":{ + "Start":{ + "shape":"ValueRangeStart", + "documentation":"

                          The start time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.

                          " + }, + "End":{ + "shape":"ValueRangeEnd", + "documentation":"

                          The end time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.

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

                          A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.

                          " + }, + "ValueRangeEnd":{"type":"integer"}, + "ValueRangeStart":{"type":"integer"}, "Values":{ "type":"list", "member":{"shape":"string1To255"}, @@ -8311,6 +8889,11 @@ }, "optionalBoolean":{"type":"boolean"}, "optionalLong":{"type":"long"}, + "percentageInteger":{ + "type":"integer", + "max":100, + "min":0 + }, "requestValueList":{ "type":"list", "member":{"shape":"string1To255"} @@ -8351,6 +8934,12 @@ "min":1, "sensitive":true }, + "sensitiveString1To2000000":{ + "type":"string", + "max":2000000, + "min":1, + "sensitive":true + }, "sensitiveString1To255":{ "type":"string", "max":255, diff --git a/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json b/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json index f12bb65fe63..84dbbfad0f4 100644 --- a/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json +++ b/tools/code-generation/api-descriptions/dms-2016-01-01.normal.json @@ -54,7 +54,7 @@ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"} ], - "documentation":"

                          Starts the analysis of up to 20 source databases to recommend target engines for each source database. This is a batch version of StartRecommendations.

                          The result of analysis of each source database is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Starts the analysis of up to 20 source databases to recommend target engines for each source database. This is a batch version of StartRecommendations.

                          The result of analysis of each source database is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

                          " }, "CancelReplicationTaskAssessmentRun":{ "name":"CancelReplicationTaskAssessmentRun", @@ -160,7 +160,7 @@ {"shape":"S3ResourceNotFoundFault"}, {"shape":"ResourceQuotaExceededFault"} ], - "documentation":"

                          Creates a Fleet Advisor collector using the specified parameters.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Creates a Fleet Advisor collector using the specified parameters.

                          " }, "CreateInstanceProfile":{ "name":"CreateInstanceProfile", @@ -381,7 +381,7 @@ {"shape":"CollectorNotFoundFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

                          Deletes the specified Fleet Advisor collector.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Deletes the specified Fleet Advisor collector.

                          " }, "DeleteFleetAdvisorDatabases":{ "name":"DeleteFleetAdvisorDatabases", @@ -396,7 +396,7 @@ {"shape":"InvalidOperationFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

                          Deletes the specified Fleet Advisor collector databases.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Deletes the specified Fleet Advisor collector databases.

                          " }, "DeleteInstanceProfile":{ "name":"DeleteInstanceProfile", @@ -695,7 +695,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

                          Returns a list of the Fleet Advisor collectors in your account.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Returns a list of the Fleet Advisor collectors in your account.

                          " }, "DescribeFleetAdvisorDatabases":{ "name":"DescribeFleetAdvisorDatabases", @@ -708,7 +708,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

                          Returns a list of Fleet Advisor databases in your account.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Returns a list of Fleet Advisor databases in your account.

                          " }, "DescribeFleetAdvisorLsaAnalysis":{ "name":"DescribeFleetAdvisorLsaAnalysis", @@ -721,7 +721,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

                          Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.

                          " }, "DescribeFleetAdvisorSchemaObjectSummary":{ "name":"DescribeFleetAdvisorSchemaObjectSummary", @@ -734,7 +734,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

                          Provides descriptions of the schemas discovered by your Fleet Advisor collectors.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Provides descriptions of the schemas discovered by your Fleet Advisor collectors.

                          " }, "DescribeFleetAdvisorSchemas":{ "name":"DescribeFleetAdvisorSchemas", @@ -747,7 +747,7 @@ "errors":[ {"shape":"InvalidResourceStateFault"} ], - "documentation":"

                          Returns a list of schemas detected by Fleet Advisor Collectors in your account.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Returns a list of schemas detected by Fleet Advisor Collectors in your account.

                          " }, "DescribeInstanceProfiles":{ "name":"DescribeInstanceProfiles", @@ -879,7 +879,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

                          Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.

                          " }, "DescribeRecommendations":{ "name":"DescribeRecommendations", @@ -893,7 +893,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"AccessDeniedFault"} ], - "documentation":"

                          Returns a paginated list of target engine recommendations for your source databases.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Returns a paginated list of target engine recommendations for your source databases.

                          " }, "DescribeRefreshSchemasStatus":{ "name":"DescribeRefreshSchemasStatus", @@ -1404,7 +1404,7 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceNotFoundFault"} ], - "documentation":"

                          Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

                          " }, "StartDataMigration":{ "name":"StartDataMigration", @@ -1555,7 +1555,7 @@ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"} ], - "documentation":"

                          Starts the analysis of your source database to provide recommendations of target engines.

                          You can create recommendations for multiple source databases using BatchStartRecommendations.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Starts the analysis of your source database to provide recommendations of target engines.

                          You can create recommendations for multiple source databases using BatchStartRecommendations.

                          " }, "StartReplication":{ "name":"StartReplication", @@ -2247,6 +2247,10 @@ "shape":"String", "documentation":"

                          The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

                          " }, + "Virtual":{ + "shape":"BooleanOptional", + "documentation":"

                          Indicates whether the data provider is virtual.

                          " + }, "Settings":{ "shape":"DataProviderSettings", "documentation":"

                          The settings in JSON format for a data provider.

                          " @@ -2787,7 +2791,7 @@ }, "ReplicationSubnetGroupDescription":{ "shape":"String", - "documentation":"

                          The description for the subnet group.

                          " + "documentation":"

                          The description for the subnet group.

                          Constraints: This parameter Must not contain non-printable control characters.

                          " }, "SubnetIds":{ "shape":"SubnetIdentifierList", @@ -3058,6 +3062,10 @@ "shape":"String", "documentation":"

                          The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

                          " }, + "Virtual":{ + "shape":"BooleanOptional", + "documentation":"

                          Indicates whether the data provider is virtual.

                          " + }, "Settings":{ "shape":"DataProviderSettings", "documentation":"

                          The settings in JSON format for a data provider.

                          " @@ -4162,7 +4170,7 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

                          Sets the maximum number of records returned in the response.

                          " + "documentation":"

                          End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

                          Sets the maximum number of records returned in the response.

                          " }, "NextToken":{ "shape":"String", @@ -5835,6 +5843,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

                          The Amazon Resource Name (ARN) of the certificate used for SSL connection.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information about an IBM DB2 LUW data provider.

                          " @@ -5861,6 +5877,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

                          The Amazon Resource Name (ARN) of the certificate used for SSL connection.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information about an IBM DB2 for z/OS data provider.

                          " @@ -6357,6 +6381,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

                          The Amazon Resource Name (ARN) of the certificate used for SSL connection.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information that defines a MariaDB data provider.

                          " @@ -6472,6 +6504,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

                          The Amazon Resource Name (ARN) of the certificate used for SSL connection.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information that defines a Microsoft SQL Server data provider.

                          " @@ -6635,6 +6675,10 @@ "shape":"String", "documentation":"

                          The type of database engine for the data provider. Valid values include \"aurora\", \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

                          " }, + "Virtual":{ + "shape":"BooleanOptional", + "documentation":"

                          Indicates whether the data provider is virtual.

                          " + }, "ExactSettings":{ "shape":"BooleanOptional", "documentation":"

                          If this attribute is Y, the current call to ModifyDataProvider replaces all existing data provider settings with the exact settings that you specify in this call. If this attribute is N, the current call to ModifyDataProvider does two things:

                          • It replaces any data provider settings that already exist with new values, for settings with the same names.

                          • It creates new data provider settings that you specify in the call, for settings with different names.

                          " @@ -7380,6 +7424,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

                          The Amazon Resource Name (ARN) of the certificate used for SSL connection.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information that defines a MySQL data provider.

                          " @@ -7478,6 +7530,14 @@ "SecretsManagerSecurityDbEncryptionAccessRoleArn":{ "shape":"String", "documentation":"

                          The ARN of the IAM role that provides access to the secret in Secrets Manager that contains the TDE password.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information that defines an Oracle data provider.

                          " @@ -7913,6 +7973,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

                          The Amazon Resource Name (ARN) of the certificate used for SSL connection.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information that defines a PostgreSQL data provider.

                          " @@ -8243,6 +8311,14 @@ "DatabaseName":{ "shape":"String", "documentation":"

                          The database name on the Amazon Redshift data provider.

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

                          The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

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

                          The ARN for the role the application uses to access its Amazon S3 bucket.

                          " } }, "documentation":"

                          Provides information that defines an Amazon Redshift data provider.

                          " @@ -9516,7 +9592,7 @@ }, "DatePartitionTimezone":{ "shape":"String", - "documentation":"

                          When creating an S3 target endpoint, set DatePartitionTimezone to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The time zone format is Area/Location. Use this parameter when DatePartitionedEnabled is set to true, as shown in the following example.

                          s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\"Asia/Seoul\", \"BucketName\": \"dms-nattarat-test\"}'

                          " + "documentation":"

                          When creating an S3 target endpoint, set DatePartitionTimezone to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The time zone format is Area/Location. Use this parameter when DatePartitionedEnabled is set to true, as shown in the following example:

                          s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\"Asia/Seoul\", \"BucketName\": \"dms-nattarat-test\"}'

                          " }, "AddTrailingPaddingCharacter":{ "shape":"BooleanOptional", @@ -10124,7 +10200,7 @@ }, "StartReplicationTaskType":{ "shape":"StartReplicationTaskTypeValue", - "documentation":"

                          The type of replication task to start.

                          When the migration type is full-load or full-load-and-cdc, the only valid value for the first run of the task is start-replication. This option will start the migration.

                          You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

                          The resume-processing option isn't applicable for a full-load task, because you can't resume partially loaded tables during the full load phase.

                          For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

                          " + "documentation":"

                          The type of replication task to start.

                          start-replication is the only valid action that can be used for the first time a task with the migration type of full-loadfull-load, full-load-and-cdc or cdc is run. Any other action used for the first time on a given task, such as resume-processing and reload-target will result in data errors.

                          You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

                          For a full-load task, the resume-processing option will reload any tables that were partially loaded or not yet loaded during the full load phase.

                          For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

                          For a cdc only task, to start from a specific position, you must use start-replication and also specify the start position. Check the source endpoint DMS documentation for any limitations. For example, not all sources support starting from a time.

                          resume-processing is only available for previously executed tasks.

                          " }, "CdcStartTime":{ "shape":"TStamp", 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 f40f7ada807..8cdf1de7bfd 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 @@ -410,7 +410,7 @@ }, "input":{"shape":"AttachVolumeRequest"}, "output":{"shape":"VolumeAttachment"}, - "documentation":"

                          Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

                          Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

                          After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

                          If a volume has an Amazon Web Services Marketplace product code:

                          • The volume can be attached only to a stopped instance.

                          • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

                          • You must be subscribed to the product.

                          • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

                          For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

                          " + "documentation":"

                          Attaches an Amazon EBS volume to a running or stopped instance, and exposes it to the instance with the specified device name.

                          The maximum number of Amazon EBS volumes that you can attach to an instance depends on the instance type. If you exceed the volume attachment limit for an instance type, the attachment request fails with the AttachmentLimitExceeded error. For more information, see Instance volume limits.

                          After you attach an EBS volume, you must make it available for use. For more information, see Make an EBS volume available for use.

                          If a volume has an Amazon Web Services Marketplace product code:

                          • The volume can be attached only to a stopped instance.

                          • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

                          • You must be subscribed to the product.

                          • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

                          For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

                          " }, "AttachVpnGateway":{ "name":"AttachVpnGateway", @@ -7604,6 +7604,11 @@ "documentation":"

                          The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance).

                          ", "locationName":"carrierIp" }, + "SubnetId":{ + "shape":"String", + "documentation":"

                          The ID of the subnet where the IP address is allocated.

                          ", + "locationName":"subnetId" + }, "ServiceManaged":{ "shape":"ServiceManaged", "documentation":"

                          The service that manages the elastic IP address.

                          The only option supported today is alb.

                          ", @@ -9465,6 +9470,13 @@ "locationName":"item" } }, + "AssociatedSubnetList":{ + "type":"list", + "member":{ + "shape":"SubnetId", + "locationName":"item" + } + }, "AssociatedTargetNetwork":{ "type":"structure", "members":{ @@ -25299,7 +25311,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

                          One or more filters.

                          • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

                          • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

                          • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

                          • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

                          • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

                          • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

                          • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

                          • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

                          • association.public-dns-name - The public DNS name for the network interface (IPv4).

                          • attachment.attach-time - The time that the network interface was attached to an instance.

                          • attachment.attachment-id - The ID of the interface attachment.

                          • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

                          • attachment.device-index - The device index to which the network interface is attached.

                          • attachment.instance-id - The ID of the instance to which the network interface is attached.

                          • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

                          • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

                          • availability-zone - The Availability Zone of the network interface.

                          • description - The description of the network interface.

                          • group-id - The ID of a security group associated with the network interface.

                          • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

                          • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efa-only | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

                          • mac-address - The MAC address of the network interface.

                          • network-interface-id - The ID of the network interface.

                          • operator.managed - A Boolean that indicates whether this is a managed network interface.

                          • operator.principal - The principal that manages the network interface. Only valid for managed network interfaces, where managed is true.

                          • owner-id - The Amazon Web Services account ID of the network interface owner.

                          • private-dns-name - The private DNS name of the network interface (IPv4).

                          • private-ip-address - The private IPv4 address or addresses of the network interface.

                          • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

                          • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

                          • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

                          • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

                          • subnet-id - The ID of the subnet for the network interface.

                          • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                          • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                          • vpc-id - The ID of the VPC for the network interface.

                          ", + "documentation":"

                          One or more filters.

                          • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

                          • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

                          • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

                          • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

                          • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

                          • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

                          • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

                          • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

                          • association.public-dns-name - The public DNS name for the network interface (IPv4).

                          • attachment.attach-time - The time that the network interface was attached to an instance.

                          • attachment.attachment-id - The ID of the interface attachment.

                          • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

                          • attachment.device-index - The device index to which the network interface is attached.

                          • attachment.instance-id - The ID of the instance to which the network interface is attached.

                          • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

                          • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

                          • availability-zone - The Availability Zone of the network interface.

                          • description - The description of the network interface.

                          • group-id - The ID of a security group associated with the network interface.

                          • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

                          • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efa-only | efs | evs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

                          • mac-address - The MAC address of the network interface.

                          • network-interface-id - The ID of the network interface.

                          • operator.managed - A Boolean that indicates whether this is a managed network interface.

                          • operator.principal - The principal that manages the network interface. Only valid for managed network interfaces, where managed is true.

                          • owner-id - The Amazon Web Services account ID of the network interface owner.

                          • private-dns-name - The private DNS name of the network interface (IPv4).

                          • private-ip-address - The private IPv4 address or addresses of the network interface.

                          • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

                          • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

                          • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

                          • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

                          • subnet-id - The ID of the subnet for the network interface.

                          • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                          • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                          • vpc-id - The ID of the VPC for the network interface.

                          ", "locationName":"filter" } }, @@ -39555,7 +39567,7 @@ }, "InterfaceType":{ "shape":"String", - "documentation":"

                          The type of network interface.

                          Valid values: interface | efa | efa-only | trunk

                          ", + "documentation":"

                          The type of network interface.

                          Valid values: interface | efa | efa-only | evs | trunk

                          ", "locationName":"interfaceType" }, "Ipv4Prefixes":{ @@ -48010,6 +48022,11 @@ "shape":"Boolean", "documentation":"

                          Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

                          " }, + "AssociatedSubnetIds":{ + "shape":"SubnetIdList", + "documentation":"

                          A list of subnet IDs to associate with the network interface.

                          ", + "locationName":"AssociatedSubnetId" + }, "DryRun":{ "shape":"Boolean", "documentation":"

                          Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                          ", @@ -51117,6 +51134,11 @@ "shape":"OperatorResponse", "documentation":"

                          The service provider that manages the network interface.

                          ", "locationName":"operator" + }, + "AssociatedSubnets":{ + "shape":"AssociatedSubnetList", + "documentation":"

                          The subnets associated with this network interface.

                          ", + "locationName":"associatedSubnetSet" } }, "documentation":"

                          Describes a network interface.

                          " @@ -61595,6 +61617,11 @@ "documentation":"

                          The state of VPC Block Public Access (BPA).

                          ", "locationName":"blockPublicAccessStates" }, + "Type":{ + "shape":"String", + "documentation":"

                          Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS). Possible values are Elastic VMware Service or no value. For more information about Amazon EVS, see Amazon Elastic VMware Service API Reference .

                          ", + "locationName":"type" + }, "SubnetId":{ "shape":"String", "documentation":"

                          The ID of the subnet.

                          ", @@ -61602,7 +61629,7 @@ }, "State":{ "shape":"SubnetState", - "documentation":"

                          The current state of the subnet.

                          ", + "documentation":"

                          The current state of the subnet.

                          • failed: The underlying infrastructure to support the subnet failed to provision as expected.

                          • failed-insufficient-capacity: The underlying infrastructure to support the subnet failed to provision due to a shortage of EC2 instance capacity.

                          ", "locationName":"state" }, "VpcId":{ @@ -61771,6 +61798,13 @@ } }, "SubnetId":{"type":"string"}, + "SubnetIdList":{ + "type":"list", + "member":{ + "shape":"SubnetId", + "locationName":"AssociatedSubnetId" + } + }, "SubnetIdStringList":{ "type":"list", "member":{ @@ -61851,7 +61885,9 @@ "enum":[ "pending", "available", - "unavailable" + "unavailable", + "failed", + "failed-insufficient-capacity" ] }, "Subscription":{ 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 2c5424fb774..84695aafe0f 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 @@ -304,7 +304,7 @@ {"shape":"RepositoryNotFoundException"}, {"shape":"ImageNotFoundException"} ], - "documentation":"

                          Returns metadata about the images in a repository.

                          Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages.

                          " + "documentation":"

                          Returns metadata about the images in a repository.

                          Starting with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size. Therefore, Docker might return a larger image than the image shown in the Amazon Web Services Management Console.

                          The new version of Amazon ECR Basic Scanning doesn't use the ImageDetail$imageScanFindingsSummary and ImageDetail$imageScanStatus attributes from the API response to return scan results. Use the DescribeImageScanFindings API instead. For more information about Amazon Web Services native basic scanning, see Scan images for software vulnerabilities in Amazon ECR.

                          " }, "DescribePullThroughCacheRules":{ "name":"DescribePullThroughCacheRules", @@ -918,6 +918,14 @@ "shape":"Date", "documentation":"

                          The date and time the Amazon ECR container image was pushed.

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

                          The most recent date and time a cluster was running the image.

                          " + }, + "inUseCount":{ + "shape":"InUseCount", + "documentation":"

                          The number of Amazon ECS or Amazon EKS clusters currently running the image.

                          " + }, "registry":{ "shape":"RegistryId", "documentation":"

                          The registry the Amazon ECR container image belongs to.

                          " @@ -1135,7 +1143,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 (ecr) – dkr.ecr.<region>.amazonaws.com

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

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

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

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

                          • Kubernetes (k8s) – registry.k8s.io

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

                          • Quay (quay) – quay.io

                          " + "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 (ecr) – <accountId>.dkr.ecr.<region>.amazonaws.com

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

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

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

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

                          • Kubernetes (k8s) – registry.k8s.io

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

                          • Quay (quay) – quay.io

                          " }, "registryId":{ "shape":"RegistryId", @@ -1459,8 +1467,7 @@ }, "DeleteRegistryPolicyRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteRegistryPolicyResponse":{ "type":"structure", @@ -1729,8 +1736,7 @@ }, "DescribeRegistryRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DescribeRegistryResponse":{ "type":"structure", @@ -2013,7 +2019,7 @@ "members":{ "authorizationData":{ "shape":"AuthorizationDataList", - "documentation":"

                          A list of authorization token data objects that correspond to the registryIds values in the request.

                          " + "documentation":"

                          A list of authorization token data objects that correspond to the registryIds values in the request.

                          The size of the authorization token returned by Amazon ECR is not fixed. We recommend that you don't make assumptions about the maximum size.

                          " } } }, @@ -2073,7 +2079,7 @@ }, "maxResults":{ "shape":"LifecyclePreviewMaxResults", - "documentation":"

                          The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest 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 GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 1000. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.

                          " + "documentation":"

                          The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest 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 GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 100. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.

                          " }, "filter":{ "shape":"LifecyclePolicyPreviewFilter", @@ -2151,8 +2157,7 @@ }, "GetRegistryPolicyRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetRegistryPolicyResponse":{ "type":"structure", @@ -2169,8 +2174,7 @@ }, "GetRegistryScanningConfigurationRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetRegistryScanningConfigurationResponse":{ "type":"structure", @@ -2282,7 +2286,7 @@ }, "imageSizeInBytes":{ "shape":"ImageSizeInBytes", - "documentation":"

                          The size, in bytes, of the image in the repository.

                          If the image is a manifest list, this will be the max size of all manifests in the list.

                          Starting with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size. Therefore, Docker might return a larger image than the image sizes returned by DescribeImages.

                          " + "documentation":"

                          The size, in bytes, of the image in the repository.

                          If the image is a manifest list, this will be the max size of all manifests in the list.

                          Starting with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size. Therefore, Docker might return a larger image than the image shown in the Amazon Web Services Management Console.

                          " }, "imagePushedAt":{ "shape":"PushTimestamp", @@ -2552,6 +2556,10 @@ "type":"list", "member":{"shape":"ImageTag"} }, + "InUseCount":{ + "type":"long", + "min":0 + }, "InitiateLayerUploadRequest":{ "type":"structure", "required":["repositoryName"], @@ -3627,7 +3635,7 @@ }, "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.

                          " + "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", @@ -4129,8 +4137,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagStatus":{ "type":"string", @@ -4239,8 +4246,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdatePullThroughCacheRuleRequest":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json index ab8cf0e619a..a533cae06a2 100644 --- a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json +++ b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json @@ -67,7 +67,7 @@ {"shape":"AccessDeniedException"}, {"shape":"NamespaceNotFoundException"} ], - "documentation":"

                          Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          Amazon Elastic Inference (EI) is no longer available to customers.

                          In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                          There are two service scheduler strategies available:

                          • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                          • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                          You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

                          If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

                          If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

                          If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

                          When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                          When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

                          " + "documentation":"

                          Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          Amazon Elastic Inference (EI) is no longer available to customers.

                          In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                          There are two service scheduler strategies available:

                          • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                          • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                          You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

                          If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

                          If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

                          If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

                          When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                          When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

                          " }, "CreateTaskSet":{ "name":"CreateTaskSet", @@ -731,7 +731,7 @@ {"shape":"BlockedException"}, {"shape":"ConflictException"} ], - "documentation":"

                          Starts a new task using the specified task definition.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          Amazon Elastic Inference (EI) is no longer available to customers.

                          You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                          Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

                          To manage eventual consistency, you can do the following:

                          • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

                          • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

                          If you get a ConflictException error, the RunTask request could not be processed due to conflicts. The provided clientToken is already in use with a different RunTask request. The resourceIds are the existing task ARNs which are already associated with the clientToken.

                          To fix this issue:

                          • Run RunTask with a unique clientToken.

                          • Run RunTask with the clientToken and the original set of parameters

                          If you get a ClientExceptionerror, the RunTask could not be processed because you use managed scaling and there is a capacity error because the quota of tasks in the PROVISIONING per cluster has been reached. For information about the service quotas, see Amazon ECS service quotas.

                          " + "documentation":"

                          Starts a new task using the specified task definition.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          Amazon Elastic Inference (EI) is no longer available to customers.

                          You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                          Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

                          To manage eventual consistency, you can do the following:

                          • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

                          • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

                          If you get a ConflictException error, the RunTask request could not be processed due to conflicts. The provided clientToken is already in use with a different RunTask request. The resourceIds are the existing task ARNs which are already associated with the clientToken.

                          To fix this issue:

                          • Run RunTask with a unique clientToken.

                          • Run RunTask with the clientToken and the original set of parameters

                          If you get a ClientExceptionerror, the RunTask could not be processed because you use managed scaling and there is a capacity error because the quota of tasks in the PROVISIONING per cluster has been reached. For information about the service quotas, see Amazon ECS service quotas.

                          " }, "StartTask":{ "name":"StartTask", @@ -748,7 +748,7 @@ {"shape":"ClusterNotFoundException"}, {"shape":"UnsupportedFeatureException"} ], - "documentation":"

                          Starts a new task from the specified task definition on the specified container instance or instances.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          Amazon Elastic Inference (EI) is no longer available to customers.

                          Alternatively, you can useRunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          " + "documentation":"

                          Starts a new task from the specified task definition on the specified container instance or instances.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          Amazon Elastic Inference (EI) is no longer available to customers.

                          Alternatively, you can useRunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          " }, "StopServiceDeployment":{ "name":"StopServiceDeployment", @@ -970,7 +970,7 @@ {"shape":"NamespaceNotFoundException"}, {"shape":"UnsupportedFeatureException"} ], - "documentation":"

                          Modifies the parameters of a service.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          For services using the rolling update (ECS) you can update the desired count, deployment configuration, network configuration, load balancers, service registries, enable ECS managed tags option, propagate tags option, task placement constraints and strategies, and task definition. When you update any of these parameters, Amazon ECS starts new tasks with the new configuration.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update your volume configurations and trigger a new deployment. volumeConfigurations is only supported for REPLICA service and not DAEMON service. If you leave volumeConfigurations null, it doesn't trigger a new deployment. For more infomation on volumes, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more information, see CreateDeployment in the CodeDeploy API Reference.

                          For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, health check grace period, enable ECS managed tags option, and propagate tags option, using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, create a new task set For more information, see CreateTaskSet.

                          You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          If you have updated the container image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

                          If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you don't need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

                          You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

                          • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                          • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment. You can use it to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

                          When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout. After this, SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

                          When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic.

                          • Determine which of the container instances in your cluster can support your service's task definition. For example, they have the required CPU, memory, ports, and container instance attributes.

                          • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner even though you can choose a different placement strategy.

                            • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

                            • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

                          When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

                          • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

                          • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

                          You must have a service-linked role when you update any of the following service properties:

                          • loadBalancers,

                          • serviceRegistries

                          For more information about the role see the CreateService request parameter role .

                          " + "documentation":"

                          Modifies the parameters of a service.

                          On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                          For services using the rolling update (ECS) you can update the desired count, deployment configuration, network configuration, load balancers, service registries, enable ECS managed tags option, propagate tags option, task placement constraints and strategies, and task definition. When you update any of these parameters, Amazon ECS starts new tasks with the new configuration.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update your volume configurations and trigger a new deployment. volumeConfigurations is only supported for REPLICA service and not DAEMON service. If you leave volumeConfigurations null, it doesn't trigger a new deployment. For more information on volumes, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more information, see CreateDeployment in the CodeDeploy API Reference.

                          For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, health check grace period, enable ECS managed tags option, and propagate tags option, using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, create a new task set For more information, see CreateTaskSet.

                          You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

                          You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or running a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                          If you have updated the container image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

                          If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you don't need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

                          You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

                          • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

                          • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment. You can use it to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

                          When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout. After this, SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

                          When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic.

                          • Determine which of the container instances in your cluster can support your service's task definition. For example, they have the required CPU, memory, ports, and container instance attributes.

                          • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner even though you can choose a different placement strategy.

                            • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

                            • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

                          When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

                          • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

                          • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

                          " }, "UpdateServicePrimaryTaskSet":{ "name":"UpdateServicePrimaryTaskSet", @@ -1640,7 +1640,7 @@ }, "image":{ "shape":"String", - "documentation":"

                          The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the docker container create command and the IMAGE parameter of docker run.

                          • When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.

                          • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

                          • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

                          • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

                          • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

                          " + "documentation":"

                          The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . For images using tags (repository-url/image:tag), up to 255 characters total are allowed, including letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs (#). For images using digests (repository-url/image@digest), the 255 character limit applies only to the repository URL and image name (everything before the @ sign). The only supported hash function is sha256, and the hash value after sha256: must be exactly 64 characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter maps to Image in the docker container create command and the IMAGE parameter of docker run.

                          • When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.

                          • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

                          • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

                          • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

                          • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

                          " }, "repositoryCredentials":{ "shape":"RepositoryCredentials", @@ -3520,7 +3520,7 @@ "documentation":"

                          The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the startPeriod is off. This value applies only when you specify a command.

                          If a health check succeeds within the startPeriod, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.

                          " } }, - "documentation":"

                          An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the HEALTHCHECK parameter of docker run.

                          The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

                          You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

                          The health check is designed to make sure that your containers survive agent restarts, upgrades, or temporary unavailability.

                          Amazon ECS performs health checks on containers with the default that launched the container instance or the task.

                          The following describes the possible healthStatus values for a container:

                          • HEALTHY-The container health check has passed successfully.

                          • UNHEALTHY-The container health check has failed.

                          • UNKNOWN-The container health check is being evaluated, there's no container health check defined, or Amazon ECS doesn't have the health status of the container.

                          The following describes the possible healthStatus values based on the container health checker status of essential containers in the task with the following priority order (high to low):

                          • UNHEALTHY-One or more essential containers have failed their health check.

                          • UNKNOWN-Any essential container running within the task is in an UNKNOWN state and no other essential containers have an UNHEALTHY state.

                          • HEALTHY-All essential containers within the task have passed their health checks.

                          Consider the following task health example with 2 containers.

                          • If Container1 is UNHEALTHY and Container2 is UNKNOWN, the task health is UNHEALTHY.

                          • If Container1 is UNHEALTHY and Container2 is HEALTHY, the task health is UNHEALTHY.

                          • If Container1 is HEALTHY and Container2 is UNKNOWN, the task health is UNKNOWN.

                          • If Container1 is HEALTHY and Container2 is HEALTHY, the task health is HEALTHY.

                          Consider the following task health example with 3 containers.

                          • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNHEALTHY.

                          • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNHEALTHY.

                          • If Container1 is UNHEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is UNHEALTHY.

                          • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNKNOWN.

                          • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNKNOWN.

                          • If Container1 is HEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is HEALTHY.

                          If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

                          The following are notes about container health check support:

                          • If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this won't cause a container to transition to an UNHEALTHY status. This is by design, to ensure that containers remain running during agent restarts or temporary unavailability. The health check status is the \"last heard from\" response from the Amazon ECS agent, so if the container was considered HEALTHY prior to the disconnect, that status will remain until the agent reconnects and another health check occurs. There are no assumptions made about the status of the container health checks.

                          • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS container agent.

                          • Container health checks are supported for Fargate tasks if you're using platform version 1.1.0 or greater. For more information, see Fargate platform versions.

                          • Container health checks aren't supported for tasks that are part of a service that's configured to use a Classic Load Balancer.

                          For an example of how to specify a task definition with multiple containers where container dependency is specified, see Container dependency in the Amazon Elastic Container Service Developer Guide.

                          " + "documentation":"

                          An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the HEALTHCHECK parameter of docker run.

                          The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

                          You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

                          The health check is designed to make sure that your containers survive agent restarts, upgrades, or temporary unavailability.

                          Amazon ECS performs health checks on containers with the default that launched the container instance or the task.

                          The following describes the possible healthStatus values for a container:

                          • HEALTHY-The container health check has passed successfully.

                          • UNHEALTHY-The container health check has failed.

                          • UNKNOWN-The container health check is being evaluated, there's no container health check defined, or Amazon ECS doesn't have the health status of the container.

                          The following describes the possible healthStatus values based on the container health checker status of essential containers in the task with the following priority order (high to low):

                          • UNHEALTHY-One or more essential containers have failed their health check.

                          • UNKNOWN-Any essential container running within the task is in an UNKNOWN state and no other essential containers have an UNHEALTHY state.

                          • HEALTHY-All essential containers within the task have passed their health checks.

                          Consider the following task health example with 2 containers.

                          • If Container1 is UNHEALTHY and Container2 is UNKNOWN, the task health is UNHEALTHY.

                          • If Container1 is UNHEALTHY and Container2 is HEALTHY, the task health is UNHEALTHY.

                          • If Container1 is HEALTHY and Container2 is UNKNOWN, the task health is UNKNOWN.

                          • If Container1 is HEALTHY and Container2 is HEALTHY, the task health is HEALTHY.

                          Consider the following task health example with 3 containers.

                          • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNHEALTHY.

                          • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNHEALTHY.

                          • If Container1 is UNHEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is UNHEALTHY.

                          • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNKNOWN.

                          • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNKNOWN.

                          • If Container1 is HEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is HEALTHY.

                          If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

                          When a container health check fails for a task that is part of a service, the following process occurs:

                          1. The task is marked as UNHEALTHY.

                          2. The unhealthy task will be stopped, and during the stopping process, it will go through the following states:

                            • DEACTIVATING - In this state, Amazon ECS performs additional steps before stopping the task. For example, for tasks that are part of services configured to use Elastic Load Balancing target groups, target groups will be deregistered in this state.

                            • STOPPING - The task is in the process of being stopped.

                            • DEPROVISIONING - Resources associated with the task are being cleaned up.

                            • STOPPED - The task has been completely stopped.

                          3. After the old task stops, a new task will be launched to ensure service operation, and the new task will go through the following lifecycle:

                            • PROVISIONING - Resources required for the task are being provisioned.

                            • PENDING - The task is waiting to be placed on a container instance.

                            • ACTIVATING - In this state, Amazon ECS pulls container images, creates containers, configures task networking, registers load balancer target groups, and configures service discovery status.

                            • RUNNING - The task is running and performing its work.

                          For more detailed information about task lifecycle states, see Task lifecycle in the Amazon Elastic Container Service Developer Guide.

                          The following are notes about container health check support:

                          • If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this won't cause a container to transition to an UNHEALTHY status. This is by design, to ensure that containers remain running during agent restarts or temporary unavailability. The health check status is the \"last heard from\" response from the Amazon ECS agent, so if the container was considered HEALTHY prior to the disconnect, that status will remain until the agent reconnects and another health check occurs. There are no assumptions made about the status of the container health checks.

                          • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS container agent.

                          • Container health checks are supported for Fargate tasks if you're using platform version 1.1.0 or greater. For more information, see Fargate platform versions.

                          • Container health checks aren't supported for tasks that are part of a service that's configured to use a Classic Load Balancer.

                          For an example of how to specify a task definition with multiple containers where container dependency is specified, see Container dependency in the Amazon Elastic Container Service Developer Guide.

                          " }, "HealthStatus":{ "type":"string", @@ -4468,6 +4468,8 @@ "WINDOWS_SERVER_2004_CORE", "WINDOWS_SERVER_2022_CORE", "WINDOWS_SERVER_2022_FULL", + "WINDOWS_SERVER_2025_CORE", + "WINDOWS_SERVER_2025_FULL", "WINDOWS_SERVER_20H2_CORE", "LINUX" ] @@ -7236,7 +7238,7 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

                          The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on. If you do not specify a cluster, the default cluster is assumed.

                          " + "documentation":"

                          The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on. If you do not specify a cluster, the default cluster is assumed.

                          You can't change the cluster name.

                          " }, "service":{ "shape":"String", @@ -7252,7 +7254,7 @@ }, "capacityProviderStrategy":{ "shape":"CapacityProviderStrategy", - "documentation":"

                          The capacity provider strategy to update the service to use.

                          if the service uses the default capacity provider strategy for the cluster, the service can be updated to use one or more capacity providers as opposed to the default capacity provider strategy. However, when a service is using a capacity provider strategy that's not the default capacity provider strategy, the service can't be updated to use the cluster's default capacity provider strategy.

                          A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

                          If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateClusterCapacityProvider API operation.

                          To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

                          The PutClusterCapacityProvidersAPI operation is used to update the list of available capacity providers for a cluster after the cluster is created.

                          " + "documentation":"

                          The details of a capacity provider strategy. You can set a capacity provider when you create a cluster, run a task, or update a service.

                          When you use Fargate, the capacity providers are FARGATE or FARGATE_SPOT.

                          When you use Amazon EC2, the capacity providers are Auto Scaling groups.

                          You can change capacity providers for rolling deployments and blue/green deployments.

                          The following list provides the valid transitions:

                          • Update the Fargate launch type to an Auto Scaling group capacity provider.

                          • Update the Amazon EC2 launch type to a Fargate capacity provider.

                          • Update the Fargate capacity provider to an Auto Scaling group capacity provider.

                          • Update the Amazon EC2 capacity provider to a Fargate capacity provider.

                          • Update the Auto Scaling group or Fargate capacity provider back to the launch type.

                            Pass an empty list in the capacityProviderStrategy parameter.

                          For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

                          " }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", @@ -7296,7 +7298,7 @@ }, "loadBalancers":{ "shape":"LoadBalancers", - "documentation":"

                          A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the container name, and the container port to access from the load balancer. The container name is as it appears in a container definition.

                          When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks with the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks are running.

                          For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target groups. You can update from a single target group to multiple target groups and from multiple target groups to a single target group.

                          For services that use blue/green deployments, you can update Elastic Load Balancing target groups by using CreateDeployment through CodeDeploy. Note that multiple target groups are not supported for blue/green deployments. For more information see Register multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                          For services that use the external deployment controller, you can add, update, or remove load balancers by using CreateTaskSet. Note that multiple target groups are not supported for external deployments. For more information see Register multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                          You can remove existing loadBalancers by passing an empty list.

                          " + "documentation":"

                          You must have a service-linked role when you update this property

                          A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the container name, and the container port to access from the load balancer. The container name is as it appears in a container definition.

                          When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks with the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks are running.

                          For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target groups. You can update from a single target group to multiple target groups and from multiple target groups to a single target group.

                          For services that use blue/green deployments, you can update Elastic Load Balancing target groups by using CreateDeployment through CodeDeploy. Note that multiple target groups are not supported for blue/green deployments. For more information see Register multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                          For services that use the external deployment controller, you can add, update, or remove load balancers by using CreateTaskSet. Note that multiple target groups are not supported for external deployments. For more information see Register multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                          You can remove existing loadBalancers by passing an empty list.

                          " }, "propagateTags":{ "shape":"PropagateTags", @@ -7304,7 +7306,7 @@ }, "serviceRegistries":{ "shape":"ServiceRegistries", - "documentation":"

                          The details for the service discovery registries to assign to this service. For more information, see Service Discovery.

                          When you add, update, or remove the service registries configuration, Amazon ECS starts new tasks with the updated service registries configuration, and then stops the old tasks when the new tasks are running.

                          You can remove existing serviceRegistries by passing an empty list.

                          " + "documentation":"

                          You must have a service-linked role when you update this property.

                          For more information about the role see the CreateService request parameter role .

                          The details for the service discovery registries to assign to this service. For more information, see Service Discovery.

                          When you add, update, or remove the service registries configuration, Amazon ECS starts new tasks with the updated service registries configuration, and then stops the old tasks when the new tasks are running.

                          You can remove existing serviceRegistries by passing an empty list.

                          " }, "serviceConnectConfiguration":{ "shape":"ServiceConnectConfiguration", 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 d2ddf8171a1..40b255882e9 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 @@ -122,7 +122,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"UnsupportedAvailabilityZoneException"} ], - "documentation":"

                          Creates an Amazon EKS control plane.

                          The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single tenant and unique. It runs on its own set of Amazon EC2 instances.

                          The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the nodes (for example, to support kubectl exec, logs, and proxy data flows).

                          Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.

                          You can use the endpointPublicAccess and endpointPrivateAccess parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

                          You can use the logging parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

                          CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

                          In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more information, see Allowing users to access your cluster and Launching Amazon EKS nodes in the Amazon EKS User Guide.

                          " + "documentation":"

                          Creates an Amazon EKS control plane.

                          The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single tenant and unique. It runs on its own set of Amazon EC2 instances.

                          The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the nodes (for example, to support kubectl exec, logs, and proxy data flows).

                          Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.

                          You can use the endpointPublicAccess and endpointPrivateAccess parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. The endpoint domain name and IP address family depends on the value of the ipFamily for the cluster. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

                          You can use the logging parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

                          CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

                          In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more information, see Allowing users to access your cluster and Launching Amazon EKS nodes in the Amazon EKS User Guide.

                          " }, "CreateEksAnywhereSubscription":{ "name":"CreateEksAnywhereSubscription", @@ -194,7 +194,7 @@ {"shape":"ResourceLimitExceededException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

                          Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.

                          Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

                          If a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.

                          Pod Identity is a simpler method than IAM roles for service accounts, as this method doesn't use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.

                          " + "documentation":"

                          Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to Pods and the credentials are rotated automatically.

                          Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

                          If a Pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the Pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.

                          EKS Pod Identity is a simpler method than IAM roles for service accounts, as this method doesn't use OIDC identity providers. Additionally, you can configure a role for EKS Pod Identity once, and reuse it across clusters.

                          Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent, and may take several seconds to be effective after the initial API call returns successfully. You must design your applications to account for these potential delays. We recommend that you don’t include association create/updates in the critical, high-availability code paths of your application. Instead, make changes in a separate initialization or setup routine that you run less frequently.

                          You can set a target IAM role in the same or a different account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two role assumptions in sequence: first assuming the role in the association that is in this account, then using those credentials to assume the target IAM role. This process provides your Pod with temporary credentials that have the permissions defined in the target role, allowing secure access to resources in another Amazon Web Services account.

                          " }, "DeleteAccessEntry":{ "name":"DeleteAccessEntry", @@ -874,7 +874,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                          Updates an Amazon EKS cluster configuration. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with DescribeUpdate.

                          You can use this operation to do the following actions:

                          • You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the Amazon EKS User Guide .

                            CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

                          • You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

                          • You can also use this API operation to choose different subnets and security groups for the cluster. You must specify at least two subnets that are in different Availability Zones. You can't change which VPC the subnets are from, the subnets must be in the same VPC as the subnets that the cluster was created with. For more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the Amazon EKS User Guide .

                          • You can also use this API operation to enable or disable ARC zonal shift. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

                          • You can also use this API operation to add, change, or remove the configuration in the cluster for EKS Hybrid Nodes. To remove the configuration, use the remoteNetworkConfig key with an object containing both subkeys with empty arrays for each. Here is an inline example: \"remoteNetworkConfig\": { \"remoteNodeNetworks\": [], \"remotePodNetworks\": [] }.

                          Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

                          " + "documentation":"

                          Updates an Amazon EKS cluster configuration. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with DescribeUpdate.

                          You can use this operation to do the following actions:

                          • You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the Amazon EKS User Guide .

                            CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing.

                          • You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .

                          • You can also use this API operation to choose different subnets and security groups for the cluster. You must specify at least two subnets that are in different Availability Zones. You can't change which VPC the subnets are from, the subnets must be in the same VPC as the subnets that the cluster was created with. For more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the Amazon EKS User Guide .

                          • You can also use this API operation to enable or disable ARC zonal shift. If zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

                          • You can also use this API operation to add, change, or remove the configuration in the cluster for EKS Hybrid Nodes. To remove the configuration, use the remoteNetworkConfig key with an object containing both subkeys with empty arrays for each. Here is an inline example: \"remoteNetworkConfig\": { \"remoteNodeNetworks\": [], \"remotePodNetworks\": [] }.

                          Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

                          " }, "UpdateClusterVersion":{ "name":"UpdateClusterVersion", @@ -963,7 +963,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

                          Updates a EKS Pod Identity association. Only the IAM role can be changed; an association can't be moved between clusters, namespaces, or service accounts. If you need to edit the namespace or service account, you need to delete the association and then create a new association with your desired settings.

                          " + "documentation":"

                          Updates a EKS Pod Identity association. In an update, you can change the IAM role, the target IAM role, or disableSessionTags. You must change at least one of these in an update. An association can't be moved between clusters, namespaces, or service accounts. If you need to edit the namespace or service account, you need to delete the association and then create a new association with your desired settings.

                          Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent, and may take several seconds to be effective after the initial API call returns successfully. You must design your applications to account for these potential delays. We recommend that you don’t include association create/updates in the critical, high-availability code paths of your application. Instead, make changes in a separate initialization or setup routine that you run less frequently.

                          You can set a target IAM role in the same or a different account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two role assumptions in sequence: first assuming the role in the association that is in this account, then using those credentials to assume the target IAM role. This process provides your Pod with temporary credentials that have the permissions defined in the target role, allowing secure access to resources in another Amazon Web Services account.

                          " } }, "shapes":{ @@ -1164,7 +1164,7 @@ }, "podIdentityAssociations":{ "shape":"StringList", - "documentation":"

                          An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

                          " + "documentation":"

                          An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service account in a namespace in the cluster.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.

                          " } }, "documentation":"

                          An Amazon EKS add-on. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.

                          " @@ -1280,7 +1280,7 @@ "documentation":"

                          The ARN of an IAM Role.

                          " } }, - "documentation":"

                          A type of Pod Identity Association owned by an Amazon EKS Add-on.

                          Each EKS Pod Identity Association maps a role to a service account in a namespace in the cluster.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

                          " + "documentation":"

                          A type of EKS Pod Identity association owned by an Amazon EKS add-on.

                          Each association maps a role to a service account in a namespace in the cluster.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.

                          " }, "AddonPodIdentityAssociationsList":{ "type":"list", @@ -1291,14 +1291,14 @@ "members":{ "serviceAccount":{ "shape":"String", - "documentation":"

                          The Kubernetes Service Account name used by the addon.

                          " + "documentation":"

                          The Kubernetes Service Account name used by the add-on.

                          " }, "recommendedManagedPolicies":{ "shape":"StringList", - "documentation":"

                          A suggested IAM Policy for the addon.

                          " + "documentation":"

                          A suggested IAM Policy for the add-on.

                          " } }, - "documentation":"

                          Information about how to configure IAM for an Addon.

                          " + "documentation":"

                          Information about how to configure IAM for an add-on.

                          " }, "AddonPodIdentityConfigurationList":{ "type":"list", @@ -1330,7 +1330,7 @@ }, "computeTypes":{ "shape":"StringList", - "documentation":"

                          Indicates the compute type of the addon version.

                          " + "documentation":"

                          Indicates the compute type of the add-on version.

                          " }, "compatibilities":{ "shape":"Compatibilities", @@ -1342,7 +1342,7 @@ }, "requiresIamPermissions":{ "shape":"Boolean", - "documentation":"

                          Indicates if the Addon requires IAM Permissions to operate, such as networking permissions.

                          " + "documentation":"

                          Indicates if the add-on requires IAM Permissions to operate, such as networking permissions.

                          " } }, "documentation":"

                          Information about an add-on version.

                          " @@ -2115,7 +2115,7 @@ }, "podIdentityAssociations":{ "shape":"AddonPodIdentityAssociationsList", - "documentation":"

                          An array of Pod Identity Assocations to be created. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

                          " + "documentation":"

                          An array of EKS Pod Identity associations to be created. Each association maps a Kubernetes service account to an IAM role.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.

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

                          " + "documentation":"

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

                          The default networking add-ons 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", @@ -2420,13 +2420,13 @@ "members":{ "clusterName":{ "shape":"String", - "documentation":"

                          The name of the cluster to create the association in.

                          ", + "documentation":"

                          The name of the cluster to create the EKS Pod Identity association in.

                          ", "location":"uri", "locationName":"name" }, "namespace":{ "shape":"String", - "documentation":"

                          The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

                          " + "documentation":"

                          The name of the Kubernetes namespace inside the cluster to create the EKS Pod Identity association in. The service account and the Pods that use the service account must be in this namespace.

                          " }, "serviceAccount":{ "shape":"String", @@ -2434,7 +2434,7 @@ }, "roleArn":{ "shape":"String", - "documentation":"

                          The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.

                          " + "documentation":"

                          The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the Pods that use this service account.

                          " }, "clientRequestToken":{ "shape":"String", @@ -2444,6 +2444,14 @@ "tags":{ "shape":"TagMap", "documentation":"

                          Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.

                          The following basic restrictions apply to tags:

                          • Maximum number of tags per resource – 50

                          • For each resource, each tag key must be unique, and each tag key can have only one value.

                          • Maximum key length – 128 Unicode characters in UTF-8

                          • Maximum value length – 256 Unicode characters in UTF-8

                          • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

                          • Tag keys and values are case-sensitive.

                          • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

                          " + }, + "disableSessionTags":{ + "shape":"BoxedBoolean", + "documentation":"

                          Disable the automatic sessions tags that are appended by EKS Pod Identity.

                          EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You can use these tags to author a single role that can work across resources by allowing access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches six tags, including tags for cluster name, namespace, and service account name. For the list of tags added by EKS Pod Identity, see List of session tags added by EKS Pod Identity in the Amazon EKS User Guide.

                          Amazon Web Services compresses inline session policies, managed policy ARNs, and session tags into a packed binary format that has a separate limit. If you receive a PackedPolicyTooLarge error indicating the packed binary format has exceeded the size limit, you can attempt to reduce the size by disabling the session tags added by EKS Pod Identity.

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

                          The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This role is assumed by using the EKS Pod Identity association role, then the credentials for this role are injected into the Pod.

                          When you run applications on Amazon EKS, your application might need to access Amazon Web Services resources from a different role that exists in the same or different Amazon Web Services account. For example, your application running in “Account A” might need to access resources, such as Amazon S3 buckets in “Account B” or within “Account A” itself. You can create a association to access Amazon Web Services resources in “Account B” by creating two IAM roles: a role in “Account A” and a role in “Account B” (which can be the same or different account), each with the necessary trust and permission policies. After you provide these roles in the IAM role and Target IAM role fields, EKS will perform role chaining to ensure your application gets the required permissions. This means Role A will assume Role B, allowing your Pods to securely access resources like S3 buckets in the target account.

                          " } } }, @@ -2762,7 +2770,7 @@ }, "podIdentityConfiguration":{ "shape":"AddonPodIdentityConfigurationList", - "documentation":"

                          The Kubernetes service account name used by the addon, and any suggested IAM policies. Use this information to create an IAM Role for the Addon.

                          " + "documentation":"

                          The Kubernetes service account name used by the add-on, and any suggested IAM policies. Use this information to create an IAM Role for the add-on.

                          " } } }, @@ -4975,7 +4983,7 @@ }, "namespace":{ "shape":"String", - "documentation":"

                          The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

                          " + "documentation":"

                          The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the Pods that use the service account must be in this namespace.

                          " }, "serviceAccount":{ "shape":"String", @@ -4983,7 +4991,7 @@ }, "roleArn":{ "shape":"String", - "documentation":"

                          The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.

                          " + "documentation":"

                          The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the Pods that use this service account.

                          " }, "associationArn":{ "shape":"String", @@ -5003,11 +5011,23 @@ }, "modifiedAt":{ "shape":"Timestamp", - "documentation":"

                          The most recent timestamp that the association was modified at

                          " + "documentation":"

                          The most recent timestamp that the association was modified at.

                          " }, "ownerArn":{ "shape":"String", - "documentation":"

                          If defined, the Pod Identity Association is owned by an Amazon EKS Addon.

                          " + "documentation":"

                          If defined, the EKS Pod Identity association is owned by an Amazon EKS add-on.

                          " + }, + "disableSessionTags":{ + "shape":"BoxedBoolean", + "documentation":"

                          The state of the automatic sessions tags. The value of true disables these tags.

                          EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You can use these tags to author a single role that can work across resources by allowing access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches six tags, including tags for cluster name, namespace, and service account name. For the list of tags added by EKS Pod Identity, see List of session tags added by EKS Pod Identity in the Amazon EKS User Guide.

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

                          The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This role is assumed by using the EKS Pod Identity association role, then the credentials for this role are injected into the Pod.

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

                          The unique identifier for this EKS Pod Identity association for a target IAM role. You put this value in the trust policy of the target role, in a Condition to match the sts.ExternalId. This ensures that the target role can only be assumed by this association. This prevents the confused deputy problem. For more information about the confused deputy problem, see The confused deputy problem in the IAM User Guide.

                          If you want to use the same target role with multiple associations or other roles, use independent statements in the trust policy to allow sts:AssumeRole access from each role.

                          " } }, "documentation":"

                          Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

                          " @@ -5025,7 +5045,7 @@ }, "namespace":{ "shape":"String", - "documentation":"

                          The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.

                          " + "documentation":"

                          The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the Pods that use the service account must be in this namespace.

                          " }, "serviceAccount":{ "shape":"String", @@ -5041,7 +5061,7 @@ }, "ownerArn":{ "shape":"String", - "documentation":"

                          If defined, the Pod Identity Association is owned by an Amazon EKS Addon.

                          " + "documentation":"

                          If defined, the association is owned by an Amazon EKS add-on.

                          " } }, "documentation":"

                          The summarized description of the association.

                          Each summary is simplified by removing these fields compared to the full PodIdentityAssociation :

                          • The IAM role: roleArn

                          • The timestamp that the association was created at: createdAt

                          • The most recent timestamp that the association was modified at:. modifiedAt

                          • The tags on the association: tags

                          " @@ -5107,11 +5127,11 @@ "members":{ "remoteNodeNetworks":{ "shape":"RemoteNodeNetworkList", - "documentation":"

                          The list of network CIDRs that can contain hybrid nodes.

                          These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          • Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including Transit Gateway, Site-to-Site VPN, or Direct Connect.

                          • Each host must allow outbound connection to the EKS cluster control plane on TCP ports 443 and 10250.

                          • Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.

                          • Each host must allow TCP and UDP network connectivity to and from other hosts that are running CoreDNS on UDP port 53 for service and pod DNS names.

                          " + "documentation":"

                          The list of network CIDRs that can contain hybrid nodes.

                          These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          • Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including Transit Gateway, Site-to-Site VPN, or Direct Connect.

                          • Each host must allow outbound connection to the EKS cluster control plane on TCP ports 443 and 10250.

                          • Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.

                          • Each host must allow TCP and UDP network connectivity to and from other hosts that are running CoreDNS on UDP port 53 for service and pod DNS names.

                          " }, "remotePodNetworks":{ "shape":"RemotePodNetworkList", - "documentation":"

                          The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

                          These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          " + "documentation":"

                          The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.

                          These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          " } }, "documentation":"

                          The configuration in the cluster for EKS Hybrid Nodes. You can add, change, or remove this configuration after the cluster is created.

                          " @@ -5135,10 +5155,10 @@ "members":{ "cidrs":{ "shape":"StringList", - "documentation":"

                          A network CIDR that can contain hybrid nodes.

                          These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          • Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including Transit Gateway, Site-to-Site VPN, or Direct Connect.

                          • Each host must allow outbound connection to the EKS cluster control plane on TCP ports 443 and 10250.

                          • Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.

                          • Each host must allow TCP and UDP network connectivity to and from other hosts that are running CoreDNS on UDP port 53 for service and pod DNS names.

                          " + "documentation":"

                          A network CIDR that can contain hybrid nodes.

                          These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          • Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including Transit Gateway, Site-to-Site VPN, or Direct Connect.

                          • Each host must allow outbound connection to the EKS cluster control plane on TCP ports 443 and 10250.

                          • Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.

                          • Each host must allow TCP and UDP network connectivity to and from other hosts that are running CoreDNS on UDP port 53 for service and pod DNS names.

                          " } }, - "documentation":"

                          A network CIDR that can contain hybrid nodes.

                          These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          • Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including Transit Gateway, Site-to-Site VPN, or Direct Connect.

                          • Each host must allow outbound connection to the EKS cluster control plane on TCP ports 443 and 10250.

                          • Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.

                          • Each host must allow TCP and UDP network connectivity to and from other hosts that are running CoreDNS on UDP port 53 for service and pod DNS names.

                          " + "documentation":"

                          A network CIDR that can contain hybrid nodes.

                          These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          • Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including Transit Gateway, Site-to-Site VPN, or Direct Connect.

                          • Each host must allow outbound connection to the EKS cluster control plane on TCP ports 443 and 10250.

                          • Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.

                          • Each host must allow TCP and UDP network connectivity to and from other hosts that are running CoreDNS on UDP port 53 for service and pod DNS names.

                          " }, "RemoteNodeNetworkList":{ "type":"list", @@ -5150,10 +5170,10 @@ "members":{ "cidrs":{ "shape":"StringList", - "documentation":"

                          A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                          These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          " + "documentation":"

                          A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                          These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          " } }, - "documentation":"

                          A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                          These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          " + "documentation":"

                          A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                          These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.

                          Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, 10.2.0.0/16).

                          It must satisfy the following requirements:

                          • Each block must be within an IPv4 RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren't supported.

                          • Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.

                          " }, "RemotePodNetworkList":{ "type":"list", @@ -5601,7 +5621,7 @@ }, "podIdentityAssociations":{ "shape":"AddonPodIdentityAssociationsList", - "documentation":"

                          An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association maps a Kubernetes service account to an IAM Role. If this value is left blank, no change. If an empty array is provided, existing Pod Identity Assocations owned by the Addon are deleted.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

                          " + "documentation":"

                          An array of EKS Pod Identity associations to be updated. Each association maps a Kubernetes service account to an IAM role. If this value is left blank, no change. If an empty array is provided, existing associations owned by the add-on are deleted.

                          For more information, see Attach an IAM Role to an Amazon EKS add-on using EKS Pod Identity in the Amazon EKS User Guide.

                          " } } }, @@ -5925,12 +5945,20 @@ }, "roleArn":{ "shape":"String", - "documentation":"

                          The new IAM role to change the

                          " + "documentation":"

                          The new IAM role to change in the association.

                          " }, "clientRequestToken":{ "shape":"String", "documentation":"

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

                          ", "idempotencyToken":true + }, + "disableSessionTags":{ + "shape":"BoxedBoolean", + "documentation":"

                          Disable the automatic sessions tags that are appended by EKS Pod Identity.

                          EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You can use these tags to author a single role that can work across resources by allowing access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches six tags, including tags for cluster name, namespace, and service account name. For the list of tags added by EKS Pod Identity, see List of session tags added by EKS Pod Identity in the Amazon EKS User Guide.

                          Amazon Web Services compresses inline session policies, managed policy ARNs, and session tags into a packed binary format that has a separate limit. If you receive a PackedPolicyTooLarge error indicating the packed binary format has exceeded the size limit, you can attempt to reduce the size by disabling the session tags added by EKS Pod Identity.

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

                          The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This role is assumed by using the EKS Pod Identity association role, then the credentials for this role are injected into the Pod.

                          When you run applications on Amazon EKS, your application might need to access Amazon Web Services resources from a different role that exists in the same or different Amazon Web Services account. For example, your application running in “Account A” might need to access resources, such as buckets in “Account B” or within “Account A” itself. You can create a association to access Amazon Web Services resources in “Account B” by creating two IAM roles: a role in “Account A” and a role in “Account B” (which can be the same or different account), each with the necessary trust and permission policies. After you provide these roles in the IAM role and Target IAM role fields, EKS will perform role chaining to ensure your application gets the required permissions. This means Role A will assume Role B, allowing your Pods to securely access resources like S3 buckets in the target account.

                          " } } }, @@ -5939,7 +5967,7 @@ "members":{ "association":{ "shape":"PodIdentityAssociation", - "documentation":"

                          The full description of the EKS Pod Identity association that was updated.

                          " + "documentation":"

                          The full description of the association that was updated.

                          " } } }, @@ -6026,15 +6054,15 @@ }, "endpointPublicAccess":{ "shape":"BoxedBoolean", - "documentation":"

                          Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

                          " + "documentation":"

                          Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server. The endpoint domain name and IP address family depends on the value of the ipFamily for the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .

                          " }, "endpointPrivateAccess":{ "shape":"BoxedBoolean", - "documentation":"

                          Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

                          " + "documentation":"

                          Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .

                          " }, "publicAccessCidrs":{ "shape":"StringList", - "documentation":"

                          The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and Fargate Pod in the cluster. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

                          " + "documentation":"

                          The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 and additionally ::/0 for dual-stack `IPv6` clusters. If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and Fargate Pod in the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .

                          Note that the public endpoints are dual-stack for only IPv6 clusters that are made after October 2024. You can't add IPv6 CIDR blocks to IPv4 clusters or IPv6 clusters that were made before October 2024.

                          " } }, "documentation":"

                          An object representing the VPC configuration to use for an Amazon EKS cluster.

                          " @@ -6064,11 +6092,11 @@ }, "endpointPrivateAccess":{ "shape":"Boolean", - "documentation":"

                          This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate from within your cluster's VPC use the private VPC endpoint instead of traversing the internet. If this value is disabled and you have nodes or Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint access control in the Amazon EKS User Guide .

                          " + "documentation":"

                          This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate from within your cluster's VPC use the private VPC endpoint instead of traversing the internet. If this value is disabled and you have nodes or Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .

                          " }, "publicAccessCidrs":{ "shape":"StringList", - "documentation":"

                          The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint.

                          " + "documentation":"

                          The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 and additionally ::/0 for dual-stack `IPv6` clusters. If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and Fargate Pod in the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .

                          Note that the public endpoints are dual-stack for only IPv6 clusters that are made after October 2024. You can't add IPv6 CIDR blocks to IPv4 clusters or IPv6 clusters that were made before October 2024.

                          " } }, "documentation":"

                          An object representing an Amazon EKS cluster VPC configuration response.

                          " diff --git a/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json b/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json index b59403799c8..554e5f11ff8 100644 --- a/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json +++ b/tools/code-generation/api-descriptions/elasticfilesystem-2015-02-01.normal.json @@ -31,7 +31,7 @@ {"shape":"AccessPointLimitExceeded"}, {"shape":"ThrottlingException"} ], - "documentation":"

                          Creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in the application's own directory and any subdirectories. To learn more, see Mounting a file system using EFS access points.

                          If multiple requests to create access points on the same file system are sent in quick succession, and the file system is near the limit of 1,000 access points, you may experience a throttling response for these requests. This is to ensure that the file system does not exceed the stated access point limit.

                          This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

                          Access points can be tagged on creation. If tags are specified in the creation action, IAM performs additional authorization on the elasticfilesystem:TagResource action to verify if users have permissions to create tags. Therefore, you must grant explicit permissions to use the elasticfilesystem:TagResource action. For more information, see Granting permissions to tag resources during creation.

                          " + "documentation":"

                          Creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in the application's own directory and any subdirectories. A file system can have a maximum of 10,000 access points unless you request an increase. To learn more, see Mounting a file system using EFS access points.

                          If multiple requests to create access points on the same file system are sent in quick succession, and the file system is near the limit of access points, you may experience a throttling response for these requests. This is to ensure that the file system does not exceed the stated access point limit.

                          This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

                          Access points can be tagged on creation. If tags are specified in the creation action, IAM performs additional authorization on the elasticfilesystem:TagResource action to verify if users have permissions to create tags. Therefore, you must grant explicit permissions to use the elasticfilesystem:TagResource action. For more information, see Granting permissions to tag resources during creation.

                          " }, "CreateFileSystem":{ "name":"CreateFileSystem", @@ -77,7 +77,7 @@ {"shape":"UnsupportedAvailabilityZone"}, {"shape":"AvailabilityZonesMismatch"} ], - "documentation":"

                          Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

                          You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system.

                          You can create only one mount target for a One Zone file system. You must create that mount target in the same Availability Zone in which the file system is located. Use the AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the subnetId associated with the file system's Availability Zone when creating the mount target.

                          For more information, see Amazon EFS: How it Works.

                          To create a mount target for a file system, the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

                          In the request, provide the following:

                          • The file system ID for which you are creating the mount target.

                          • A subnet ID, which determines the following:

                            • The VPC in which Amazon EFS creates the mount target

                            • The Availability Zone in which Amazon EFS creates the mount target

                            • The IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

                          After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

                          Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

                          • Must belong to the same VPC as the subnets of the existing mount targets

                          • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

                          If the request satisfies the requirements, Amazon EFS does the following:

                          • Creates a new mount target in the specified subnet.

                          • Also creates a new network interface in the subnet as follows:

                            • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

                            • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

                            • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

                            • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

                            Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

                          The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

                          We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

                          This operation requires permissions for the following action on the file system:

                          • elasticfilesystem:CreateMountTarget

                          This operation also requires permissions for the following Amazon EC2 actions:

                          • ec2:DescribeSubnets

                          • ec2:DescribeNetworkInterfaces

                          • ec2:CreateNetworkInterface

                          " + "documentation":"

                          Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

                          You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system.

                          You can create only one mount target for a One Zone file system. You must create that mount target in the same Availability Zone in which the file system is located. Use the AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the subnetId associated with the file system's Availability Zone when creating the mount target.

                          For more information, see Amazon EFS: How it Works.

                          To create a mount target for a file system, the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

                          In the request, provide the following:

                          • The file system ID for which you are creating the mount target.

                          • A subnet ID, which determines the following:

                            • The VPC in which Amazon EFS creates the mount target

                            • The Availability Zone in which Amazon EFS creates the mount target

                            • The IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

                          After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

                          Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

                          • Must belong to the same VPC as the subnets of the existing mount targets

                          • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

                          If the request satisfies the requirements, Amazon EFS does the following:

                          • Creates a new mount target in the specified subnet.

                          • Also creates a new network interface in the subnet as follows:

                            • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

                            • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

                            • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

                            • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

                            Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

                          The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

                          We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS pricing. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

                          This operation requires permissions for the following action on the file system:

                          • elasticfilesystem:CreateMountTarget

                          This operation also requires permissions for the following Amazon EC2 actions:

                          • ec2:DescribeSubnets

                          • ec2:DescribeNetworkInterfaces

                          • ec2:CreateNetworkInterface

                          " }, "CreateReplicationConfiguration":{ "name":"CreateReplicationConfiguration", @@ -312,7 +312,7 @@ {"shape":"BadRequest"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

                          Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. Lifecycle management uses the LifecycleConfiguration object to identify when to move files between storage classes. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

                          This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

                          " + "documentation":"

                          Returns the current LifecycleConfiguration object for the specified EFS file system. Lifecycle management uses the LifecycleConfiguration object to identify when to move files between storage classes. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

                          This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

                          " }, "DescribeMountTargetSecurityGroups":{ "name":"DescribeMountTargetSecurityGroups", @@ -789,7 +789,7 @@ }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

                          The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ThroughputMode is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

                          " + "documentation":"

                          The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ThroughputMode is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web ServicesSupport. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

                          " }, "AvailabilityZoneName":{ "shape":"AvailabilityZoneName", @@ -822,11 +822,19 @@ }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

                          Valid IPv4 address within the address range of the specified subnet.

                          " + "documentation":"

                          If the IP address type for the mount target is IPv4, then specify the IPv4 address within the address range of the specified subnet.

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

                          If the IP address type for the mount target is IPv6, then specify the IPv6 address within the address range of the specified subnet.

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

                          Specify the type of IP address of the mount target you are creating. Options are IPv4, dual stack, or IPv6. If you don’t specify an IpAddressType, then IPv4 is used.

                          • IPV4_ONLY – Create mount target with IPv4 only subnet or dual-stack subnet.

                          • DUAL_STACK – Create mount target with dual-stack subnet.

                          • IPV6_ONLY – Create mount target with IPv6 only subnet.

                          Creating IPv6 mount target only ENI in dual-stack subnet is not supported.

                          " }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

                          Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same VPC as subnet specified.

                          " + "documentation":"

                          VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see Amazon VPC Quotas in the Amazon VPC User Guide (see the Security Groups table).

                          " } }, "documentation":"

                          " @@ -1369,7 +1377,7 @@ }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

                          The ID or ARN of the file system to use for the destination. For cross-account replication, this must be an ARN. The file system's replication overwrite replication must be disabled. If no ID or ARN is specified, then a new file system is created.

                          " + "documentation":"

                          The ID or ARN of the file system to use for the destination. For cross-account replication, this must be an ARN. The file system's replication overwrite replication must be disabled. If no ID or ARN is specified, then a new file system is created.

                          When you initially configure replication to an existing file system, Amazon EFS writes data to or removes existing data from the destination file system to match data in the source file system. If you don't want to change data in the destination file system, then you should replicate to a new file system instead. For more information, see https://docs.aws.amazon.com/efs/latest/ug/create-replication.html.

                          " }, "RoleArn":{ "shape":"RoleArn", @@ -1565,7 +1573,7 @@ "members":{ "ReplicationOverwriteProtection":{ "shape":"ReplicationOverwriteProtection", - "documentation":"

                          The status of the file system's replication overwrite protection.

                          • ENABLED – The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ENABLED by default.

                          • DISABLED – The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.

                          • REPLICATING – The file system is being used as the destination file system in a replication configuration. The file system is read-only and is only modified only by EFS replication.

                          If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.

                          " + "documentation":"

                          The status of the file system's replication overwrite protection.

                          • ENABLED – The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ENABLED by default.

                          • DISABLED – The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.

                          • REPLICATING – The file system is being used as the destination file system in a replication configuration. The file system is read-only and is modified only by EFS replication.

                          If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.

                          " } }, "documentation":"

                          Describes the protection on a file system.

                          " @@ -1677,6 +1685,19 @@ "error":{"httpStatusCode":409}, "exception":true }, + "IpAddressType":{ + "type":"string", + "enum":[ + "IPV4_ONLY", + "IPV6_ONLY", + "DUAL_STACK" + ] + }, + "Ipv6Address":{ + "type":"string", + "max":39, + "min":3 + }, "KmsKeyId":{ "type":"string", "max":2048, @@ -1789,7 +1810,7 @@ }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

                          An array of up to five VPC security group IDs.

                          " + "documentation":"

                          An array of VPC security group IDs.

                          " } }, "documentation":"

                          " @@ -1842,6 +1863,10 @@ "shape":"IpAddress", "documentation":"

                          Address at which the file system can be mounted by using the mount target.

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

                          The IPv6 address for the mount target.

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

                          The ID of the network interface that Amazon EFS created when it created the mount target.

                          " @@ -1891,7 +1916,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

                          The calling account has reached the limit for elastic network interfaces for the specific Amazon Web Services Region. Either delete some network interfaces or request that the account quota be raised. For more information, see Amazon VPC Quotas in the Amazon VPC User Guide (see the Network interfaces per Region entry in the Network interfaces table).

                          ", + "documentation":"

                          The calling account has reached the limit for elastic network interfaces for the specific Amazon Web Services Region. Either delete some network interfaces or request that the account quota be raised. For more information, see Amazon VPC Quotas in the Amazon VPC User Guide (see the Network interfaces per Region entry in the Network interfaces table).

                          ", "error":{"httpStatusCode":409}, "exception":true }, @@ -1947,7 +1972,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

                          Returned if the default file system policy is in effect for the EFS file system specified.

                          ", + "documentation":"

                          Returned if no backup is specified for a One Zone EFS file system.

                          ", "error":{"httpStatusCode":404}, "exception":true }, @@ -2226,7 +2251,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

                          Returned if the size of SecurityGroups specified in the request is greater than five.

                          ", + "documentation":"

                          Returned if the number of SecurityGroups specified in the request is greater than the limit, which is based on account quota. Either delete some security groups or request that the account quota be raised. For more information, see Amazon VPC Quotas in the Amazon VPC User Guide (see the Security Groups table).

                          ", "error":{"httpStatusCode":400}, "exception":true }, @@ -2480,7 +2505,7 @@ }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

                          (Optional) The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ThroughputMode is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

                          " + "documentation":"

                          (Optional) The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ThroughputMode is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web ServicesSupport. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

                          " } } }, diff --git a/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json b/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json index 57b11dda53c..3f3be64c4b7 100644 --- a/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json +++ b/tools/code-generation/api-descriptions/emr-serverless-2021-07-13.normal.json @@ -375,6 +375,10 @@ "schedulerConfiguration":{ "shape":"SchedulerConfiguration", "documentation":"

                          The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                          " + }, + "identityCenterConfiguration":{ + "shape":"IdentityCenterConfiguration", + "documentation":"

                          The IAM Identity Center configuration applied to enable trusted identity propagation.

                          " } }, "documentation":"

                          Information about an application. Amazon EMR Serverless uses applications to run jobs.

                          " @@ -547,7 +551,7 @@ }, "shutdownGracePeriodInSeconds":{ "shape":"ShutdownGracePeriodInSeconds", - "documentation":"

                          The duration (in seconds) to wait before forcefully terminating the job after cancellation is requested.

                          ", + "documentation":"

                          The duration in seconds to wait before forcefully terminating the job after cancellation is requested.

                          ", "location":"querystring", "locationName":"shutdownGracePeriodInSeconds" } @@ -749,6 +753,10 @@ "schedulerConfiguration":{ "shape":"SchedulerConfiguration", "documentation":"

                          The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                          " + }, + "identityCenterConfiguration":{ + "shape":"IdentityCenterConfigurationInput", + "documentation":"

                          The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.

                          " } } }, @@ -973,6 +981,40 @@ "min":20, "pattern":"arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)" }, + "IdentityCenterApplicationArn":{ + "type":"string", + "pattern":"arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}" + }, + "IdentityCenterConfiguration":{ + "type":"structure", + "members":{ + "identityCenterInstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

                          The ARN of the IAM Identity Center instance.

                          " + }, + "identityCenterApplicationArn":{ + "shape":"IdentityCenterApplicationArn", + "documentation":"

                          The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.

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

                          The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.

                          " + }, + "IdentityCenterConfigurationInput":{ + "type":"structure", + "members":{ + "identityCenterInstanceArn":{ + "shape":"IdentityCenterInstanceArn", + "documentation":"

                          The ARN of the IAM Identity Center instance.

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

                          Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                          " + }, + "IdentityCenterInstanceArn":{ + "type":"string", + "max":1024, + "min":10, + "pattern":"arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}" + }, "ImageConfiguration":{ "type":"structure", "required":["imageUri"], @@ -1135,6 +1177,7 @@ "shape":"IAMRoleArn", "documentation":"

                          The execution role ARN of the job run.

                          " }, + "executionIamPolicy":{"shape":"JobRunExecutionIamPolicy"}, "state":{ "shape":"JobRunState", "documentation":"

                          The state of the job run.

                          " @@ -2225,6 +2268,10 @@ "schedulerConfiguration":{ "shape":"SchedulerConfiguration", "documentation":"

                          The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                          " + }, + "identityCenterConfiguration":{ + "shape":"IdentityCenterConfigurationInput", + "documentation":"

                          Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                          " } } }, diff --git a/tools/code-generation/api-descriptions/gameliftstreams-2018-05-10.normal.json b/tools/code-generation/api-descriptions/gameliftstreams-2018-05-10.normal.json index 88e5938700d..3c3bd7cdc87 100644 --- a/tools/code-generation/api-descriptions/gameliftstreams-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/gameliftstreams-2018-05-10.normal.json @@ -70,7 +70,7 @@ {"shape":"ValidationException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

                          Creates an application resource in Amazon GameLift Streams, which specifies the application content you want to stream, such as a game build or other software, and configures the settings to run it.

                          Before you create an application, upload your application content files to an Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                          Make sure that your files in the Amazon S3 bucket are the correct version you want to use. As soon as you create a Amazon GameLift Streams application, you cannot change the files at a later time.

                          If the request is successful, Amazon GameLift Streams begins to create an application and sets the status to INITIALIZED. When an application reaches READY status, you can use the application to set up stream groups and start streams. To track application status, call GetApplication.

                          " + "documentation":"

                          Creates an application resource in Amazon GameLift Streams, which specifies the application content you want to stream, such as a game build or other software, and configures the settings to run it.

                          Before you create an application, upload your application content files to an Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                          Make sure that your files in the Amazon S3 bucket are the correct version you want to use. If you change the files at a later time, you will need to create a new Amazon GameLift Streams application.

                          If the request is successful, Amazon GameLift Streams begins to create an application and sets the status to INITIALIZED. When an application reaches READY status, you can use the application to set up stream groups and start streams. To track application status, call GetApplication.

                          " }, "CreateStreamGroup":{ "name":"CreateStreamGroup", @@ -90,7 +90,7 @@ {"shape":"ValidationException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

                          Manage how Amazon GameLift Streams streams your applications by using a stream group. A stream group is a collection of resources that Amazon GameLift Streams uses to stream your application to end-users. When you create a stream group, you specify an application to stream by default and the type of hardware to use, such as the graphical processing unit (GPU). You can also link additional applications, which allows you to stream those applications using this stream group. Depending on your expected users, you also scale the number of concurrent streams you want to support at one time, and in what locations.

                          Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity: always-on and on-demand:

                          • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                             </p> </li> <li> <p> <b>On-demand</b>: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). </p> </li> </ul> <p> To adjust the capacity of any <code>ACTIVE</code> stream group, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html">UpdateStreamGroup</a>. </p> <p> If the request is successful, Amazon GameLift Streams begins creating the stream group. Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to <code>ACTIVATING</code>. When the stream group reaches <code>ACTIVE</code> status, you can start stream sessions by using <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html">StartStreamSession</a>. To check the stream group's status, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html">GetStreamGroup</a>. </p> 
                            ", + "documentation":"

                            Manage how Amazon GameLift Streams streams your applications by using a stream group. A stream group is a collection of resources that Amazon GameLift Streams uses to stream your application to end-users. When you create a stream group, you specify an application to stream by default and the type of hardware to use, such as the graphical processing unit (GPU). You can also link additional applications, which allows you to stream those applications using this stream group. Depending on your expected users, you also scale the number of concurrent streams you want to support at one time, and in what locations.

                            Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

                            • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                            • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                            To adjust the capacity of any ACTIVE stream group, call UpdateStreamGroup.

                            If the request is successful, Amazon GameLift Streams begins creating the stream group. Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to ACTIVATING. When the stream group reaches ACTIVE status, you can start stream sessions by using StartStreamSession. To check the stream group's status, call GetStreamGroup.

                            ", "idempotent":true }, "CreateStreamSessionConnection":{ @@ -363,7 +363,7 @@ {"shape":"ConflictException"}, {"shape":"ValidationException"} ], - "documentation":"

                            This action initiates a new stream session and outputs connection information that clients can use to access the stream. A stream session refers to an instance of a stream that Amazon GameLift Streams transmits from the server to the end-user. A stream session runs on a compute resource, or stream capacity, that a stream group has allocated.

                            To start a new stream session, specify a stream group and application ID, along with the transport protocol and signal request settings to use with the stream. You must have associated at least one application to the stream group before starting a stream session, either when creating the stream group, or by using AssociateApplications.

                            For stream groups that have multiple locations, provide a set of locations ordered by priority by setting Locations. Amazon GameLift Streams will start a single stream session in the next available location. An application must be finished replicating in a remote location before the remote location can host a stream.

                            If the request is successful, Amazon GameLift Streams begins to prepare the stream. Amazon GameLift Streams assigns an Amazon Resource Name (ARN) value to the stream session resource and sets the status to ACTIVATING. During the stream preparation process, Amazon GameLift Streams queues the request and searches for available stream capacity to run the stream. This can result to one of the following:

                            • Amazon GameLift Streams identifies an available compute resource to run the application content and start the stream. When the stream is ready, the stream session's status changes to ACTIVE and includes stream connection information. Provide the connection information to the requesting client to join the stream session.

                            • Amazon GameLift Streams doesn't identify an available resource within a certain time, set by ClientToken. In this case, Amazon GameLift Streams stops processing the request, and the stream session object status changes to ERROR with status reason placementTimeout.

                            " + "documentation":"

                            This action initiates a new stream session and outputs connection information that clients can use to access the stream. A stream session refers to an instance of a stream that Amazon GameLift Streams transmits from the server to the end-user. A stream session runs on a compute resource that a stream group has allocated.

                            To start a new stream session, specify a stream group and application ID, along with the transport protocol and signal request settings to use with the stream. You must have associated at least one application to the stream group before starting a stream session, either when creating the stream group, or by using AssociateApplications.

                            For stream groups that have multiple locations, provide a set of locations ordered by priority using a Locations parameter. Amazon GameLift Streams will start a single stream session in the next available location. An application must be finished replicating in a remote location before the remote location can host a stream.

                            If the request is successful, Amazon GameLift Streams begins to prepare the stream. Amazon GameLift Streams assigns an Amazon Resource Name (ARN) value to the stream session resource and sets the status to ACTIVATING. During the stream preparation process, Amazon GameLift Streams queues the request and searches for available stream capacity to run the stream. This results in one of the following:

                            • Amazon GameLift Streams identifies an available compute resource to run the application content and start the stream. When the stream is ready, the stream session's status changes to ACTIVE and includes stream connection information. Provide the connection information to the requesting client to join the stream session.

                            • Amazon GameLift Streams doesn't identify an available resource within a certain time, set by ClientToken. In this case, Amazon GameLift Streams stops processing the request, and the stream session object status changes to ERROR with status reason placementTimeout.

                            " }, "TagResource":{ "name":"TagResource", @@ -455,7 +455,7 @@ {"shape":"ValidationException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

                            Updates the configuration settings for an Amazon GameLift Streams stream group resource. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.

                            Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity: always-on and on-demand:

                            • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                               </p> </li> <li> <p> <b>On-demand</b>: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). </p> </li> </ul> <p>To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group.</p> 
                              " + "documentation":"

                              Updates the configuration settings for an Amazon GameLift Streams stream group resource. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.

                              Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

                              • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group.

                              " } }, "shapes":{ @@ -484,7 +484,7 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              A stream group to add the specified locations to.

                              This value is a Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Format example: sg-1AB2C3De4.

                              ", + "documentation":"

                              A stream group to add the specified locations to.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" }, @@ -503,7 +503,7 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              This value is the Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Format example: sg-1AB2C3De4.

                              " + "documentation":"

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              " }, "Locations":{ "shape":"LocationStates", @@ -562,7 +562,7 @@ }, "Id":{ "shape":"Id", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              An ID that uniquely identifies the application resource. Example ID: a-9ZY8X7Wv6.

                              " }, "LastUpdatedAt":{ "shape":"Timestamp", @@ -602,11 +602,11 @@ "members":{ "ApplicationIdentifiers":{ "shape":"Identifiers", - "documentation":"

                              A set of applications to associate with the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications to associate with the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              " }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              A stream group to associate to the applications.

                              This value is a Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              ", + "documentation":"

                              A stream group to associate to the applications.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" } @@ -617,11 +617,11 @@ "members":{ "ApplicationArns":{ "shape":"ArnList", - "documentation":"

                              A set of applications that are associated to the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications that are associated to the stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "Arn":{ "shape":"Arn", - "documentation":"

                              A stream group that is associated to the applications.

                              This value is a Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              " + "documentation":"

                              A stream group that is associated to the applications.

                              This value is an Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " } } }, @@ -669,7 +669,7 @@ "members":{ "ApplicationLogOutputUri":{ "shape":"ApplicationLogOutputUri", - "documentation":"

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Application log bucket permission policy in the Amazon GameLift Streams Developer Guide.

                              " }, "ApplicationLogPaths":{ "shape":"FilePaths", @@ -720,7 +720,7 @@ }, "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              " }, "AssociatedStreamGroups":{ "shape":"ArnList", @@ -740,7 +740,7 @@ }, "Id":{ "shape":"Id", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6.

                              " }, "LastUpdatedAt":{ "shape":"Timestamp", @@ -778,7 +778,7 @@ }, "DefaultApplicationIdentifier":{ "shape":"Identifier", - "documentation":"

                              The unique identifier of the Amazon GameLift Streams application that you want to associate to a stream group as the default application. The application must be in READY status. By setting the default application identifier, you will optimize startup performance of this application in your stream group. Once set, this application cannot be disassociated from the stream group, unlike applications that are associated using AssociateApplications. If not set when creating a stream group, you will need to call AssociateApplications later, before you can start streaming.

                              " + "documentation":"

                              The unique identifier of the Amazon GameLift Streams application that you want to associate to a stream group as the default application. The application must be in READY status. By setting the default application identifier, you will optimize startup performance of this application in your stream group. Once set, this application cannot be disassociated from the stream group, unlike applications that are associated using AssociateApplications. If not set when creating a stream group, you will need to call AssociateApplications later, before you can start streaming.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              " }, "Description":{ "shape":"Description", @@ -804,11 +804,11 @@ "members":{ "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              " }, "AssociatedApplications":{ "shape":"ArnList", - "documentation":"

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -863,7 +863,7 @@ }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              The stream group that you want to run this stream session with. The stream group must be in ACTIVE status and have idle stream capacity.

                              ", + "documentation":"

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              The stream group that you want to run this stream session with. The stream group must be in ACTIVE status and have idle stream capacity.

                              ", "location":"uri", "locationName":"Identifier" }, @@ -873,7 +873,7 @@ }, "StreamSessionIdentifier":{ "shape":"Identifier", - "documentation":"

                              Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4. The stream session must be in PENDING_CLIENT_RECONNECTION or ACTIVE status.

                              ", + "documentation":"

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              The stream session must be in PENDING_CLIENT_RECONNECTION or ACTIVE status.

                              ", "location":"uri", "locationName":"StreamSessionIdentifier" } @@ -893,11 +893,11 @@ "members":{ "Arn":{ "shape":"Arn", - "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.

                              " + "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "Id":{ "shape":"Id", - "documentation":"

                              An ID that uniquely identifies the application resource. For example: a-9ZY8X7Wv6.

                              " + "documentation":"

                              An ID that uniquely identifies the application resource. Example ID: a-9ZY8X7Wv6.

                              " } }, "documentation":"

                              Represents the default Amazon GameLift Streams application that a stream group hosts.

                              " @@ -908,7 +908,7 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "location":"uri", "locationName":"Identifier" } @@ -920,7 +920,7 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              The unique ID value of the stream group resource to delete. Format example: sg-1AB2C3De4.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" } @@ -941,11 +941,11 @@ "members":{ "ApplicationIdentifiers":{ "shape":"Identifiers", - "documentation":"

                              A set of applications that you want to disassociate from the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications that you want to disassociate from the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              " }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              A stream group to disassociate these applications from.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              ", + "documentation":"

                              A stream group to disassociate these applications from.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" } @@ -956,11 +956,11 @@ "members":{ "ApplicationArns":{ "shape":"ArnList", - "documentation":"

                              A set of applications that are disassociated from this stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications that are disassociated from this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "Arn":{ "shape":"Arn", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              " + "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " } } }, @@ -992,7 +992,7 @@ "members":{ "OutputUri":{ "shape":"OutputUri", - "documentation":"

                              The S3 bucket URI where Amazon GameLift Streams uploaded the set of compressed exported files for a stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              Example 1: If you provide an S3 URI called s3://MyBucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

                              Example 2: If you provide an S3 URI called s3://MyBucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://MyBucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              " + "documentation":"

                              The S3 bucket URI where Amazon GameLift Streams uploaded the set of compressed exported files for a stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              Example 1: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

                              Example 2: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              " }, "Status":{ "shape":"ExportFilesStatus", @@ -1028,17 +1028,17 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" }, "OutputUri":{ "shape":"OutputUri", - "documentation":"

                              The S3 bucket URI where Amazon GameLift Streams uploads the set of compressed exported files for this stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              Example 1: If you provide an S3 URI called s3://MyBucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

                              Example 2: If you provide an S3 URI called s3://MyBucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://MyBucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              " + "documentation":"

                              The S3 bucket URI where Amazon GameLift Streams uploads the set of compressed exported files for this stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              Example 1: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

                              Example 2: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              " }, "StreamSessionIdentifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Format example: 1AB2C3De4.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              ", "location":"uri", "locationName":"StreamSessionIdentifier" } @@ -1073,7 +1073,7 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "location":"uri", "locationName":"Identifier" } @@ -1097,11 +1097,11 @@ }, "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              " }, "AssociatedStreamGroups":{ "shape":"ArnList", - "documentation":"

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4.

                              " + "documentation":"

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -1117,7 +1117,7 @@ }, "Id":{ "shape":"Id", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6.

                              " }, "LastUpdatedAt":{ "shape":"Timestamp", @@ -1147,7 +1147,7 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              The unique ID value of the stream group resource to retrieve. Format example: sg-1AB2C3De4.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" } @@ -1159,11 +1159,11 @@ "members":{ "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              " }, "AssociatedApplications":{ "shape":"ArnList", - "documentation":"

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -1212,13 +1212,13 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              The stream group that runs this stream session.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              ", + "documentation":"

                              The stream group that runs this stream session.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" }, "StreamSessionIdentifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              ", "location":"uri", "locationName":"StreamSessionIdentifier" } @@ -1237,11 +1237,11 @@ }, "ApplicationArn":{ "shape":"Arn", - "documentation":"

                              The application streaming in this session.

                              This value is an Amazon Resource Name (ARN) that uniquely identifies the application resource. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.

                              " + "documentation":"

                              The application streaming in this session.

                              This value is an Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "Arn":{ "shape":"Arn", - "documentation":"

                              The Amazon Resource Name (ARN) assigned to the stream session resource. When combined with the stream group ARN, this value uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that's assigned to a stream session resource. When combined with the stream group resource ID, this value uniquely identifies the stream session across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream group resource ID]/[stream session resource ID].

                              " }, "ConnectionTimeoutSeconds":{ "shape":"ConnectionTimeoutSeconds", @@ -1265,7 +1265,7 @@ }, "Location":{ "shape":"LocationName", - "documentation":"

                              The location where Amazon GameLift Streams is hosting the stream session.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              The location where Amazon GameLift Streams is hosting the stream session.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "LogFileLocationUri":{ "shape":"FileLocationUri", @@ -1297,7 +1297,7 @@ }, "StreamGroupId":{ "shape":"Id", - "documentation":"

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session.

                              " + "documentation":"

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4.

                              " }, "UserId":{ "shape":"UserId", @@ -1456,7 +1456,7 @@ }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              The unique identifier of a Amazon GameLift Streams stream group to retrieve the stream session for. You can use either the stream group ID or the Amazon Resource Name (ARN).

                              ", + "documentation":"

                              The unique identifier of a Amazon GameLift Streams stream group to retrieve the stream session for. You can use either the stream group ID or the Amazon Resource Name (ARN).

                              ", "location":"uri", "locationName":"Identifier" }, @@ -1499,7 +1499,7 @@ "members":{ "ResourceArn":{ "shape":"Arn", - "documentation":"

                              The (Amazon Resource Name (ARN) that you want to retrieve tags for. To get a Amazon GameLift Streams resource ARN, call a List or Get operation for the resource.

                              ", + "documentation":"

                              The Amazon Resource Name (ARN) that you want to retrieve tags for. To get an Amazon GameLift Streams resource ARN, call a List or Get operation for the resource.

                              ", "location":"uri", "locationName":"ResourceArn" } @@ -1520,15 +1520,15 @@ "members":{ "AlwaysOnCapacity":{ "shape":"AlwaysOnCapacity", - "documentation":"

                              The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              " + "documentation":"

                              The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              " }, "LocationName":{ "shape":"LocationName", - "documentation":"

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "OnDemandCapacity":{ "shape":"OnDemandCapacity", - "documentation":"

                              The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              " + "documentation":"

                              The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              " } }, "documentation":"

                              Configuration settings that define a stream group's stream capacity for a location. When configuring a location for the first time, you must specify a numeric value for at least one of the two capacity types. To update the capacity for an existing stream group, call UpdateStreamGroup. To add a new location and specify its capacity, call AddStreamGroupLocations.

                              " @@ -1559,7 +1559,7 @@ }, "AlwaysOnCapacity":{ "shape":"AlwaysOnCapacity", - "documentation":"

                              The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              " + "documentation":"

                              The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              " }, "IdleCapacity":{ "shape":"CapacityValue", @@ -1567,11 +1567,11 @@ }, "LocationName":{ "shape":"LocationName", - "documentation":"

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "OnDemandCapacity":{ "shape":"OnDemandCapacity", - "documentation":"

                              The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              " + "documentation":"

                              The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              " }, "RequestedCapacity":{ "shape":"CapacityValue", @@ -1625,13 +1625,13 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              A stream group to remove the specified locations from.

                              This value is a Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Format example: sg-1AB2C3De4.

                              ", + "documentation":"

                              A stream group to remove the specified locations from.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" }, "Locations":{ "shape":"LocationsList", - "documentation":"

                              A set of locations to remove this stream group.

                              A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              ", + "documentation":"

                              A set of locations to remove this stream group.

                              A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              ", "location":"querystring", "locationName":"locations" } @@ -1642,7 +1642,7 @@ "members":{ "Location":{ "shape":"LocationName", - "documentation":"

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "Status":{ "shape":"ReplicationStatusType", @@ -1759,7 +1759,7 @@ }, "ApplicationIdentifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              " }, "ClientToken":{ "shape":"ClientToken", @@ -1776,13 +1776,13 @@ }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              The stream group to run this stream session with.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              ", + "documentation":"

                              The stream group to run this stream session with.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" }, "Locations":{ "shape":"LocationList", - "documentation":"

                              A list of locations, in order of priority, where you want Amazon GameLift Streams to start a stream from. Amazon GameLift Streams selects the location with the next available capacity to start a single stream session in. If this value is empty, Amazon GameLift Streams attempts to start a stream session in the primary location.

                              This value is A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              A list of locations, in order of priority, where you want Amazon GameLift Streams to start a stream from. Amazon GameLift Streams selects the location with the next available capacity to start a single stream session in. If this value is empty, Amazon GameLift Streams attempts to start a stream session in the primary location.

                              This value is A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "Protocol":{ "shape":"Protocol", @@ -1794,7 +1794,7 @@ }, "SignalRequest":{ "shape":"SignalRequest", - "documentation":"

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. The offer is a very long JSON string. Provide the string as a text value in quotes.

                              " + "documentation":"

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. Typically, the offer is a very long JSON string. Provide the string as a text value in quotes.

                              Amazon GameLift Streams also supports setting the field to \"NO_CLIENT_CONNECTION\". This will create a session without needing any browser request or Web SDK integration. The session starts up as usual and waits for a reconnection from a browser, which is accomplished using CreateStreamSessionConnection.

                              " }, "UserId":{ "shape":"UserId", @@ -1815,11 +1815,11 @@ }, "ApplicationArn":{ "shape":"Arn", - "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.

                              " + "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "Arn":{ "shape":"Arn", - "documentation":"

                              The Amazon Resource Name (ARN) assigned to the stream session resource. When combined with the stream group ARN, this value uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that's assigned to a stream session resource. When combined with the stream group resource ID, this value uniquely identifies the stream session across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream group resource ID]/[stream session resource ID].

                              " }, "ConnectionTimeoutSeconds":{ "shape":"ConnectionTimeoutSeconds", @@ -1843,7 +1843,7 @@ }, "Location":{ "shape":"LocationName", - "documentation":"

                              The location where Amazon GameLift Streams is streaming your application from.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              The location where Amazon GameLift Streams is streaming your application from.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "LogFileLocationUri":{ "shape":"FileLocationUri", @@ -1875,7 +1875,7 @@ }, "StreamGroupId":{ "shape":"Id", - "documentation":"

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session.

                              " + "documentation":"

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4.

                              " }, "UserId":{ "shape":"UserId", @@ -1931,7 +1931,7 @@ "members":{ "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              " + "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -1947,7 +1947,7 @@ }, "Id":{ "shape":"Id", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              " + "documentation":"

                              An ID that uniquely identifies the stream group resource. Example ID: sg-1AB2C3De4.

                              " }, "LastUpdatedAt":{ "shape":"Timestamp", @@ -1995,11 +1995,11 @@ "members":{ "ApplicationArn":{ "shape":"Arn", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "Arn":{ "shape":"Arn", - "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4. .

                              " + "documentation":"

                              An Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -2015,7 +2015,7 @@ }, "Location":{ "shape":"LocationName", - "documentation":"

                              The location where Amazon GameLift Streams is hosting the stream session.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              The location where Amazon GameLift Streams is hosting the stream session.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " }, "Protocol":{ "shape":"Protocol", @@ -2057,7 +2057,7 @@ "members":{ "ResourceArn":{ "shape":"Arn", - "documentation":"

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to apply tags to.

                              ", + "documentation":"

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to apply tags to.

                              ", "location":"uri", "locationName":"ResourceArn" }, @@ -2093,13 +2093,13 @@ "members":{ "Identifier":{ "shape":"Identifier", - "documentation":"

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              The stream group that runs this stream session.

                              ", + "documentation":"

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              The stream group that runs this stream session.

                              ", "location":"uri", "locationName":"Identifier" }, "StreamSessionIdentifier":{ "shape":"Identifier", - "documentation":"

                              Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4.

                              ", + "documentation":"

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              ", "location":"uri", "locationName":"StreamSessionIdentifier" } @@ -2132,7 +2132,7 @@ "members":{ "ResourceArn":{ "shape":"Arn", - "documentation":"

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to remove tags from.

                              ", + "documentation":"

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to remove tags from.

                              ", "location":"uri", "locationName":"ResourceArn" }, @@ -2155,7 +2155,7 @@ "members":{ "ApplicationLogOutputUri":{ "shape":"ApplicationLogOutputUri", - "documentation":"

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                              " + "documentation":"

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Application log bucket permission policy in the Amazon GameLift Streams Developer Guide.

                              " }, "ApplicationLogPaths":{ "shape":"FilePaths", @@ -2167,7 +2167,7 @@ }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "location":"uri", "locationName":"Identifier" } @@ -2191,11 +2191,11 @@ }, "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              " }, "AssociatedStreamGroups":{ "shape":"ArnList", - "documentation":"

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4.

                              " + "documentation":"

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -2211,7 +2211,7 @@ }, "Id":{ "shape":"Id", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.

                              " + "documentation":"

                              A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6.

                              " }, "LastUpdatedAt":{ "shape":"Timestamp", @@ -2245,7 +2245,7 @@ }, "Identifier":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.

                              ", + "documentation":"

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "location":"uri", "locationName":"Identifier" }, @@ -2261,11 +2261,11 @@ "members":{ "Arn":{ "shape":"Identifier", - "documentation":"

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              " + "documentation":"

                              The Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              " }, "AssociatedApplications":{ "shape":"ArnList", - "documentation":"

                              A set of applications that this stream group is associated with. You can stream any of these applications with the stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.

                              " + "documentation":"

                              A set of applications that this stream group is associated with. You can stream any of these applications with the stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " }, "CreatedAt":{ "shape":"Timestamp", @@ -2329,5 +2329,5 @@ }, "WebSdkProtocolUrl":{"type":"string"} }, - "documentation":"

                              Amazon GameLift Streams

                              Amazon GameLift Streams provides a global cloud solution for content streaming experiences. Use Amazon GameLift Streams tools to upload and configure content for streaming, deploy and scale computing resources to host streams, and manage stream session placement to meet customer demand.

                              This Reference Guide describes the Amazon GameLift Streams service API. You can use the API through the Amazon Web Services SDK, the Command Line Interface (AWS CLI), or by making direct REST calls through HTTPS.

                              See the Amazon GameLift Streams Developer Guide for more information on how Amazon GameLift Streams works and how to work with it.

                              " + "documentation":"

                              Amazon GameLift Streams

                              Amazon GameLift Streams provides a global cloud solution for content streaming experiences. Use Amazon GameLift Streams tools to upload and configure content for streaming, deploy and scale computing resources to host streams, and manage stream session placement to meet customer demand.

                              This Reference Guide describes the Amazon GameLift Streams service API. You can use the API through the Amazon Web Services SDK, the Command Line Interface (CLI), or by making direct REST calls through HTTPS.

                              See the Amazon GameLift Streams Developer Guide for more information on how Amazon GameLift Streams works and how to work with it.

                              " } diff --git a/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json b/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json index cfd5e79babc..b71dce1abc4 100644 --- a/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json +++ b/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json @@ -28,7 +28,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              The autocomplete operation speeds up and increases the accuracy of entering addresses by providing a list of address candidates matching a partially entered address. Results are sorted from most to least matching. Filtering and biasing can be used to increase the relevance of the results if additional search context is known

                              " + "documentation":"

                              Autocomplete completes potential places and addresses as the user types, based on the partial input. The API enhances the efficiency and accuracy of address by completing query based on a few entered keystrokes. It helps you by completing partial queries with valid address completion. Also, the API supports the filtering of results based on geographic location, country, or specific place types, and can be tailored using optional parameters like language and political views.

                              " }, "Geocode":{ "name":"Geocode", @@ -45,7 +45,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              The Geocode action allows you to obtain coordinates, addresses, and other information about places.

                              " + "documentation":"

                              Geocode converts a textual address or place into geographic coordinates. You can obtain geographic coordinates, address component, and other related information. It supports flexible queries, including free-form text or structured queries with components like street names, postal codes, and regions. The Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                              " }, "GetPlace":{ "name":"GetPlace", @@ -62,7 +62,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              Finds a place by its unique ID. A PlaceId is returned by other place operations.

                              " + "documentation":"

                              GetPlace finds a place by its unique ID. A PlaceId is returned by other place operations.

                              " }, "ReverseGeocode":{ "name":"ReverseGeocode", @@ -79,7 +79,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              The ReverseGeocode operation allows you to retrieve addresses and place information from coordinates.

                              " + "documentation":"

                              ReverseGeocode converts geographic coordinates into a human-readable address or place. You can obtain address component, and other related information such as place type, category, street information. The Reverse Geocode API supports filtering to on place type so that you can refine result based on your need. Also, The Reverse Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                              " }, "SearchNearby":{ "name":"SearchNearby", @@ -96,7 +96,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              Search nearby a specified location.

                              " + "documentation":"

                              SearchNearby queries for points of interest within a radius from a central coordinates, returning place results with optional filters such as categories, business chains, food types and more. The API returns details such as a place name, address, phone, category, food type, contact, opening hours. Also, the API can return phonemes, time zones and more based on requested parameters.

                              " }, "SearchText":{ "name":"SearchText", @@ -113,7 +113,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              Use the SearchText operation to search for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

                              " + "documentation":"

                              SearchText searches for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

                              " }, "Suggest":{ "name":"Suggest", @@ -130,7 +130,7 @@ {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], - "documentation":"

                              The Suggest operation finds addresses or place candidates based on incomplete or misspelled queries. You then select the best query to submit based on the returned results.

                              " + "documentation":"

                              Suggest provides intelligent predictions or recommendations based on the user's input or context, such as relevant places, points of interest, query terms or search category. It is designed to help users find places or point of interests candidates or identify a follow on query based on incomplete or misspelled queries. It returns a list of possible matches or refinements that can be used to formulate a more accurate query. Users can select the most appropriate suggestion and use it for further searching. The API provides options for filtering results by location and other attributes, and allows for additional features like phonemes and timezones. The response includes refined query terms and detailed place information.

                              " } }, "shapes":{ @@ -170,7 +170,7 @@ "type":"structure", "members":{ "Restricted":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              The restriction.

                              " }, "Categories":{ @@ -207,7 +207,7 @@ }, "Locality":{ "shape":"AddressLocalityString", - "documentation":"

                              The locality or city of the address.

                              Example: Vancouver.

                              " + "documentation":"

                              The city or locality of the address.

                              Example: Vancouver.

                              " }, "District":{ "shape":"AddressDistrictString", @@ -219,7 +219,7 @@ }, "PostalCode":{ "shape":"AddressPostalCodeString", - "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should posses.

                              " + "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                              " }, "Block":{ "shape":"AddressBlockString", @@ -230,7 +230,7 @@ "documentation":"

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              " }, "Intersection":{ - "shape":"IntersectionList", + "shape":"IntersectionStreetList", "documentation":"

                              Name of the streets in the intersection.

                              Example: [\"Friedrichstraße\",\"Unter den Linden\"]

                              " }, "Street":{ @@ -248,6 +248,10 @@ "Building":{ "shape":"AddressBuildingString", "documentation":"

                              The name of the building at the address.

                              " + }, + "SecondaryAddressComponents":{ + "shape":"SecondaryAddressComponentList", + "documentation":"

                              Components that correspond to secondary identifiers on an Address. Secondary address components include information such as Suite or Unit Number, Building, or Floor.

                              " } }, "documentation":"

                              The place address.

                              " @@ -255,17 +259,20 @@ "AddressAddressNumberString":{ "type":"string", "max":10, - "min":0 + "min":0, + "sensitive":true }, "AddressBlockString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressBuildingString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressComponentMatchScores":{ "type":"structure", @@ -296,7 +303,7 @@ }, "PostalCode":{ "shape":"MatchScore", - "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should posses.

                              " + "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                              " }, "Block":{ "shape":"MatchScore", @@ -317,6 +324,10 @@ "Building":{ "shape":"MatchScore", "documentation":"

                              The name of the building at the address.

                              " + }, + "SecondaryAddressComponents":{ + "shape":"SecondaryAddressComponentMatchScoreList", + "documentation":"

                              Match scores for the secondary address components in the result.

                              " } }, "documentation":"

                              Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                              " @@ -372,37 +383,44 @@ "AddressDistrictString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressLabelString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressLocalityString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressPostalCodeString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "AddressStreetString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressSubBlockString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "AddressSubDistrictString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "ApiKey":{ "type":"string", @@ -457,11 +475,11 @@ }, "Block":{ "shape":"HighlightList", - "documentation":"

                              Name of the block. Example: Sunny Mansion 203 block: 2 Chome

                              " + "documentation":"

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 Chome

                              " }, "SubBlock":{ "shape":"HighlightList", - "documentation":"

                              Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                              " + "documentation":"

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              " }, "Intersection":{ "shape":"IntersectionHighlightsList", @@ -469,7 +487,7 @@ }, "PostalCode":{ "shape":"HighlightList", - "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                              " + "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                              " }, "AddressNumber":{ "shape":"HighlightList", @@ -499,7 +517,7 @@ "documentation":"

                              The included place types.

                              " } }, - "documentation":"

                              Autocomplete structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              Autocomplete structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "AutocompleteFilterPlaceType":{ "type":"string", @@ -538,7 +556,7 @@ "members":{ "QueryText":{ "shape":"AutocompleteRequestQueryTextString", - "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              " + "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              " }, "MaxResults":{ "shape":"AutocompleteRequestMaxResultsInteger", @@ -550,11 +568,11 @@ }, "Filter":{ "shape":"AutocompleteFilter", - "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "PostalCodeMode":{ "shape":"PostalCodeMode", - "documentation":"

                              The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value cityLookup, all cities in that postal code are returned.

                              " + "documentation":"

                              The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value EnumerateSpannedLocalities, all cities in that postal code are returned.

                              " }, "AdditionalFeatures":{ "shape":"AutocompleteAdditionalFeatureList", @@ -566,7 +584,7 @@ }, "PoliticalView":{ "shape":"CountryCode", - "documentation":"

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              " + "documentation":"

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              The following political views are currently supported:

                              • ARG: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands

                              • EGY: Egypt's view on Bir Tawil

                              • IND: India's view on Gilgit-Baltistan

                              • KEN: Kenya's view on the Ilemi Triangle

                              • MAR: Morocco's view on Western Sahara

                              • RUS: Russia's view on Crimea

                              • SDN: Sudan's view on the Halaib Triangle

                              • SRB: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                              • SUR: Suriname's view on the Courantyne Headwaters and Lawa Headwaters

                              • SYR: Syria's view on the Golan Heights

                              • TUR: Turkey's view on Cyprus and Northern Cyprus

                              • TZA: Tanzania's view on Lake Malawi

                              • URY: Uruguay's view on Rincon de Artigas

                              • VNM: Vietnam's view on the Paracel Islands and Spratly Islands

                              " }, "IntendedUse":{ "shape":"AutocompleteIntendedUse", @@ -598,7 +616,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -659,17 +677,15 @@ }, "AutocompleteResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "AutocompleteResultItemTitleString":{ "type":"string", "max":200, - "min":0 - }, - "Boolean":{ - "type":"boolean", - "box":true + "min":0, + "sensitive":true }, "BoundingBox":{ "type":"list", @@ -695,7 +711,8 @@ "BusinessChainIdString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "BusinessChainList":{ "type":"list", @@ -706,7 +723,8 @@ "BusinessChainNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "Category":{ "type":"structure", @@ -728,7 +746,7 @@ "documentation":"

                              Localized name of the category type.

                              " }, "Primary":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean which indicates if this category is the primary offered by the place.

                              " } }, @@ -737,7 +755,8 @@ "CategoryIdString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "CategoryList":{ "type":"list", @@ -748,26 +767,28 @@ "CategoryLocalizedNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "CategoryNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "ComponentMatchScores":{ "type":"structure", "members":{ "Title":{ "shape":"MatchScore", - "documentation":"

                              Indicates the starting and ending index of the title in the text query that match the found title.

                              " + "documentation":"

                              Indicates the match score of the title in the text query that match the found title.

                              " }, "Address":{ "shape":"AddressComponentMatchScores", "documentation":"

                              The place's address.

                              " } }, - "documentation":"

                              Indicates how well the input matches the returned element. It is equal to 1 if all input tokens are recognized and matched to the title in the result.

                              " + "documentation":"

                              Indicates how well the returned title and address components matches the input TextQuery. For each component a score is provied with 1 indicating all tokens were matched and 0 indicating no tokens were matched.

                              " }, "ContactDetails":{ "type":"structure", @@ -790,7 +811,8 @@ "ContactDetailsLabelString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "ContactDetailsList":{ "type":"list", @@ -801,7 +823,8 @@ "ContactDetailsValueString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "Contacts":{ "type":"structure", @@ -847,19 +870,22 @@ "type":"string", "max":3, "min":2, - "pattern":"([A-Z]{2}|[A-Z]{3})" + "pattern":"([A-Z]{2}|[A-Z]{3})", + "sensitive":true }, "CountryCode2":{ "type":"string", "max":2, "min":2, - "pattern":"[A-Z]{2}" + "pattern":"[A-Z]{2}", + "sensitive":true }, "CountryCode3":{ "type":"string", "max":3, "min":3, - "pattern":"[A-Z]{3}" + "pattern":"[A-Z]{3}", + "sensitive":true }, "CountryCodeList":{ "type":"list", @@ -884,12 +910,14 @@ "CountryNameString":{ "type":"string", "max":100, - "min":0 + "min":0, + "sensitive":true }, "DistanceMeters":{ "type":"long", "max":4294967295, - "min":0 + "min":0, + "sensitive":true }, "Double":{ "type":"double", @@ -904,7 +932,8 @@ "FilterBusinessChainListMemberString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FilterCategoryList":{ "type":"list", @@ -915,7 +944,8 @@ "FilterCategoryListMemberString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FilterCircle":{ "type":"structure", @@ -940,7 +970,8 @@ "FilterCircleRadiusLong":{ "type":"long", "max":21000000, - "min":1 + "min":1, + "sensitive":true }, "FilterFoodTypeList":{ "type":"list", @@ -951,7 +982,8 @@ "FilterFoodTypeListMemberString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FoodType":{ "type":"structure", @@ -966,7 +998,7 @@ "documentation":"

                              The Food Type Id.

                              " }, "Primary":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean which indicates if this food type is the primary offered by the place. For example, if a location serves fast food, but also dessert, he primary would likely be fast food.

                              " } }, @@ -975,7 +1007,8 @@ "FoodTypeIdString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "FoodTypeList":{ "type":"list", @@ -986,13 +1019,16 @@ "FoodTypeLocalizedNameString":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "GeocodeAdditionalFeature":{ "type":"string", "enum":[ "TimeZone", - "Access" + "Access", + "SecondaryAddresses", + "Intersections" ] }, "GeocodeAdditionalFeatureList":{ @@ -1013,7 +1049,7 @@ "documentation":"

                              The included place types.

                              " } }, - "documentation":"

                              Geocode structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              Geocode structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "GeocodeFilterPlaceType":{ "type":"string", @@ -1024,7 +1060,8 @@ "Street", "PointAddress", "InterpolatedAddress" - ] + ], + "sensitive":true }, "GeocodeFilterPlaceTypeList":{ "type":"list", @@ -1039,6 +1076,78 @@ "Storage" ] }, + "GeocodeParsedQuery":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The localized display name of this result item based on request parameter language.

                              " + }, + "Address":{ + "shape":"GeocodeParsedQueryAddressComponents", + "documentation":"

                              The place address.

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

                              Parsed components in the provided QueryText.

                              " + }, + "GeocodeParsedQueryAddressComponents":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The alpha-2 or alpha-3 character code for the country that the results will be present in.

                              " + }, + "Region":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The region or state results should be present in.

                              Example: North Rhine-Westphalia.

                              " + }, + "SubRegion":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The sub-region or county for which results should be present in.

                              " + }, + "Locality":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The city or locality of the address.

                              Example: Vancouver.

                              " + }, + "District":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The district or division of a city the results should be present in.

                              " + }, + "SubDistrict":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              A subdivision of a district.

                              Example: Minden-Lübbecke.

                              " + }, + "PostalCode":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                              " + }, + "Block":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 Chome

                              " + }, + "SubBlock":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              " + }, + "Street":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The name of the street results should be present in.

                              " + }, + "AddressNumber":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The number that identifies an address within a street.

                              " + }, + "Building":{ + "shape":"ParsedQueryComponentList", + "documentation":"

                              The name of the building at the address.

                              " + }, + "SecondaryAddressComponents":{ + "shape":"ParsedQuerySecondaryAddressComponentList", + "documentation":"

                              Parsed secondary address components from the provided query text.

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

                              Parsed address components in the provided QueryText.

                              " + }, "GeocodeQueryComponents":{ "type":"structure", "members":{ @@ -1056,7 +1165,7 @@ }, "Locality":{ "shape":"GeocodeQueryComponentsLocalityString", - "documentation":"

                              City or locality results should be present in.

                              Example: Vancouver.

                              " + "documentation":"

                              The city or locality results should be present in.

                              Example: Vancouver.

                              " }, "District":{ "shape":"GeocodeQueryComponentsDistrictString", @@ -1072,7 +1181,7 @@ }, "PostalCode":{ "shape":"GeocodeQueryComponentsPostalCodeString", - "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                              " + "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                              " } }, "documentation":"

                              A structured free text query allows you to search for places by the name or text representation of specific properties of the place.

                              " @@ -1138,7 +1247,7 @@ "members":{ "QueryText":{ "shape":"GeocodeRequestQueryTextString", - "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              " + "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              " }, "QueryComponents":{"shape":"GeocodeQueryComponents"}, "MaxResults":{ @@ -1151,7 +1260,7 @@ }, "Filter":{ "shape":"GeocodeFilter", - "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "AdditionalFeatures":{ "shape":"GeocodeAdditionalFeatureList", @@ -1167,7 +1276,7 @@ }, "IntendedUse":{ "shape":"GeocodeIntendedUse", - "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an Geocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " }, "Key":{ "shape":"ApiKey", @@ -1195,7 +1304,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -1215,7 +1324,7 @@ "members":{ "PlaceId":{ "shape":"GeocodeResultItemPlaceIdString", - "documentation":"

                              The PlaceId of the place you wish to receive the information for.

                              " + "documentation":"

                              The PlaceId of the place result.

                              " }, "PlaceType":{ "shape":"PlaceType", @@ -1230,7 +1339,7 @@ "documentation":"

                              The place's address.

                              " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean indicating if the address provided has been corrected.

                              " }, "PostalCodeDetails":{ @@ -1259,7 +1368,7 @@ }, "AccessPoints":{ "shape":"AccessPointList", - "documentation":"

                              Position of the access point represent by longitude and latitude.

                              " + "documentation":"

                              Position of the access point represented by longitude and latitude.

                              " }, "TimeZone":{ "shape":"TimeZone", @@ -1272,6 +1381,22 @@ "MatchScores":{ "shape":"MatchScoreDetails", "documentation":"

                              Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                              " + }, + "ParsedQuery":{ + "shape":"GeocodeParsedQuery", + "documentation":"

                              Free-form text query.

                              " + }, + "Intersections":{ + "shape":"IntersectionList", + "documentation":"

                              All Intersections that are near the provided address.

                              " + }, + "MainAddress":{ + "shape":"RelatedPlace", + "documentation":"

                              The main address corresponding to a place of type Secondary Address.

                              " + }, + "SecondaryAddresses":{ + "shape":"RelatedPlaceList", + "documentation":"

                              All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                              " } }, "documentation":"

                              The Geocoded result.

                              " @@ -1284,13 +1409,15 @@ }, "GeocodeResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "GeocodeResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "GetPlaceAdditionalFeature":{ "type":"string", @@ -1298,7 +1425,8 @@ "TimeZone", "Phonemes", "Access", - "Contact" + "Contact", + "SecondaryAddresses" ] }, "GetPlaceAdditionalFeatureList":{ @@ -1344,7 +1472,7 @@ }, "IntendedUse":{ "shape":"GetPlaceIntendedUse", - "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              ", + "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an GetPlace query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              ", "location":"querystring", "locationName":"intended-use" }, @@ -1358,7 +1486,7 @@ }, "GetPlaceRequestPlaceIdString":{ "type":"string", - "max":200, + "max":500, "min":0, "sensitive":true }, @@ -1381,11 +1509,11 @@ }, "Title":{ "shape":"GetPlaceResponseTitleString", - "documentation":"

                              The localized display name of this result item based on request parameter language.

                              " + "documentation":"

                              The localized display name of this result item based on request parameter language.

                              " }, "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -1394,7 +1522,7 @@ "documentation":"

                              The place's address.

                              " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean indicating if the address provided has been corrected.

                              " }, "PostalCodeDetails":{ @@ -1448,18 +1576,28 @@ "Phonemes":{ "shape":"PhonemeDetails", "documentation":"

                              How the various components of the result's address are pronounced in various languages.

                              " + }, + "MainAddress":{ + "shape":"RelatedPlace", + "documentation":"

                              The main address corresponding to a place of type Secondary Address.

                              " + }, + "SecondaryAddresses":{ + "shape":"RelatedPlaceList", + "documentation":"

                              All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                              " } } }, "GetPlaceResponsePlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "GetPlaceResponseTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "Highlight":{ "type":"structure", @@ -1477,7 +1615,7 @@ "documentation":"

                              The highlight's value.

                              " } }, - "documentation":"

                              Describes how parts of the result response match the input query.

                              " + "documentation":"

                              Indicates the starting and ending index of the text query that match the found title.

                              " }, "HighlightEndIndexInteger":{ "type":"integer", @@ -1498,7 +1636,8 @@ "HighlightValueString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "InternalServerException":{ "type":"structure", @@ -1515,6 +1654,47 @@ "fault":true, "retryable":{"throttling":false} }, + "Intersection":{ + "type":"structure", + "required":[ + "PlaceId", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"IntersectionPlaceIdString", + "documentation":"

                              The PlaceId of the place result.

                              " + }, + "Title":{ + "shape":"IntersectionTitleString", + "documentation":"

                              The localized display name of this result item based on request parameter language.

                              " + }, + "Address":{"shape":"Address"}, + "Position":{ + "shape":"Position", + "documentation":"

                              The position, in longitude and latitude.

                              " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

                              The distance in meters from the QueryPosition.

                              ", + "box":true + }, + "RouteDistance":{ + "shape":"DistanceMeters", + "documentation":"

                              The distance from the routing position of the nearby address to the street result.

                              ", + "box":true + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

                              Position of the access point represented by longitude and latitude.

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

                              All Intersections that are near the provided address.

                              " + }, "IntersectionHighlightsList":{ "type":"list", "member":{"shape":"HighlightList"}, @@ -1523,15 +1703,32 @@ }, "IntersectionList":{ "type":"list", - "member":{"shape":"IntersectionStreet"}, - "max":100, + "member":{"shape":"Intersection"}, "min":1 }, + "IntersectionPlaceIdString":{ + "type":"string", + "max":500, + "min":0, + "sensitive":true + }, "IntersectionStreet":{ "type":"string", "max":200, "min":0 }, + "IntersectionStreetList":{ + "type":"list", + "member":{"shape":"IntersectionStreet"}, + "max":100, + "min":1 + }, + "IntersectionTitleString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, "LanguageTag":{ "type":"string", "max":35, @@ -1564,7 +1761,7 @@ "documentation":"

                              List of opening hours in the format they are displayed in. This can vary by result and in most cases represents how the result uniquely formats their opening hours.

                              " }, "OpenNow":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean which indicates if the result/place is currently open.

                              " }, "Components":{ @@ -1605,22 +1802,26 @@ "OpeningHoursComponentsOpenDurationString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursComponentsOpenTimeString":{ "type":"string", "max":21, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursComponentsRecurrenceString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursDisplay":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "OpeningHoursDisplayList":{ "type":"list", @@ -1634,6 +1835,123 @@ "max":100, "min":1 }, + "ParsedQueryComponent":{ + "type":"structure", + "members":{ + "StartIndex":{ + "shape":"ParsedQueryComponentStartIndexInteger", + "documentation":"

                              Start index of the parsed query component.

                              " + }, + "EndIndex":{ + "shape":"ParsedQueryComponentEndIndexInteger", + "documentation":"

                              End index of the parsed query component.

                              " + }, + "Value":{ + "shape":"ParsedQueryComponentValueString", + "documentation":"

                              Value of the parsed query component.

                              " + }, + "QueryComponent":{ + "shape":"ParsedQueryComponentQueryComponentString", + "documentation":"

                              The address component that the parsed query component corresponds to.

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

                              Parsed components in the provided QueryText.

                              " + }, + "ParsedQueryComponentEndIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQueryComponentList":{ + "type":"list", + "member":{"shape":"ParsedQueryComponent"}, + "max":200, + "min":0 + }, + "ParsedQueryComponentQueryComponentString":{ + "type":"string", + "max":11, + "min":0, + "sensitive":true + }, + "ParsedQueryComponentStartIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQueryComponentValueString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, + "ParsedQuerySecondaryAddressComponent":{ + "type":"structure", + "required":[ + "StartIndex", + "EndIndex", + "Value", + "Number", + "Designator" + ], + "members":{ + "StartIndex":{ + "shape":"ParsedQuerySecondaryAddressComponentStartIndexInteger", + "documentation":"

                              Start index of the parsed secondary address component in the query text.

                              " + }, + "EndIndex":{ + "shape":"ParsedQuerySecondaryAddressComponentEndIndexInteger", + "documentation":"

                              End index of the parsed secondary address component in the query text.

                              " + }, + "Value":{ + "shape":"ParsedQuerySecondaryAddressComponentValueString", + "documentation":"

                              Value of the parsed secondary address component.

                              " + }, + "Number":{ + "shape":"ParsedQuerySecondaryAddressComponentNumberString", + "documentation":"

                              Secondary address number provided in the query.

                              " + }, + "Designator":{ + "shape":"ParsedQuerySecondaryAddressComponentDesignatorString", + "documentation":"

                              Secondary address designator provided in the query.

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

                              Information about a secondary address component parsed from the query text.

                              " + }, + "ParsedQuerySecondaryAddressComponentDesignatorString":{ + "type":"string", + "max":4, + "min":0, + "sensitive":true + }, + "ParsedQuerySecondaryAddressComponentEndIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQuerySecondaryAddressComponentList":{ + "type":"list", + "member":{"shape":"ParsedQuerySecondaryAddressComponent"}, + "max":200, + "min":0 + }, + "ParsedQuerySecondaryAddressComponentNumberString":{ + "type":"string", + "max":10, + "min":0, + "sensitive":true + }, + "ParsedQuerySecondaryAddressComponentStartIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "ParsedQuerySecondaryAddressComponentValueString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, "PhonemeDetails":{ "type":"structure", "members":{ @@ -1660,7 +1978,7 @@ "documentation":"

                              A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

                              " }, "Preferred":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean which indicates if it the preferred pronunciation.

                              " } }, @@ -1675,7 +1993,8 @@ "PhonemeTranscriptionValueString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "PlaceType":{ "type":"string", @@ -1693,8 +2012,10 @@ "Street", "PointOfInterest", "PointAddress", - "InterpolatedAddress" - ] + "InterpolatedAddress", + "SecondaryAddress" + ], + "sensitive":true }, "Position":{ "type":"list", @@ -1705,14 +2026,15 @@ }, "PostalAuthority":{ "type":"string", - "enum":["Usps"] + "enum":["Usps"], + "sensitive":true }, "PostalCodeDetails":{ "type":"structure", "members":{ "PostalCode":{ "shape":"PostalCodeDetailsPostalCodeString", - "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                              " + "documentation":"

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                              " }, "PostalAuthority":{ "shape":"PostalAuthority", @@ -1742,7 +2064,8 @@ "PostalCodeDetailsPostalCodeString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "PostalCodeMode":{ "type":"string", @@ -1756,7 +2079,8 @@ "enum":[ "UspsZip", "UspsZipPlus4" - ] + ], + "sensitive":true }, "QueryRefinement":{ "type":"structure", @@ -1800,12 +2124,14 @@ "QueryRefinementOriginalTermString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "QueryRefinementRefinedTermString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "QueryRefinementStartIndexInteger":{ "type":"integer", @@ -1828,7 +2154,8 @@ "PostOfficeBox", "Rural", "Street" - ] + ], + "sensitive":true }, "Region":{ "type":"structure", @@ -1847,7 +2174,8 @@ "RegionCodeString":{ "type":"string", "max":3, - "min":0 + "min":0, + "sensitive":true }, "RegionHighlights":{ "type":"structure", @@ -1866,13 +2194,64 @@ "RegionNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true + }, + "RelatedPlace":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"RelatedPlacePlaceIdString", + "documentation":"

                              The PlaceId of the place result.

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

                              A PlaceType is a category that the result place must belong to.

                              " + }, + "Title":{ + "shape":"RelatedPlaceTitleString", + "documentation":"

                              The localized display name of this result item based on request parameter language.

                              " + }, + "Address":{"shape":"Address"}, + "Position":{ + "shape":"Position", + "documentation":"

                              The position, in longitude and latitude.

                              " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

                              Position of the access point represented by longitude and latitude.

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

                              Place that is related to the result item.

                              " + }, + "RelatedPlaceList":{ + "type":"list", + "member":{"shape":"RelatedPlace"}, + "min":1 + }, + "RelatedPlacePlaceIdString":{ + "type":"string", + "max":500, + "min":0, + "sensitive":true + }, + "RelatedPlaceTitleString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true }, "ReverseGeocodeAdditionalFeature":{ "type":"string", "enum":[ "TimeZone", - "Access" + "Access", + "Intersections" ] }, "ReverseGeocodeAdditionalFeatureList":{ @@ -1920,7 +2299,7 @@ "members":{ "QueryPosition":{ "shape":"Position", - "documentation":"

                              The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                              " + "documentation":"

                              The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                              " }, "QueryRadius":{ "shape":"ReverseGeocodeRequestQueryRadiusLong", @@ -1933,7 +2312,7 @@ }, "Filter":{ "shape":"ReverseGeocodeFilter", - "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "AdditionalFeatures":{ "shape":"ReverseGeocodeAdditionalFeatureList", @@ -1949,7 +2328,7 @@ }, "IntendedUse":{ "shape":"ReverseGeocodeIntendedUse", - "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an ReverseGeocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " }, "Key":{ "shape":"ApiKey", @@ -1968,7 +2347,8 @@ "ReverseGeocodeRequestQueryRadiusLong":{ "type":"long", "max":21000000, - "min":1 + "min":1, + "sensitive":true }, "ReverseGeocodeResponse":{ "type":"structure", @@ -1976,7 +2356,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2011,7 +2391,7 @@ "documentation":"

                              The place's address.

                              " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean indicating if the address provided has been corrected.

                              " }, "PostalCodeDetails":{ @@ -2040,7 +2420,7 @@ }, "AccessPoints":{ "shape":"AccessPointList", - "documentation":"

                              Position of the access point represent by longitude and latitude.

                              " + "documentation":"

                              Position of the access point represented by longitude and latitude.

                              " }, "TimeZone":{ "shape":"TimeZone", @@ -2049,6 +2429,10 @@ "PoliticalView":{ "shape":"CountryCode3", "documentation":"

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              " + }, + "Intersections":{ + "shape":"IntersectionList", + "documentation":"

                              All Intersections that are near the provided address.

                              " } }, "documentation":"

                              The returned location from the Reverse Geocode action.

                              " @@ -2061,13 +2445,15 @@ }, "ReverseGeocodeResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "ReverseGeocodeResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SearchNearbyAdditionalFeature":{ "type":"string", @@ -2120,7 +2506,7 @@ "documentation":"

                              Food types that results are excluded from.

                              " } }, - "documentation":"

                              SearchNearby structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              SearchNearby structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "SearchNearbyIntendedUse":{ "type":"string", @@ -2135,11 +2521,11 @@ "members":{ "QueryPosition":{ "shape":"Position", - "documentation":"

                              The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                              " + "documentation":"

                              The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                              " }, "QueryRadius":{ "shape":"SearchNearbyRequestQueryRadiusLong", - "documentation":"

                              The maximum distance in meters from the QueryPosition from which a result will be returned.

                              ", + "documentation":"

                              The maximum distance in meters from the QueryPosition from which a result will be returned.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "box":true }, "MaxResults":{ @@ -2148,7 +2534,7 @@ }, "Filter":{ "shape":"SearchNearbyFilter", - "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "AdditionalFeatures":{ "shape":"SearchNearbyAdditionalFeatureList", @@ -2164,7 +2550,7 @@ }, "IntendedUse":{ "shape":"SearchNearbyIntendedUse", - "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an SearchNearby query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " }, "NextToken":{ "shape":"Token", @@ -2187,7 +2573,8 @@ "SearchNearbyRequestQueryRadiusLong":{ "type":"long", "max":21000000, - "min":1 + "min":1, + "sensitive":true }, "SearchNearbyResponse":{ "type":"structure", @@ -2195,7 +2582,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2234,7 +2621,7 @@ "documentation":"

                              The place's address.

                              " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean indicating if the address provided has been corrected.

                              " }, "Position":{ @@ -2300,13 +2687,15 @@ }, "SearchNearbyResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "SearchNearbyResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SearchTextAdditionalFeature":{ "type":"string", @@ -2336,7 +2725,7 @@ "documentation":"

                              A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

                              " } }, - "documentation":"

                              SearchText structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              SearchText structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "SearchTextIntendedUse":{ "type":"string", @@ -2350,11 +2739,11 @@ "members":{ "QueryText":{ "shape":"SearchTextRequestQueryTextString", - "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              " + "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              " }, "QueryId":{ "shape":"SearchTextRequestQueryIdString", - "documentation":"

                              The query Id.

                              " + "documentation":"

                              The query Id returned by the suggest API. If passed in the request, the SearchText API will preform a SearchText query with the improved query terms for the original query made to the suggest API.

                              The fields QueryText, and QueryID are mutually exclusive.

                              " }, "MaxResults":{ "shape":"SearchTextRequestMaxResultsInteger", @@ -2366,7 +2755,7 @@ }, "Filter":{ "shape":"SearchTextFilter", - "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "AdditionalFeatures":{ "shape":"SearchTextAdditionalFeatureList", @@ -2382,7 +2771,7 @@ }, "IntendedUse":{ "shape":"SearchTextIntendedUse", - "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "documentation":"

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an SearchText query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " }, "NextToken":{ "shape":"Token", @@ -2404,7 +2793,7 @@ }, "SearchTextRequestQueryIdString":{ "type":"string", - "max":400, + "max":500, "min":1, "sensitive":true }, @@ -2420,7 +2809,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2459,7 +2848,7 @@ "documentation":"

                              The place's address.

                              " }, "AddressNumberCorrected":{ - "shape":"Boolean", + "shape":"SensitiveBoolean", "documentation":"

                              Boolean indicating if the address provided has been corrected.

                              " }, "Position":{ @@ -2525,24 +2914,68 @@ }, "SearchTextResultItemPlaceIdString":{ "type":"string", - "max":200, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "SearchTextResultItemTitleString":{ "type":"string", "max":200, + "min":0, + "sensitive":true + }, + "SecondaryAddressComponent":{ + "type":"structure", + "required":["Number"], + "members":{ + "Number":{ + "shape":"SecondaryAddressComponentNumberString", + "documentation":"

                              Number that uniquely identifies a secondary address.

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

                              Components that correspond to secondary identifiers on an address. The only component type supported currently is Unit.

                              " + }, + "SecondaryAddressComponentList":{ + "type":"list", + "member":{"shape":"SecondaryAddressComponent"}, + "max":1, "min":0 }, + "SecondaryAddressComponentMatchScore":{ + "type":"structure", + "members":{ + "Number":{ + "shape":"MatchScore", + "documentation":"

                              Match score for the secondary address number.

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

                              Match score for a secondary address component in the result.

                              " + }, + "SecondaryAddressComponentMatchScoreList":{ + "type":"list", + "member":{"shape":"SecondaryAddressComponentMatchScore"} + }, + "SecondaryAddressComponentNumberString":{ + "type":"string", + "max":10, + "min":0, + "sensitive":true + }, + "SensitiveBoolean":{ + "type":"boolean", + "box":true, + "sensitive":true + }, "StreetComponents":{ "type":"structure", "members":{ "BaseName":{ "shape":"StreetComponentsBaseNameString", - "documentation":"

                              Base name part of the street name.

                              Example: Younge from the “Younge street\".

                              " + "documentation":"

                              Base name part of the street name.

                              Example: Younge from the \"Younge street\".

                              " }, "Type":{ "shape":"StreetComponentsTypeString", - "documentation":"

                              Street type part of the street name.

                              Example: “avenue\".

                              " + "documentation":"

                              Street type part of the street name.

                              Example: \"avenue\".

                              " }, "TypePlacement":{ "shape":"TypePlacement", @@ -2550,7 +2983,7 @@ }, "TypeSeparator":{ "shape":"TypeSeparator", - "documentation":"

                              What character(s) separates the string from its type.

                              " + "documentation":"

                              Defines a separator character such as \"\" or \" \" between the base name and type.

                              " }, "Prefix":{ "shape":"StreetComponentsPrefixString", @@ -2574,12 +3007,14 @@ "StreetComponentsBaseNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsDirectionString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsList":{ "type":"list", @@ -2590,17 +3025,20 @@ "StreetComponentsPrefixString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsSuffixString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "StreetComponentsTypeString":{ "type":"string", "max":50, - "min":0 + "min":0, + "sensitive":true }, "String":{"type":"string"}, "SubRegion":{ @@ -2620,7 +3058,8 @@ "SubRegionCodeString":{ "type":"string", "max":3, - "min":0 + "min":0, + "sensitive":true }, "SubRegionHighlights":{ "type":"structure", @@ -2639,7 +3078,8 @@ "SubRegionNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SuggestAdditionalFeature":{ "type":"string", @@ -2679,7 +3119,7 @@ "documentation":"

                              A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

                              " } }, - "documentation":"

                              SuggestFilter structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              SuggestFilter structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "SuggestHighlights":{ "type":"structure", @@ -2763,27 +3203,29 @@ }, "SuggestPlaceResultPlaceIdString":{ "type":"string", - "max":200, - "min":1 + "max":500, + "min":1, + "sensitive":true }, "SuggestQueryResult":{ "type":"structure", "members":{ "QueryId":{ "shape":"SuggestQueryResultQueryIdString", - "documentation":"

                              QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                              " + "documentation":"

                              QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                              The fields QueryText, and QueryID are mutually exclusive.

                              " }, "QueryType":{ "shape":"QueryType", - "documentation":"

                              The query type. Category qeuries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                              " + "documentation":"

                              The query type. Category queries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                              " } }, "documentation":"

                              The suggested query results.

                              " }, "SuggestQueryResultQueryIdString":{ "type":"string", - "max":400, - "min":0 + "max":500, + "min":0, + "sensitive":true }, "SuggestRequest":{ "type":"structure", @@ -2791,7 +3233,7 @@ "members":{ "QueryText":{ "shape":"SuggestRequestQueryTextString", - "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              " + "documentation":"

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              " }, "MaxResults":{ "shape":"SuggestRequestMaxResultsInteger", @@ -2807,7 +3249,7 @@ }, "Filter":{ "shape":"SuggestFilter", - "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "documentation":"

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " }, "AdditionalFeatures":{ "shape":"SuggestAdditionalFeatureList", @@ -2857,7 +3299,7 @@ "members":{ "PricingBucket":{ "shape":"String", - "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "documentation":"

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "location":"header", "locationName":"x-amz-geo-pricing-bucket" }, @@ -2907,7 +3349,8 @@ "SuggestResultItemTitleString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "SuggestResultItemType":{ "type":"string", @@ -2955,16 +3398,19 @@ "TimeZoneNameString":{ "type":"string", "max":200, - "min":0 + "min":0, + "sensitive":true }, "TimeZoneOffsetSecondsLong":{ "type":"long", - "min":0 + "min":0, + "sensitive":true }, "TimeZoneOffsetString":{ "type":"string", "max":6, - "min":0 + "min":0, + "sensitive":true }, "Token":{ "type":"string", @@ -3075,7 +3521,8 @@ "Military", "PostOfficeBoxes", "Unique" - ] + ], + "sensitive":true } }, "documentation":"

                              The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:

                              • Forward and reverse geocoding for addresses and coordinates

                              • Comprehensive place searches with detailed information, including:

                                • Business names and addresses

                                • Contact information

                                • Hours of operation

                                • POI (Points of Interest) categories

                                • Food types for restaurants

                                • Chain affiliation for relevant businesses

                              • Global data coverage with a wide range of POI categories

                              • Regular data updates to ensure accuracy and relevance

                              " diff --git a/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json b/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json index f7000ec2bad..7d557c45e81 100644 --- a/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json +++ b/tools/code-generation/api-descriptions/glue-2017-03-31.normal.json @@ -7349,6 +7349,16 @@ "min":1, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" }, + "CompactionConfiguration":{ + "type":"structure", + "members":{ + "icebergConfiguration":{ + "shape":"IcebergCompactionConfiguration", + "documentation":"

                              The configuration for an Iceberg compaction optimizer.

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

                              The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve query performance and reduce storage costs.

                              " + }, "CompactionMetrics":{ "type":"structure", "members":{ @@ -7359,6 +7369,14 @@ }, "documentation":"

                              A structure that contains compaction metrics for the optimizer run.

                              " }, + "CompactionStrategy":{ + "type":"string", + "enum":[ + "binpack", + "sort", + "z-order" + ] + }, "Comparator":{ "type":"string", "enum":[ @@ -8788,7 +8806,8 @@ "shape":"HashString", "documentation":"

                              Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

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

                              A request to create a data quality ruleset.

                              " }, "CreateDataQualityRulesetResponse":{ "type":"structure", @@ -10343,6 +10362,36 @@ "type":"list", "member":{"shape":"DataOperation"} }, + "DataQualityAggregatedMetrics":{ + "type":"structure", + "members":{ + "TotalRowsProcessed":{ + "shape":"NullableDouble", + "documentation":"

                              The total number of rows that were processed during the data quality evaluation.

                              " + }, + "TotalRowsPassed":{ + "shape":"NullableDouble", + "documentation":"

                              The total number of rows that passed all applicable data quality rules.

                              " + }, + "TotalRowsFailed":{ + "shape":"NullableDouble", + "documentation":"

                              The total number of rows that failed one or more data quality rules.

                              " + }, + "TotalRulesProcessed":{ + "shape":"NullableDouble", + "documentation":"

                              The total number of data quality rules that were evaluated.

                              " + }, + "TotalRulesPassed":{ + "shape":"NullableDouble", + "documentation":"

                              The total number of data quality rules that passed their evaluation criteria.

                              " + }, + "TotalRulesFailed":{ + "shape":"NullableDouble", + "documentation":"

                              The total number of data quality rules that failed their evaluation criteria.

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

                              A summary of metrics showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                              " + }, "DataQualityAnalyzerResult":{ "type":"structure", "members":{ @@ -10525,6 +10574,10 @@ "Observations":{ "shape":"DataQualityObservations", "documentation":"

                              A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                              " + }, + "AggregatedMetrics":{ + "shape":"DataQualityAggregatedMetrics", + "documentation":"

                              A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                              " } }, "documentation":"

                              Describes a data quality result.

                              " @@ -10672,6 +10725,10 @@ "EvaluatedRule":{ "shape":"DataQualityRuleResultDescription", "documentation":"

                              The evaluated rule.

                              " + }, + "RuleMetrics":{ + "shape":"RuleMetricsMap", + "documentation":"

                              A map containing metrics associated with the evaluation of the rule based on row-level results.

                              " } }, "documentation":"

                              Describes the result of the evaluation of a data quality rule.

                              " @@ -14043,8 +14100,13 @@ "Observations":{ "shape":"DataQualityObservations", "documentation":"

                              A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                              " + }, + "AggregatedMetrics":{ + "shape":"DataQualityAggregatedMetrics", + "documentation":"

                              A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

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

                              The response for the data quality result.

                              " }, "GetDataQualityRuleRecommendationRunRequest":{ "type":"structure", @@ -14115,7 +14177,8 @@ "shape":"NameString", "documentation":"

                              The name of the security configuration created with the data quality encryption option.

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

                              The response for the Data Quality rule recommendation run.

                              " }, "GetDataQualityRulesetEvaluationRunRequest":{ "type":"structure", @@ -14237,7 +14300,8 @@ "shape":"NameString", "documentation":"

                              The name of the security configuration created with the data quality encryption option.

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

                              Returns the data quality ruleset response.

                              " }, "GetDatabaseRequest":{ "type":"structure", @@ -16499,6 +16563,16 @@ "type":"string", "pattern":"^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+" }, + "IcebergCompactionConfiguration":{ + "type":"structure", + "members":{ + "strategy":{ + "shape":"CompactionStrategy", + "documentation":"

                              The strategy to use for compaction. Valid values are:

                              • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

                              • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

                              • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

                              If an input is not provided, the default value 'binpack' will be used.

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

                              The configuration for an Iceberg compaction optimizer. This configuration defines parameters for optimizing the layout of data files in Iceberg tables.

                              " + }, "IcebergCompactionMetrics":{ "type":"structure", "members":{ @@ -21632,6 +21706,12 @@ }, "RoleString":{"type":"string"}, "RowTag":{"type":"string"}, + "RuleMetricsMap":{ + "type":"map", + "key":{"shape":"NameString"}, + "value":{"shape":"NullableDouble"}, + "sensitive":true + }, "RulesetNames":{ "type":"list", "member":{"shape":"NameString"}, @@ -23838,7 +23918,8 @@ "shape":"HashString", "documentation":"

                              Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

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

                              The request of the Data Quality rule recommendation request.

                              " }, "StartDataQualityRuleRecommendationRunResponse":{ "type":"structure", @@ -24883,6 +24964,10 @@ "shape":"TableOptimizerVpcConfiguration", "documentation":"

                              A TableOptimizerVpcConfiguration object representing the VPC configuration for a table optimizer.

                              This configuration is necessary to perform optimization on tables that are in a customer VPC.

                              " }, + "compactionConfiguration":{ + "shape":"CompactionConfiguration", + "documentation":"

                              The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve query performance and reduce storage costs.

                              " + }, "retentionConfiguration":{ "shape":"RetentionConfiguration", "documentation":"

                              The configuration for a snapshot retention optimizer.

                              " @@ -24932,6 +25017,10 @@ "shape":"CompactionMetrics", "documentation":"

                              A CompactionMetrics object containing metrics for the optimizer run.

                              " }, + "compactionStrategy":{ + "shape":"CompactionStrategy", + "documentation":"

                              The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are:

                              • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

                              • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

                              • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

                              " + }, "retentionMetrics":{ "shape":"RetentionMetrics", "documentation":"

                              A RetentionMetrics object containing metrics for the optimizer run.

                              " diff --git a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json index baa855c1507..57fb12f8aad 100644 --- a/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json +++ b/tools/code-generation/api-descriptions/guardduty-2017-11-28.normal.json @@ -454,7 +454,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

                              Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.

                              If the organization's management account or a delegated administrator runs this API, it will return success (HTTP 200) but no content.

                              " + "documentation":"

                              Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.

                              Based on the type of account that runs this API, the following list shows how the API behavior varies:

                              • When the GuardDuty administrator account runs this API, it will return success (HTTP 200) but no content.

                              • When a member account runs this API, it will return the details of the GuardDuty administrator account that is associated with this calling member account.

                              • When an individual account (not associated with an organization) runs this API, it will return success (HTTP 200) but no content.

                              " }, "GetCoverageStatistics":{ "name":"GetCoverageStatistics", @@ -1318,7 +1318,7 @@ }, "Email":{ "shape":"Email", - "documentation":"

                              The email address of the member account.

                              ", + "documentation":"

                              The email address of the member account.

                              The rules for a valid email address:

                              • The email address must be a minimum of 6 and a maximum of 64 characters long.

                              • All characters must be 7-bit ASCII characters.

                              • There must be one and only one @ symbol, which separates the local name from the domain name.

                              • The local name can't contain any of the following characters:

                                whitespace, \" ' ( ) < > [ ] : ' , \\ | % &

                              • The local name can't begin with a dot (.).

                              • The domain name can consist of only the characters [a-z], [A-Z], [0-9], hyphen (-), or dot (.).

                              • The domain name can't begin or end with a dot (.) or hyphen (-).

                              • The domain name must contain at least one dot.

                              ", "locationName":"email" } }, @@ -1474,6 +1474,11 @@ "shape":"Session", "documentation":"

                              Contains information about the user session where the activity initiated.

                              ", "locationName":"session" + }, + "Process":{ + "shape":"ActorProcess", + "documentation":"

                              Contains information about the process associated with the threat actor. This includes details such as process name, path, execution time, and unique identifiers that help track the actor's activities within the system.

                              ", + "locationName":"process" } }, "documentation":"

                              Information about the actors involved in an attack sequence.

                              " @@ -1483,11 +1488,40 @@ "member":{"shape":"String"}, "max":400 }, + "ActorProcess":{ + "type":"structure", + "required":[ + "Name", + "Path" + ], + "members":{ + "Name":{ + "shape":"ProcessName", + "documentation":"

                              The name of the process as it appears in the system.

                              ", + "locationName":"name" + }, + "Path":{ + "shape":"ProcessPath", + "documentation":"

                              The full file path to the process executable on the system.

                              ", + "locationName":"path" + }, + "Sha256":{ + "shape":"ProcessSha256", + "documentation":"

                              The SHA256 hash of the process executable file, which can be used for identification and verification purposes.

                              ", + "locationName":"sha256" + } + }, + "documentation":"

                              Contains information about a process involved in a GuardDuty finding, including process identification, execution details, and file information.

                              " + }, "Actors":{ "type":"list", "member":{"shape":"Actor"}, "max":400 }, + "AdditionalSequenceTypes":{ + "type":"list", + "member":{"shape":"FindingType"} + }, "AddonDetails":{ "type":"structure", "members":{ @@ -1862,6 +1896,17 @@ }, "documentation":"

                              Contains information on the status of CloudTrail as a data source for the detector.

                              " }, + "ClusterStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING", + "PENDING" + ] + }, "Condition":{ "type":"structure", "members":{ @@ -1993,6 +2038,28 @@ }, "documentation":"

                              Details of a container.

                              " }, + "ContainerFindingResource":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"String", + "documentation":"

                              The container image information, including the image name and tag used to run the container that was involved in the finding.

                              ", + "locationName":"image" + }, + "ImageUid":{ + "shape":"ContainerImageUid", + "documentation":"

                              The unique ID associated with the container image.

                              ", + "locationName":"imageUid" + } + }, + "documentation":"

                              Contains information about container resources involved in a GuardDuty finding. This structure provides details about containers that were identified as part of suspicious or malicious activity.

                              " + }, + "ContainerImageUid":{ + "type":"string", + "max":1024, + "min":1 + }, "ContainerInstanceDetails":{ "type":"structure", "members":{ @@ -2009,6 +2076,15 @@ }, "documentation":"

                              Contains information about the Amazon EC2 instance that is running the Amazon ECS container.

                              " }, + "ContainerUid":{ + "type":"string", + "max":256, + "min":0 + }, + "ContainerUids":{ + "type":"list", + "member":{"shape":"ContainerUid"} + }, "Containers":{ "type":"list", "member":{"shape":"Container"} @@ -3771,6 +3847,17 @@ }, "documentation":"

                              Details about the potentially impacted Amazon EC2 instance resource.

                              " }, + "Ec2InstanceUid":{ + "type":"string", + "max":256, + "min":0 + }, + "Ec2InstanceUids":{ + "type":"list", + "member":{"shape":"Ec2InstanceUid"}, + "max":25, + "min":0 + }, "Ec2NetworkInterface":{ "type":"structure", "members":{ @@ -3918,6 +4005,37 @@ }, "documentation":"

                              Contains information about the task in an ECS cluster.

                              " }, + "EksCluster":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

                              The Amazon Resource Name (ARN) that uniquely identifies the Amazon EKS cluster involved in the finding.

                              ", + "locationName":"arn" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp indicating when the Amazon EKS cluster was created, in UTC format.

                              ", + "locationName":"createdAt" + }, + "Status":{ + "shape":"ClusterStatus", + "documentation":"

                              The current status of the Amazon EKS cluster.

                              ", + "locationName":"status" + }, + "VpcId":{ + "shape":"String", + "documentation":"

                              The ID of the Amazon Virtual Private Cloud (Amazon VPC) associated with the Amazon EKS cluster.

                              ", + "locationName":"vpcId" + }, + "Ec2InstanceUids":{ + "shape":"Ec2InstanceUids", + "documentation":"

                              A list of unique identifiers for the Amazon EC2 instances that serve as worker nodes in the Amazon EKS cluster.

                              ", + "locationName":"ec2InstanceUids" + } + }, + "documentation":"

                              Contains information about the Amazon EKS cluster involved in a GuardDuty finding, including cluster identification, status, and network configuration.

                              " + }, "EksClusterDetails":{ "type":"structure", "members":{ @@ -3957,7 +4075,8 @@ "Email":{ "type":"string", "max":64, - "min":1, + "min":6, + "pattern":"See rules in parameter description", "sensitive":true }, "EnableOrganizationAdminAccountRequest":{ @@ -4087,7 +4206,7 @@ "members":{ "CriterionKey":{ "shape":"CriterionKey", - "documentation":"

                              An enum value representing possible scan properties to match with given scan entries.

                              Replace the enum value CLUSTER_NAME with EKS_CLUSTER_NAME. CLUSTER_NAME has been deprecated.

                              ", + "documentation":"

                              An enum value representing possible scan properties to match with given scan entries.

                              ", "locationName":"criterionKey" }, "FilterCondition":{ @@ -4177,7 +4296,7 @@ }, "Region":{ "shape":"String", - "documentation":"

                              The Region where the finding was generated.

                              ", + "documentation":"

                              The Region where the finding was generated. For findings generated from Global Service Events, the Region value in the finding might differ from the Region where GuardDuty identifies the potential threat. For more information, see How GuardDuty handles Amazon Web Services CloudTrail global events in the Amazon GuardDuty User Guide.

                              ", "locationName":"region" }, "Resource":{ @@ -4258,7 +4377,10 @@ "EC2_NETWORK_INTERFACE", "S3_BUCKET", "S3_OBJECT", - "ACCESS_KEY" + "ACCESS_KEY", + "EKS_CLUSTER", + "KUBERNETES_WORKLOAD", + "CONTAINER" ] }, "FindingStatisticType":{ @@ -5244,7 +5366,13 @@ "ATTACK_TECHNIQUE", "UNUSUAL_API_FOR_ACCOUNT", "UNUSUAL_ASN_FOR_ACCOUNT", - "UNUSUAL_ASN_FOR_USER" + "UNUSUAL_ASN_FOR_USER", + "SUSPICIOUS_PROCESS", + "MALICIOUS_DOMAIN", + "MALICIOUS_PROCESS", + "CRYPTOMINING_IP", + "CRYPTOMINING_DOMAIN", + "CRYPTOMINING_PROCESS" ] }, "IndicatorValueString":{ @@ -5659,6 +5787,19 @@ }, "documentation":"

                              Information about the Kubernetes API for which you check if you have permission to call.

                              " }, + "KubernetesResourcesTypes":{ + "type":"string", + "enum":[ + "PODS", + "JOBS", + "CRONJOBS", + "DEPLOYMENTS", + "DAEMONSETS", + "STATEFULSETS", + "REPLICASETS", + "REPLICATIONCONTROLLERS" + ] + }, "KubernetesRoleBindingDetails":{ "type":"structure", "members":{ @@ -5742,6 +5883,27 @@ }, "documentation":"

                              Details about the Kubernetes user involved in a Kubernetes finding.

                              " }, + "KubernetesWorkload":{ + "type":"structure", + "members":{ + "ContainerUids":{ + "shape":"ContainerUids", + "documentation":"

                              A list of unique identifiers for the containers that are part of the Kubernetes workload.

                              ", + "locationName":"containerUids" + }, + "Namespace":{ + "shape":"String", + "documentation":"

                              The Kubernetes namespace in which the workload is running, providing logical isolation within the cluster.

                              ", + "locationName":"namespace" + }, + "KubernetesResourcesTypes":{ + "shape":"KubernetesResourcesTypes", + "documentation":"

                              The types of Kubernetes resources involved in the workload.

                              ", + "locationName":"kubernetesResourcesTypes" + } + }, + "documentation":"

                              Contains information about Kubernetes workloads involved in a GuardDuty finding, including pods, deployments, and other Kubernetes resources.

                              " + }, "KubernetesWorkloadDetails":{ "type":"structure", "members":{ @@ -7620,6 +7782,21 @@ }, "documentation":"

                              Information about the observed process.

                              " }, + "ProcessName":{ + "type":"string", + "max":4096, + "min":0 + }, + "ProcessPath":{ + "type":"string", + "max":4096, + "min":0 + }, + "ProcessSha256":{ + "type":"string", + "max":1024, + "min":0 + }, "ProductCode":{ "type":"structure", "members":{ @@ -8018,6 +8195,21 @@ "shape":"S3Object", "documentation":"

                              Contains information about the Amazon S3 object.

                              ", "locationName":"s3Object" + }, + "EksCluster":{ + "shape":"EksCluster", + "documentation":"

                              Contains detailed information about the Amazon EKS cluster associated with the activity that prompted GuardDuty to generate a finding.

                              ", + "locationName":"eksCluster" + }, + "KubernetesWorkload":{ + "shape":"KubernetesWorkload", + "documentation":"

                              Contains detailed information about the Kubernetes workload associated with the activity that prompted GuardDuty to generate a finding.

                              ", + "locationName":"kubernetesWorkload" + }, + "Container":{ + "shape":"ContainerFindingResource", + "documentation":"

                              Contains detailed information about the container associated with the activity that prompted GuardDuty to generate a finding.

                              ", + "locationName":"container" } }, "documentation":"

                              Contains information about the Amazon Web Services resource that is associated with the activity that prompted GuardDuty to generate a finding.

                              " @@ -8883,6 +9075,11 @@ "shape":"Indicators", "documentation":"

                              Contains information about the indicators observed in the attack sequence.

                              ", "locationName":"sequenceIndicators" + }, + "AdditionalSequenceTypes":{ + "shape":"AdditionalSequenceTypes", + "documentation":"

                              Additional types of sequences that may be associated with the attack sequence finding, providing further context about the nature of the detected threat.

                              ", + "locationName":"additionalSequenceTypes" } }, "documentation":"

                              Contains information about the GuardDuty attack sequence finding.

                              " @@ -9139,7 +9336,11 @@ "enum":[ "FINDING", "CLOUD_TRAIL", - "S3_DATA_EVENTS" + "S3_DATA_EVENTS", + "EKS_AUDIT_LOGS", + "FLOW_LOGS", + "DNS_LOGS", + "RUNTIME_MONITORING" ] }, "Signals":{ diff --git a/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json b/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json index ff7f437504b..af1ba1f8475 100644 --- a/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json +++ b/tools/code-generation/api-descriptions/inspector2-2020-06-08.normal.json @@ -33,6 +33,44 @@ ], "documentation":"

                              Associates an Amazon Web Services account with an Amazon Inspector delegated administrator. An HTTP 200 response indicates the association was successfully started, but doesn’t indicate whether it was completed. You can check if the association completed by using ListMembers for multiple accounts or GetMembers for a single account.

                              " }, + "BatchAssociateCodeSecurityScanConfiguration":{ + "name":"BatchAssociateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/batch/associate", + "responseCode":200 + }, + "input":{"shape":"BatchAssociateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"BatchAssociateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Associates multiple code repositories with an Amazon Inspector code security scan configuration.

                              " + }, + "BatchDisassociateCodeSecurityScanConfiguration":{ + "name":"BatchDisassociateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/batch/disassociate", + "responseCode":200 + }, + "input":{"shape":"BatchDisassociateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"BatchDisassociateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Disassociates multiple code repositories from an Amazon Inspector code security scan configuration.

                              " + }, "BatchGetAccountStatus":{ "name":"BatchGetAccountStatus", "http":{ @@ -190,6 +228,44 @@ ], "documentation":"

                              Creates a CIS scan configuration.

                              " }, + "CreateCodeSecurityIntegration":{ + "name":"CreateCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/create", + "responseCode":200 + }, + "input":{"shape":"CreateCodeSecurityIntegrationRequest"}, + "output":{"shape":"CreateCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Creates a code security integration with a source code repository provider.

                              After calling the CreateCodeSecurityIntegration operation, you complete authentication and authorization with your provider. Next you call the UpdateCodeSecurityIntegration operation to provide the details to complete the integration setup

                              " + }, + "CreateCodeSecurityScanConfiguration":{ + "name":"CreateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/create", + "responseCode":200 + }, + "input":{"shape":"CreateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"CreateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Creates a scan configuration for code security scanning.

                              " + }, "CreateFilter":{ "name":"CreateFilter", "http":{ @@ -264,6 +340,42 @@ ], "documentation":"

                              Deletes a CIS scan configuration.

                              " }, + "DeleteCodeSecurityIntegration":{ + "name":"DeleteCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteCodeSecurityIntegrationRequest"}, + "output":{"shape":"DeleteCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Deletes a code security integration.

                              " + }, + "DeleteCodeSecurityScanConfiguration":{ + "name":"DeleteCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"DeleteCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Deletes a code security scan configuration.

                              " + }, "DeleteFilter":{ "name":"DeleteFilter", "http":{ @@ -442,6 +554,61 @@ ], "documentation":"

                              Returns a list of clusters and metadata associated with an image.

                              " }, + "GetCodeSecurityIntegration":{ + "name":"GetCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/get", + "responseCode":200 + }, + "input":{"shape":"GetCodeSecurityIntegrationRequest"}, + "output":{"shape":"GetCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves information about a code security integration.

                              " + }, + "GetCodeSecurityScan":{ + "name":"GetCodeSecurityScan", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan/get", + "responseCode":200 + }, + "input":{"shape":"GetCodeSecurityScanRequest"}, + "output":{"shape":"GetCodeSecurityScanResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves information about a specific code security scan.

                              " + }, + "GetCodeSecurityScanConfiguration":{ + "name":"GetCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/get", + "responseCode":200 + }, + "input":{"shape":"GetCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"GetCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves information about a code security scan configuration.

                              " + }, "GetConfiguration":{ "name":"GetConfiguration", "http":{ @@ -651,6 +818,59 @@ ], "documentation":"

                              Returns a CIS scan list.

                              " }, + "ListCodeSecurityIntegrations":{ + "name":"ListCodeSecurityIntegrations", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/list", + "responseCode":200 + }, + "input":{"shape":"ListCodeSecurityIntegrationsRequest"}, + "output":{"shape":"ListCodeSecurityIntegrationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Lists all code security integrations in your account.

                              " + }, + "ListCodeSecurityScanConfigurationAssociations":{ + "name":"ListCodeSecurityScanConfigurationAssociations", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/associations/list", + "responseCode":200 + }, + "input":{"shape":"ListCodeSecurityScanConfigurationAssociationsRequest"}, + "output":{"shape":"ListCodeSecurityScanConfigurationAssociationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Lists the associations between code repositories and Amazon Inspector code security scan configurations.

                              " + }, + "ListCodeSecurityScanConfigurations":{ + "name":"ListCodeSecurityScanConfigurations", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/list", + "responseCode":200 + }, + "input":{"shape":"ListCodeSecurityScanConfigurationsRequest"}, + "output":{"shape":"ListCodeSecurityScanConfigurationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Lists all code security scan configurations in your account.

                              " + }, "ListCoverage":{ "name":"ListCoverage", "http":{ @@ -893,6 +1113,25 @@ "documentation":"

                              Starts a CIS session. This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.

                              ", "idempotent":true }, + "StartCodeSecurityScan":{ + "name":"StartCodeSecurityScan", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan/start", + "responseCode":200 + }, + "input":{"shape":"StartCodeSecurityScanRequest"}, + "output":{"shape":"StartCodeSecurityScanResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Initiates a code security scan on a specified repository.

                              " + }, "StopCisSession":{ "name":"StopCisSession", "http":{ @@ -966,6 +1205,44 @@ ], "documentation":"

                              Updates a CIS scan configuration.

                              " }, + "UpdateCodeSecurityIntegration":{ + "name":"UpdateCodeSecurityIntegration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/integration/update", + "responseCode":200 + }, + "input":{"shape":"UpdateCodeSecurityIntegrationRequest"}, + "output":{"shape":"UpdateCodeSecurityIntegrationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Updates an existing code security integration.

                              After calling the CreateCodeSecurityIntegration operation, you complete authentication and authorization with your provider. Next you call the UpdateCodeSecurityIntegration operation to provide the details to complete the integration setup

                              " + }, + "UpdateCodeSecurityScanConfiguration":{ + "name":"UpdateCodeSecurityScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/codesecurity/scan-configuration/update", + "responseCode":200 + }, + "input":{"shape":"UpdateCodeSecurityScanConfigurationRequest"}, + "output":{"shape":"UpdateCodeSecurityScanConfigurationResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Updates an existing code security scan configuration.

                              " + }, "UpdateConfiguration":{ "name":"UpdateConfiguration", "http":{ @@ -1079,7 +1356,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

                              You do not have sufficient access to perform this action.

                              ", + "documentation":"

                              You do not have sufficient access to perform this action.

                              For Enable, you receive this error if you attempt to use a feature in an unsupported Amazon Web Services Region.

                              ", "error":{ "httpStatusCode":403, "senderFault":true @@ -1236,6 +1513,10 @@ "shape":"AwsEcrContainerAggregation", "documentation":"

                              An object that contains details about an aggregation request based on Amazon ECR container images.

                              " }, + "codeRepositoryAggregation":{ + "shape":"CodeRepositoryAggregation", + "documentation":"

                              An object that contains details about an aggregation request based on code repositories.

                              " + }, "ec2InstanceAggregation":{ "shape":"Ec2InstanceAggregation", "documentation":"

                              An object that contains details about an aggregation request based on Amazon EC2 instances.

                              " @@ -1295,6 +1576,10 @@ "shape":"AwsEcrContainerAggregationResponse", "documentation":"

                              An object that contains details about an aggregation response based on Amazon ECR container images.

                              " }, + "codeRepositoryAggregation":{ + "shape":"CodeRepositoryAggregationResponse", + "documentation":"

                              An object that contains details about an aggregation response based on code repositories.

                              " + }, "ec2InstanceAggregation":{ "shape":"Ec2InstanceAggregationResponse", "documentation":"

                              An object that contains details about an aggregation response based on Amazon EC2 instances.

                              " @@ -1348,7 +1633,8 @@ "IMAGE_LAYER", "ACCOUNT", "AWS_LAMBDA_FUNCTION", - "LAMBDA_LAYER" + "LAMBDA_LAYER", + "CODE_REPOSITORY" ] }, "AmiAggregation":{ @@ -1423,6 +1709,27 @@ "max":1011, "min":1 }, + "AssociateConfigurationRequest":{ + "type":"structure", + "required":[ + "resource", + "scanConfigurationArn" + ], + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration.

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

                              Contains details about a request to associate a code repository with a scan configuration.

                              " + }, + "AssociateConfigurationRequestList":{ + "type":"list", + "member":{"shape":"AssociateConfigurationRequest"}, + "max":25, + "min":1 + }, "AssociateMemberRequest":{ "type":"structure", "required":["accountId"], @@ -1443,6 +1750,21 @@ } } }, + "AssociationResultStatusCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "ACCESS_DENIED", + "SCAN_CONFIGURATION_NOT_FOUND", + "INVALID_INPUT", + "RESOURCE_NOT_FOUND", + "QUOTA_EXCEEDED" + ] + }, + "AssociationResultStatusMessage":{ + "type":"string", + "min":1 + }, "AtigData":{ "type":"structure", "members":{ @@ -1465,6 +1787,10 @@ }, "documentation":"

                              The Amazon Web Services Threat Intel Group (ATIG) details for a specific vulnerability.

                              " }, + "AuthorizationUrl":{ + "type":"string", + "sensitive":true + }, "AutoEnable":{ "type":"structure", "required":[ @@ -1472,6 +1798,10 @@ "ecr" ], "members":{ + "codeRepository":{ + "shape":"Boolean", + "documentation":"

                              Represents whether code repository scans are automatically enabled for new members of your Amazon Inspector organization.

                              " + }, "ec2":{ "shape":"Boolean", "documentation":"

                              Represents whether Amazon EC2 scans are automatically enabled for new members of your Amazon Inspector organization.

                              " @@ -1486,7 +1816,7 @@ }, "lambdaCode":{ "shape":"Boolean", - "documentation":"

                              Represents whether Lambda code scans are automatically enabled for new members of your Amazon Inspector organization.

                               </p> 
                              " + "documentation":"

                              Represents whether Lambda code scans are automatically enabled for new members of your Amazon Inspector organization.

                              " } }, "documentation":"

                              Represents which scan types are automatically enabled for new members of your Amazon Inspector organization.

                              " @@ -1828,6 +2158,52 @@ }, "exception":true }, + "BatchAssociateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["associateConfigurationRequests"], + "members":{ + "associateConfigurationRequests":{ + "shape":"AssociateConfigurationRequestList", + "documentation":"

                              A list of code repositories to associate with the specified scan configuration.

                              " + } + } + }, + "BatchAssociateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "failedAssociations":{ + "shape":"FailedAssociationResultList", + "documentation":"

                              Details of any code repositories that failed to be associated with the scan configuration.

                              " + }, + "successfulAssociations":{ + "shape":"SuccessfulAssociationResultList", + "documentation":"

                              Details of code repositories that were successfully associated with the scan configuration.

                              " + } + } + }, + "BatchDisassociateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["disassociateConfigurationRequests"], + "members":{ + "disassociateConfigurationRequests":{ + "shape":"DisassociateConfigurationRequestList", + "documentation":"

                              A list of code repositories to disassociate from the specified scan configuration.

                              " + } + } + }, + "BatchDisassociateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "failedAssociations":{ + "shape":"FailedAssociationResultList", + "documentation":"

                              Details of any code repositories that failed to be disassociated from the scan configuration.

                              " + }, + "successfulAssociations":{ + "shape":"SuccessfulAssociationResultList", + "documentation":"

                              Details of code repositories that were successfully disassociated from the scan configuration.

                              " + } + } + }, "BatchGetAccountStatusRequest":{ "type":"structure", "members":{ @@ -1941,7 +2317,7 @@ "members":{ "accountIds":{ "shape":"AccountIdSet", - "documentation":"

                              The unique identifiers for the Amazon Web Services accounts to retrieve Amazon Inspector deep inspection activation status for.

                               </p> 
                              " + "documentation":"

                              The unique identifiers for the Amazon Web Services accounts to retrieve Amazon Inspector deep inspection activation status for.

                              " } } }, @@ -1950,11 +2326,11 @@ "members":{ "accountIds":{ "shape":"MemberAccountEc2DeepInspectionStatusStateList", - "documentation":"

                              An array of objects that provide details on the activation status of Amazon Inspector deep inspection for each of the requested accounts.

                               </p> 
                              " + "documentation":"

                              An array of objects that provide details on the activation status of Amazon Inspector deep inspection for each of the requested accounts.

                              " }, "failedAccountIds":{ "shape":"FailedMemberAccountEc2DeepInspectionStatusStateList", - "documentation":"

                              An array of objects that provide details on any accounts that failed to activate Amazon Inspector deep inspection and why.

                               </p> 
                              " + "documentation":"

                              An array of objects that provide details on any accounts that failed to activate Amazon Inspector deep inspection and why.

                              " } } }, @@ -3014,26 +3390,359 @@ "max":20, "min":1 }, - "CodeSnippetError":{ + "CodeRepositoryAggregation":{ "type":"structure", - "required":[ - "errorCode", - "errorMessage", - "findingArn" - ], "members":{ - "errorCode":{ - "shape":"CodeSnippetErrorCode", - "documentation":"

                              The error code for the error that prevented a code snippet from being retrieved.

                              " + "projectNames":{ + "shape":"StringFilterList", + "documentation":"

                              The project names to include in the aggregation results.

                              " }, - "errorMessage":{ - "shape":"NonEmptyString", - "documentation":"

                              The error message received when Amazon Inspector failed to retrieve a code snippet.

                              " + "providerTypes":{ + "shape":"StringFilterList", + "documentation":"

                              The repository provider types to include in the aggregation results.

                              " }, - "findingArn":{ - "shape":"FindingArn", - "documentation":"

                              The ARN of the finding that a code snippet couldn't be retrieved for.

                              " - } + "resourceIds":{ + "shape":"StringFilterList", + "documentation":"

                              The resource IDs to include in the aggregation results.

                              " + }, + "sortBy":{ + "shape":"CodeRepositorySortBy", + "documentation":"

                              The value to sort results by in the code repository aggregation.

                              " + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

                              The order to sort results by (ascending or descending) in the code repository aggregation.

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

                              The details that define an aggregation based on code repositories.

                              " + }, + "CodeRepositoryAggregationResponse":{ + "type":"structure", + "required":["projectNames"], + "members":{ + "accountId":{ + "shape":"String", + "documentation":"

                              The Amazon Web Services account ID associated with the code repository.

                              " + }, + "exploitAvailableActiveFindingsCount":{ + "shape":"Long", + "documentation":"

                              The number of active findings that have an exploit available for the code repository.

                              " + }, + "fixAvailableActiveFindingsCount":{ + "shape":"Long", + "documentation":"

                              The number of active findings that have a fix available for the code repository.

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

                              The names of the projects associated with the code repository.

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

                              The type of repository provider for the code repository.

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

                              The resource ID of the code repository.

                              " + }, + "severityCounts":{"shape":"SeverityCounts"} + }, + "documentation":"

                              A response that contains the results of a finding aggregation by code repository.

                              " + }, + "CodeRepositoryDetails":{ + "type":"structure", + "members":{ + "integrationArn":{ + "shape":"CodeRepositoryIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration associated with the repository.

                              " + }, + "projectName":{ + "shape":"CodeRepositoryProjectName", + "documentation":"

                              The name of the project in the code repository.

                              " + }, + "providerType":{ + "shape":"CodeRepositoryProviderType", + "documentation":"

                              The type of repository provider (such as GitHub, GitLab, etc.).

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

                              Contains details about a code repository associated with a finding.

                              " + }, + "CodeRepositoryIntegrationArn":{ + "type":"string", + "pattern":"^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration\\/[a-f0-9-]{36}$" + }, + "CodeRepositoryMetadata":{ + "type":"structure", + "required":[ + "projectName", + "providerType", + "providerTypeVisibility" + ], + "members":{ + "integrationArn":{ + "shape":"CodeRepositoryIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration associated with the repository.

                              " + }, + "lastScannedCommitId":{ + "shape":"CommitId", + "documentation":"

                              The ID of the last commit that was scanned in the repository.

                              " + }, + "onDemandScan":{ + "shape":"CodeRepositoryOnDemandScan", + "documentation":"

                              Information about on-demand scans performed on the repository.

                              " + }, + "projectName":{ + "shape":"CodeRepositoryMetadataProjectNameString", + "documentation":"

                              The name of the project in the code repository.

                              " + }, + "providerType":{ + "shape":"CodeRepositoryMetadataProviderTypeString", + "documentation":"

                              The type of repository provider (such as GitHub, GitLab, etc.).

                              " + }, + "providerTypeVisibility":{ + "shape":"CodeRepositoryMetadataProviderTypeVisibilityString", + "documentation":"

                              The visibility setting of the repository (public or private).

                              " + }, + "scanConfiguration":{ + "shape":"ProjectCodeSecurityScanConfiguration", + "documentation":"

                              The scan configuration settings applied to the code repository.

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

                              Contains metadata information about a code repository that is being scanned by Amazon Inspector.

                              " + }, + "CodeRepositoryMetadataProjectNameString":{ + "type":"string", + "max":300, + "min":1 + }, + "CodeRepositoryMetadataProviderTypeString":{ + "type":"string", + "max":300, + "min":1 + }, + "CodeRepositoryMetadataProviderTypeVisibilityString":{ + "type":"string", + "max":300, + "min":1 + }, + "CodeRepositoryOnDemandScan":{ + "type":"structure", + "members":{ + "lastScanAt":{ + "shape":"DateTimeTimestamp", + "documentation":"

                              The timestamp when the last on-demand scan was performed.

                              " + }, + "lastScannedCommitId":{ + "shape":"CommitId", + "documentation":"

                              The ID of the last commit that was scanned during an on-demand scan.

                              " + }, + "scanStatus":{"shape":"ScanStatus"} + }, + "documentation":"

                              Contains information about on-demand scans performed on a code repository.

                              " + }, + "CodeRepositoryProjectName":{ + "type":"string", + "max":512, + "min":1 + }, + "CodeRepositoryProviderType":{ + "type":"string", + "enum":[ + "GITHUB", + "GITLAB_SELF_MANAGED" + ] + }, + "CodeRepositorySortBy":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "ALL" + ] + }, + "CodeScanStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESSFUL", + "FAILED", + "SKIPPED" + ] + }, + "CodeSecurityClientToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\S]+$" + }, + "CodeSecurityIntegrationArn":{ + "type":"string", + "documentation":"

                              arn:aws:inspector2:::codesecurity-integration/

                              ", + "pattern":"^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration/[a-f0-9-]{36}$" + }, + "CodeSecurityIntegrationSummary":{ + "type":"structure", + "required":[ + "createdOn", + "integrationArn", + "lastUpdateOn", + "name", + "status", + "statusReason", + "type" + ], + "members":{ + "createdOn":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the code security integration was created.

                              " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration.

                              " + }, + "lastUpdateOn":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the code security integration was last updated.

                              " + }, + "name":{ + "shape":"IntegrationName", + "documentation":"

                              The name of the code security integration.

                              " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

                              The current status of the code security integration.

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

                              The reason for the current status of the code security integration.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags associated with the code security integration.

                              " + }, + "type":{ + "shape":"IntegrationType", + "documentation":"

                              The type of repository provider for the integration.

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

                              A summary of information about a code security integration.

                              " + }, + "CodeSecurityResource":{ + "type":"structure", + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

                              The unique identifier of the project in the code repository.

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

                              Identifies a specific resource in a code repository that will be scanned.

                              ", + "union":true + }, + "CodeSecurityScanConfiguration":{ + "type":"structure", + "required":["ruleSetCategories"], + "members":{ + "continuousIntegrationScanConfiguration":{ + "shape":"ContinuousIntegrationScanConfiguration", + "documentation":"

                              Configuration settings for continuous integration scans that run automatically when code changes are made.

                              " + }, + "periodicScanConfiguration":{ + "shape":"PeriodicScanConfiguration", + "documentation":"

                              Configuration settings for periodic scans that run on a scheduled basis.

                              " + }, + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

                              The categories of security rules to be applied during the scan.

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

                              Contains the configuration settings for code security scans.

                              " + }, + "CodeSecurityScanConfigurationAssociationSummaries":{ + "type":"list", + "member":{"shape":"CodeSecurityScanConfigurationAssociationSummary"} + }, + "CodeSecurityScanConfigurationAssociationSummary":{ + "type":"structure", + "members":{ + "resource":{"shape":"CodeSecurityResource"} + }, + "documentation":"

                              A summary of an association between a code repository and a scan configuration.

                              " + }, + "CodeSecurityScanConfigurationSummaries":{ + "type":"list", + "member":{"shape":"CodeSecurityScanConfigurationSummary"} + }, + "CodeSecurityScanConfigurationSummary":{ + "type":"structure", + "required":[ + "name", + "ownerAccountId", + "ruleSetCategories", + "scanConfigurationArn" + ], + "members":{ + "continuousIntegrationScanSupportedEvents":{ + "shape":"ContinuousIntegrationScanSupportedEvents", + "documentation":"

                              The repository events that trigger continuous integration scans.

                              " + }, + "frequencyExpression":{ + "shape":"FrequencyExpression", + "documentation":"

                              The schedule expression for periodic scans, in cron format.

                              " + }, + "name":{ + "shape":"ScanConfigurationName", + "documentation":"

                              The name of the scan configuration.

                              " + }, + "ownerAccountId":{ + "shape":"OwnerId", + "documentation":"

                              The Amazon Web Services account ID that owns the scan configuration.

                              " + }, + "periodicScanFrequency":{ + "shape":"PeriodicScanFrequency", + "documentation":"

                              The frequency at which periodic scans are performed.

                              " + }, + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

                              The categories of security rules applied during the scan.

                              " + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration.

                              " + }, + "scopeSettings":{ + "shape":"ScopeSettings", + "documentation":"

                              The scope settings that define which repositories will be scanned. If the ScopeSetting parameter is ALL the scan configuration applies to all existing and future projects imported into Amazon Inspector.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags associated with the scan configuration.

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

                              A summary of information about a code security scan configuration.

                              " + }, + "CodeSecurityUuid":{ + "type":"string", + "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "CodeSnippetError":{ + "type":"structure", + "required":[ + "errorCode", + "errorMessage", + "findingArn" + ], + "members":{ + "errorCode":{ + "shape":"CodeSnippetErrorCode", + "documentation":"

                              The error code for the error that prevented a code snippet from being retrieved.

                              " + }, + "errorMessage":{ + "shape":"NonEmptyString", + "documentation":"

                              The error message received when Amazon Inspector failed to retrieve a code snippet.

                              " + }, + "findingArn":{ + "shape":"FindingArn", + "documentation":"

                              The ARN of the finding that a code snippet couldn't be retrieved for.

                              " + } }, "documentation":"

                              Contains information about any errors encountered while trying to retrieve a code snippet.

                              " }, @@ -3124,6 +3833,12 @@ }, "documentation":"

                              Contains information on the code vulnerability identified in your Lambda function.

                              " }, + "CommitId":{ + "type":"string", + "max":40, + "min":0, + "pattern":"^([a-f0-9]{40})$" + }, "Component":{"type":"string"}, "ComponentArn":{"type":"string"}, "ComponentType":{"type":"string"}, @@ -3145,6 +3860,13 @@ }, "documentation":"

                              A compute platform.

                              " }, + "ConfigurationLevel":{ + "type":"string", + "enum":[ + "ORGANIZATION", + "ACCOUNT" + ] + }, "ConflictException":{ "type":"structure", "required":[ @@ -3163,13 +3885,37 @@ "documentation":"

                              The type of the conflicting resource.

                              " } }, - "documentation":"

                              A conflict occurred.

                              ", + "documentation":"

                              A conflict occurred. This exception occurs when the same resource is being modified by concurrent requests.

                              ", "error":{ "httpStatusCode":409, "senderFault":true }, "exception":true }, + "ContinuousIntegrationScanConfiguration":{ + "type":"structure", + "required":["supportedEvents"], + "members":{ + "supportedEvents":{ + "shape":"ContinuousIntegrationScanSupportedEvents", + "documentation":"

                              The repository events that trigger continuous integration scans, such as pull requests or commits.

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

                              Configuration settings for continuous integration scans that run automatically when code changes are made.

                              " + }, + "ContinuousIntegrationScanEvent":{ + "type":"string", + "enum":[ + "PULL_REQUEST", + "PUSH" + ] + }, + "ContinuousIntegrationScanSupportedEvents":{ + "type":"list", + "member":{"shape":"ContinuousIntegrationScanEvent"}, + "max":2, + "min":1 + }, "Counts":{ "type":"structure", "members":{ @@ -3217,6 +3963,18 @@ "shape":"CoverageStringFilterList", "documentation":"

                              An array of Amazon Web Services account IDs to return coverage statistics for.

                              " }, + "codeRepositoryProjectName":{ + "shape":"CoverageStringFilterList", + "documentation":"

                              Filter criteria for code repositories based on project name.

                              " + }, + "codeRepositoryProviderType":{ + "shape":"CoverageStringFilterList", + "documentation":"

                              Filter criteria for code repositories based on provider type (such as GitHub, GitLab, etc.).

                              " + }, + "codeRepositoryProviderTypeVisibility":{ + "shape":"CoverageStringFilterList", + "documentation":"

                              Filter criteria for code repositories based on visibility setting (public or private).

                              " + }, "ec2InstanceTags":{ "shape":"CoverageMapFilterList", "documentation":"

                              The Amazon EC2 instance tags to filter on.

                              " @@ -3257,6 +4015,10 @@ "shape":"CoverageDateFilterList", "documentation":"

                              Filters Amazon Web Services resources based on whether Amazon Inspector has checked them for vulnerabilities within the specified time range.

                              " }, + "lastScannedCommitId":{ + "shape":"CoverageStringFilterList", + "documentation":"

                              Filter criteria for code repositories based on the ID of the last scanned commit.

                              " + }, "resourceId":{ "shape":"CoverageStringFilterList", "documentation":"

                              An array of Amazon Web Services resource IDs to return coverage statistics for.

                              " @@ -3342,7 +4104,8 @@ "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY", - "AWS_LAMBDA_FUNCTION" + "AWS_LAMBDA_FUNCTION", + "CODE_REPOSITORY" ] }, "CoverageStringComparison":{ @@ -3487,6 +4250,92 @@ }, "documentation":"

                              Creates CIS targets.

                              " }, + "CreateCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "details":{ + "shape":"CreateIntegrationDetail", + "documentation":"

                              The integration details specific to the repository provider type.

                              " + }, + "name":{ + "shape":"IntegrationName", + "documentation":"

                              The name of the code security integration.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags to apply to the code security integration.

                              " + }, + "type":{ + "shape":"IntegrationType", + "documentation":"

                              The type of repository provider for the integration.

                              " + } + } + }, + "CreateCodeSecurityIntegrationResponse":{ + "type":"structure", + "required":[ + "integrationArn", + "status" + ], + "members":{ + "authorizationUrl":{ + "shape":"AuthorizationUrl", + "documentation":"

                              The URL used to authorize the integration with the repository provider.

                              " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the created code security integration.

                              " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

                              The current status of the code security integration.

                              " + } + } + }, + "CreateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":[ + "configuration", + "level", + "name" + ], + "members":{ + "configuration":{ + "shape":"CodeSecurityScanConfiguration", + "documentation":"

                              The configuration settings for the code security scan.

                              " + }, + "level":{ + "shape":"ConfigurationLevel", + "documentation":"

                              The security level for the scan configuration.

                              " + }, + "name":{ + "shape":"ScanConfigurationName", + "documentation":"

                              The name of the scan configuration.

                              " + }, + "scopeSettings":{ + "shape":"ScopeSettings", + "documentation":"

                              The scope settings that define which repositories will be scanned. Include this parameter to create a default scan configuration. Otherwise Amazon Inspector creates a general scan configuration.

                              A default scan configuration automatically applies to all existing and future projects imported into Amazon Inspector. Use the BatchAssociateCodeSecurityScanConfiguration operation to associate a general scan configuration with projects.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags to apply to the scan configuration.

                              " + } + } + }, + "CreateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the created scan configuration.

                              " + } + } + }, "CreateFilterRequest":{ "type":"structure", "required":[ @@ -3561,6 +4410,35 @@ } } }, + "CreateGitLabSelfManagedIntegrationDetail":{ + "type":"structure", + "required":[ + "accessToken", + "instanceUrl" + ], + "members":{ + "accessToken":{ + "shape":"GitLabAccessToken", + "documentation":"

                              The personal access token used to authenticate with the self-managed GitLab instance.

                              " + }, + "instanceUrl":{ + "shape":"InstanceUrl", + "documentation":"

                              The URL of the self-managed GitLab instance.

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

                              Contains details required to create an integration with a self-managed GitLab instance.

                              " + }, + "CreateIntegrationDetail":{ + "type":"structure", + "members":{ + "gitlabSelfManaged":{ + "shape":"CreateGitLabSelfManagedIntegrationDetail", + "documentation":"

                              Details specific to creating an integration with a self-managed GitLab instance.

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

                              Contains details required to create a code security integration with a specific repository provider.

                              ", + "union":true + }, "CreateSbomExportRequest":{ "type":"structure", "required":[ @@ -3849,6 +4727,44 @@ } } }, + "DeleteCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":["integrationArn"], + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration to delete.

                              " + } + } + }, + "DeleteCodeSecurityIntegrationResponse":{ + "type":"structure", + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the deleted code security integration.

                              " + } + } + }, + "DeleteCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration to delete.

                              " + } + } + }, + "DeleteCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the deleted scan configuration.

                              " + } + } + }, "DeleteFilterRequest":{ "type":"structure", "required":["arn"], @@ -3974,6 +4890,27 @@ } } }, + "DisassociateConfigurationRequest":{ + "type":"structure", + "required":[ + "resource", + "scanConfigurationArn" + ], + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration to disassociate from a code repository.

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

                              Contains details about a request to disassociate a code repository from a scan configuration.

                              " + }, + "DisassociateConfigurationRequestList":{ + "type":"list", + "member":{"shape":"DisassociateConfigurationRequest"}, + "max":25, + "min":1 + }, "DisassociateMemberRequest":{ "type":"structure", "required":["accountId"], @@ -4263,7 +5200,7 @@ }, "rescanDuration":{ "shape":"EcrRescanDuration", - "documentation":"

                              The rescan duration configured for image push date.

                               </p> 
                              " + "documentation":"

                              The rescan duration configured for image push date.

                              " }, "status":{ "shape":"EcrRescanDurationStatus", @@ -4519,6 +5456,29 @@ "max":100, "min":0 }, + "FailedAssociationResult":{ + "type":"structure", + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration that failed to be associated or disassociated.

                              " + }, + "statusCode":{ + "shape":"AssociationResultStatusCode", + "documentation":"

                              The status code indicating why the association or disassociation failed.

                              " + }, + "statusMessage":{ + "shape":"AssociationResultStatusMessage", + "documentation":"

                              A message explaining why the association or disassociation failed.

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

                              Details about a failed attempt to associate or disassociate a code repository with a scan configuration.

                              " + }, + "FailedAssociationResultList":{ + "type":"list", + "member":{"shape":"FailedAssociationResult"} + }, "FailedMemberAccountEc2DeepInspectionStatusState":{ "type":"structure", "required":["accountId"], @@ -4627,6 +5587,14 @@ "shape":"StringFilterList", "documentation":"

                              Details of the Amazon Web Services account IDs used to filter findings.

                              " }, + "codeRepositoryProjectName":{ + "shape":"StringFilterList", + "documentation":"

                              Filter criteria for findings based on the project name in a code repository.

                              " + }, + "codeRepositoryProviderType":{ + "shape":"StringFilterList", + "documentation":"

                              Filter criteria for findings based on the repository provider type (such as GitHub, GitLab, etc.).

                              " + }, "codeVulnerabilityDetectorName":{ "shape":"StringFilterList", "documentation":"

                              The name of the detector used to identify a code vulnerability in a Lambda function used to filter findings.

                              " @@ -5216,9 +6184,15 @@ "EC2", "ECR", "LAMBDA", - "LAMBDA_CODE" + "LAMBDA_CODE", + "CODE_REPOSITORY" ] }, + "FrequencyExpression":{ + "type":"string", + "max":256, + "min":1 + }, "FunctionName":{ "type":"string", "pattern":"^[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" @@ -5352,9 +6326,174 @@ "shape":"ClusterInformationList", "documentation":"

                              A unit of work inside of a cluster, which can include metadata about the cluster.

                              " }, - "nextToken":{ - "shape":"GetClustersForImageNextToken", - "documentation":"

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

                              " + "nextToken":{ + "shape":"GetClustersForImageNextToken", + "documentation":"

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

                              " + } + } + }, + "GetCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":["integrationArn"], + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration to retrieve.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags associated with the code security integration.

                              " + } + } + }, + "GetCodeSecurityIntegrationResponse":{ + "type":"structure", + "required":[ + "createdOn", + "integrationArn", + "lastUpdateOn", + "name", + "status", + "statusReason", + "type" + ], + "members":{ + "authorizationUrl":{ + "shape":"AuthorizationUrl", + "documentation":"

                              The URL used to authorize the integration with the repository provider. This is only returned if reauthorization is required to fix a connection issue. Otherwise, it is null.

                              " + }, + "createdOn":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the code security integration was created.

                              " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration.

                              " + }, + "lastUpdateOn":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the code security integration was last updated.

                              " + }, + "name":{ + "shape":"IntegrationName", + "documentation":"

                              The name of the code security integration.

                              " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

                              The current status of the code security integration.

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

                              The reason for the current status of the code security integration.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags associated with the code security integration.

                              " + }, + "type":{ + "shape":"IntegrationType", + "documentation":"

                              The type of repository provider for the integration.

                              " + } + } + }, + "GetCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration to retrieve.

                              " + } + } + }, + "GetCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"CodeSecurityScanConfiguration", + "documentation":"

                              The configuration settings for the code security scan.

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

                              The timestamp when the scan configuration was created.

                              " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the scan configuration was last updated.

                              " + }, + "level":{ + "shape":"ConfigurationLevel", + "documentation":"

                              The security level for the scan configuration.

                              " + }, + "name":{ + "shape":"ScanConfigurationName", + "documentation":"

                              The name of the scan configuration.

                              " + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration.

                              " + }, + "scopeSettings":{ + "shape":"ScopeSettings", + "documentation":"

                              The scope settings that define which repositories will be scanned. If the ScopeSetting parameter is ALL the scan configuration applies to all existing and future projects imported into Amazon Inspector.

                              " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

                              The tags associated with the scan configuration.

                              " + } + } + }, + "GetCodeSecurityScanRequest":{ + "type":"structure", + "required":[ + "resource", + "scanId" + ], + "members":{ + "resource":{ + "shape":"CodeSecurityResource", + "documentation":"

                              The resource identifier for the code repository that was scanned.

                              " + }, + "scanId":{ + "shape":"CodeSecurityUuid", + "documentation":"

                              The unique identifier of the scan to retrieve.

                              " + } + } + }, + "GetCodeSecurityScanResponse":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"String", + "documentation":"

                              The Amazon Web Services account ID associated with the scan.

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

                              The timestamp when the scan was created.

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

                              The identifier of the last commit that was scanned. This is only returned if the scan was successful or skipped.

                              " + }, + "resource":{ + "shape":"CodeSecurityResource", + "documentation":"

                              The resource identifier for the code repository that was scanned.

                              " + }, + "scanId":{ + "shape":"CodeSecurityUuid", + "documentation":"

                              The unique identifier of the scan.

                              " + }, + "status":{ + "shape":"CodeScanStatus", + "documentation":"

                              The current status of the scan.

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

                              The reason for the current status of the scan.

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

                              The timestamp when the scan was last updated.

                              " } } }, @@ -5547,6 +6686,27 @@ } } }, + "GitHubAuthCode":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "GitHubInstallationId":{ + "type":"string", + "max":1024, + "min":1 + }, + "GitLabAccessToken":{ + "type":"string", + "sensitive":true + }, + "GitLabAuthCode":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, "GroupKey":{ "type":"string", "enum":[ @@ -5643,10 +6803,44 @@ }, "documentation":"

                              Information about the Amazon Inspector score given to a finding.

                              " }, + "InstanceUrl":{ + "type":"string", + "pattern":"^https://[-a-zA-Z0-9()@:%_+.~#?&//=]{1,1024}$", + "sensitive":true + }, "Integer":{ "type":"integer", "box":true }, + "IntegrationName":{ + "type":"string", + "max":60, + "min":1, + "pattern":"^[a-zA-Z0-9-_$:.]*$" + }, + "IntegrationStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "ACTIVE", + "INACTIVE", + "DISABLING" + ] + }, + "IntegrationSummaries":{ + "type":"list", + "member":{"shape":"CodeSecurityIntegrationSummary"}, + "max":100, + "min":0 + }, + "IntegrationType":{ + "type":"string", + "enum":[ + "GITLAB_SELF_MANAGED", + "GITHUB" + ] + }, "InternalServerException":{ "type":"structure", "required":["message"], @@ -6179,6 +7373,119 @@ "FAILED_CHECKS" ] }, + "ListCodeSecurityIntegrationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListCodeSecurityIntegrationsRequestMaxResultsInteger", + "documentation":"

                              The maximum number of results to return in a single call.

                              ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListCodeSecurityIntegrationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCodeSecurityIntegrationsResponse":{ + "type":"structure", + "members":{ + "integrations":{ + "shape":"IntegrationSummaries", + "documentation":"

                              A list of code security integration summaries.

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

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              " + } + } + }, + "ListCodeSecurityScanConfigurationAssociationsRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "maxResults":{ + "shape":"ListCodeSecurityScanConfigurationAssociationsRequestMaxResultsInteger", + "documentation":"

                              The maximum number of results to return in the response. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              ", + "location":"querystring", + "locationName":"nextToken" + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration to list associations for.

                              " + } + } + }, + "ListCodeSecurityScanConfigurationAssociationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCodeSecurityScanConfigurationAssociationsResponse":{ + "type":"structure", + "members":{ + "associations":{ + "shape":"CodeSecurityScanConfigurationAssociationSummaries", + "documentation":"

                              A list of associations between code repositories and scan configurations.

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

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              " + } + } + }, + "ListCodeSecurityScanConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListCodeSecurityScanConfigurationsRequestMaxResultsInteger", + "documentation":"

                              The maximum number of results to return in a single call.

                              ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListCodeSecurityScanConfigurationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCodeSecurityScanConfigurationsResponse":{ + "type":"structure", + "members":{ + "configurations":{ + "shape":"CodeSecurityScanConfigurationSummaries", + "documentation":"

                              A list of code security scan configuration summaries.

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

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              " + } + } + }, "ListCoverageMaxResults":{ "type":"integer", "box":true, @@ -6961,6 +8268,28 @@ "max":5, "min":0 }, + "PeriodicScanConfiguration":{ + "type":"structure", + "members":{ + "frequency":{ + "shape":"PeriodicScanFrequency", + "documentation":"

                              The frequency at which periodic scans are performed (such as weekly or monthly).

                              If you don't provide the frequencyExpression Amazon Inspector chooses day for the scan to run. If you provide the frequencyExpression, the schedule must match the specified frequency.

                              " + }, + "frequencyExpression":{ + "shape":"FrequencyExpression", + "documentation":"

                              The schedule expression for periodic scans, in cron format.

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

                              Configuration settings for periodic scans that run on a scheduled basis.

                              " + }, + "PeriodicScanFrequency":{ + "type":"string", + "enum":[ + "WEEKLY", + "MONTHLY", + "NEVER" + ] + }, "Permission":{ "type":"structure", "required":[ @@ -7050,6 +8379,64 @@ "max":32, "min":0 }, + "ProjectCodeSecurityScanConfiguration":{ + "type":"structure", + "members":{ + "continuousIntegrationScanConfigurations":{ + "shape":"ProjectContinuousIntegrationScanConfigurationList", + "documentation":"

                              The continuous integration scan configurations applied to the project.

                              " + }, + "periodicScanConfigurations":{ + "shape":"ProjectPeriodicScanConfigurationList", + "documentation":"

                              The periodic scan configurations applied to the project.

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

                              Contains the scan configuration settings applied to a specific project in a code repository.

                              " + }, + "ProjectContinuousIntegrationScanConfiguration":{ + "type":"structure", + "members":{ + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

                              The categories of security rules applied during continuous integration scans for the project.

                              " + }, + "supportedEvent":{ + "shape":"ContinuousIntegrationScanEvent", + "documentation":"

                              The repository event that triggers continuous integration scans for the project.

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

                              Contains the continuous integration scan configuration settings applied to a specific project.

                              " + }, + "ProjectContinuousIntegrationScanConfigurationList":{ + "type":"list", + "member":{"shape":"ProjectContinuousIntegrationScanConfiguration"} + }, + "ProjectId":{ + "type":"string", + "pattern":"^project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "ProjectPeriodicScanConfiguration":{ + "type":"structure", + "members":{ + "frequencyExpression":{ + "shape":"FrequencyExpression", + "documentation":"

                              The schedule expression for periodic scans, in cron format, applied to the project.

                              " + }, + "ruleSetCategories":{ + "shape":"RuleSetCategories", + "documentation":"

                              The categories of security rules applied during periodic scans for the project.

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

                              Contains the periodic scan configuration settings applied to a specific project.

                              " + }, + "ProjectPeriodicScanConfigurationList":{ + "type":"list", + "member":{"shape":"ProjectPeriodicScanConfiguration"} + }, + "ProjectSelectionScope":{ + "type":"string", + "enum":["ALL"] + }, "Reason":{ "type":"string", "max":1024, @@ -7260,6 +8647,10 @@ "awsLambdaFunction":{ "shape":"AwsLambdaFunctionDetails", "documentation":"

                              A summary of the information about an Amazon Web Services Lambda function affected by a finding.

                              " + }, + "codeRepository":{ + "shape":"CodeRepositoryDetails", + "documentation":"

                              Contains details about a code repository resource associated with a finding.

                              " } }, "documentation":"

                              Contains details about the resource involved in the finding.

                              " @@ -7306,7 +8697,7 @@ "type":"string", "max":341, "min":10, - "pattern":"(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$))" + "pattern":"(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$)|(^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration\\/[a-f0-9-]{36}\\/project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$))" }, "ResourceIdFilterList":{ "type":"list", @@ -7368,6 +8759,10 @@ "ResourceScanMetadata":{ "type":"structure", "members":{ + "codeRepository":{ + "shape":"CodeRepositoryMetadata", + "documentation":"

                              Contains metadata about scan coverage for a code repository resource.

                              " + }, "ec2":{ "shape":"Ec2Metadata", "documentation":"

                              An object that contains metadata details for an Amazon EC2 instance.

                              " @@ -7393,7 +8788,8 @@ "EC2", "ECR", "LAMBDA", - "LAMBDA_CODE" + "LAMBDA_CODE", + "CODE_REPOSITORY" ] }, "ResourceState":{ @@ -7403,6 +8799,7 @@ "ecr" ], "members":{ + "codeRepository":{"shape":"State"}, "ec2":{ "shape":"State", "documentation":"

                              An object detailing the state of Amazon Inspector scanning for Amazon EC2 resources.

                              " @@ -7429,6 +8826,10 @@ "ecr" ], "members":{ + "codeRepository":{ + "shape":"Status", + "documentation":"

                              The status of Amazon Inspector scanning for code repositories.

                              " + }, "ec2":{ "shape":"Status", "documentation":"

                              The status of Amazon Inspector scanning for Amazon EC2 resources.

                              " @@ -7496,7 +8897,8 @@ "AWS_EC2_INSTANCE", "AWS_ECR_CONTAINER_IMAGE", "AWS_ECR_REPOSITORY", - "AWS_LAMBDA_FUNCTION" + "AWS_LAMBDA_FUNCTION", + "CODE_REPOSITORY" ] }, "RiskScore":{ @@ -7508,6 +8910,20 @@ "max":500, "min":1 }, + "RuleSetCategories":{ + "type":"list", + "member":{"shape":"RuleSetCategory"}, + "max":3, + "min":1 + }, + "RuleSetCategory":{ + "type":"string", + "enum":[ + "SAST", + "IAC", + "SCA" + ] + }, "Runtime":{ "type":"string", "enum":[ @@ -7541,6 +8957,17 @@ "SPDX_2_3" ] }, + "ScanConfigurationArn":{ + "type":"string", + "documentation":"

                              arn:aws:inspector2:::owner//codesecurity-configuration/

                              ", + "pattern":"^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:owner/(\\d{12}|o-[a-z0-9]{10,32})/codesecurity-configuration/[a-f0-9-]{36}$" + }, + "ScanConfigurationName":{ + "type":"string", + "max":60, + "min":1, + "pattern":"^[a-zA-Z0-9-_$:.]*$" + }, "ScanMode":{ "type":"string", "enum":[ @@ -7557,7 +8984,7 @@ "members":{ "reason":{ "shape":"ScanStatusReason", - "documentation":"

                              The scan status. Possible return values and descriptions are:

                              PENDING_INITIAL_SCAN - This resource has been identified for scanning, results will be available soon.

                              ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. Please update the IAM policy.

                              INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this resource. Amazon Inspector service will automatically resolve the issue and resume the scanning. No action required from the user.

                              UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html. Once the instance becomes managed by SSM, Inspector will automatically begin scanning this instance.

                              UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, or image manifest type at this time. To see a complete list of supported operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this image.

                              RESOURCE_TERMINATED - This resource has been terminated. The findings and coverage associated with this resource are in the process of being cleaned up.

                              SUCCESSFUL - The scan was successful.

                              NO_RESOURCES_FOUND - Reserved for future use.

                              IMAGE_SIZE_EXCEEDED - Reserved for future use.

                              SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector due to the repository scan frequency configuration.

                              SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will not new findings because of the scan frequency configuration.

                              EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, Amazon Inspector will pause scanning. The existing findings will continue to exist until the instance is terminated. Once the instance is re-started, Inspector will automatically start scanning the instance again. Please note that you will not be charged for this instance while it’s in a stopped state.

                              PENDING_DISABLE - This resource is pending cleanup during disablement. The customer will not be billed while a resource is in the pending disable status.

                              NO INVENTORY - Amazon Inspector couldn’t find software application inventory to scan for vulnerabilities. This might be caused due to required Amazon Inspector associations being deleted or failing to run on your resource. Please verify the status of InspectorInventoryCollection-do-not-delete association in the SSM console for the resource. Additionally, you can verify the instance’s inventory in the SSM Fleet Manager console.

                              STALE_INVENTORY - Amazon Inspector wasn’t able to collect an updated software application inventory in the last 7 days. Please confirm the required Amazon Inspector associations still exist and you can still see an updated inventory in the SSM console.

                              EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded by a tag.

                              UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type.

                              UNSUPPORTED_CONFIG_FILE - Reserved for future use.

                              DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep inspection for this instance you can try to adjust the custom paths associated with the account.

                              DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't send inventory to Amazon Inspector because the SSM quota for Inventory data collected per instance per day has already been reached for this instance.

                              DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed to extract the package inventory because the package collection time exceeding the maximum threshold of 15 minutes.

                              DEEP_INSPECTION_NO_INVENTORY The Amazon Inspector plugin hasn't yet been able to collect an inventory of packages for this instance. This is usually the result of a pending scan, however, if this status persists after 6 hours, use SSM to ensure that the required Amazon Inspector associations exist and are running for the instance.

                              " + "documentation":"

                              The scan status. Possible return values and descriptions are:

                              ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. Please update the IAM policy.

                              ACCESS_DENIED_TO_ENCRYPTION_KEY - The KMS key policy doesn't allow Amazon Inspector access. Update the key policy.

                              DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed to extract the package inventory because the package collection time exceeding the maximum threshold of 15 minutes.

                              DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't send inventory to Amazon Inspector because the SSM quota for Inventory data collected per instance per day has already been reached for this instance.

                              DEEP_INSPECTION_NO_INVENTORY - The Amazon Inspector plugin hasn't yet been able to collect an inventory of packages for this instance. This is usually the result of a pending scan, however, if this status persists after 6 hours, use SSM to ensure that the required Amazon Inspector associations exist and are running for the instance.

                              DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep inspection for this instance you can try to adjust the custom paths associated with the account.

                              EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, Amazon Inspector will pause scanning. The existing findings will continue to exist until the instance is terminated. Once the instance is re-started, Inspector will automatically start scanning the instance again. Please note that you will not be charged for this instance while it's in a stopped state.

                              EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded by a tag.

                              IMAGE_SIZE_EXCEEDED - Reserved for future use.

                              INTEGRATION_CONNNECTION_LOST - Amazon Inspector couldn't communicate with the source code management platform.

                              INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this resource. Amazon Inspector service will automatically resolve the issue and resume the scanning. No action required from the user.

                              NO INVENTORY - Amazon Inspector couldn't find software application inventory to scan for vulnerabilities. This might be caused due to required Amazon Inspector associations being deleted or failing to run on your resource. Please verify the status of InspectorInventoryCollection-do-not-delete association in the SSM console for the resource. Additionally, you can verify the instance's inventory in the SSM Fleet Manager console.

                              NO_RESOURCES_FOUND - Reserved for future use.

                              NO_SCAN_CONFIGURATION_ASSOCIATED - The code repository resource doesn't have an associated scan configuration.

                              PENDING_DISABLE - This resource is pending cleanup during disablement. The customer will not be billed while a resource is in the pending disable status.

                              PENDING_INITIAL_SCAN - This resource has been identified for scanning, results will be available soon.

                              RESOURCE_TERMINATED - This resource has been terminated. The findings and coverage associated with this resource are in the process of being cleaned up.

                              SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this image.

                              SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector due to the repository scan frequency configuration.

                              SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will not new findings because of the scan frequency configuration.

                              SCAN_IN_PROGRESS - The resource is currently being scanned.

                              STALE_INVENTORY - Amazon Inspector wasn't able to collect an updated software application inventory in the last 7 days. Please confirm the required Amazon Inspector associations still exist and you can still see an updated inventory in the SSM console.

                              SUCCESSFUL - The scan was successful.

                              UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html. Once the instance becomes managed by SSM, Inspector will automatically begin scanning this instance.

                              UNSUPPORTED_CONFIG_FILE - Reserved for future use.

                              UNSUPPORTED_LANGUAGE - The scan was unsuccessful because the repository contains files in an unsupported programming language.

                              UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type.

                              UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, or image manifest type at this time. To see a complete list of supported operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              " }, "statusCode":{ "shape":"ScanStatusCode", @@ -7602,7 +9029,12 @@ "DEEP_INSPECTION_NO_INVENTORY", "AGENTLESS_INSTANCE_STORAGE_LIMIT_EXCEEDED", "AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED", - "PENDING_REVIVAL_SCAN" + "PENDING_REVIVAL_SCAN", + "INTEGRATION_CONNECTION_LOST", + "ACCESS_DENIED_TO_ENCRYPTION_KEY", + "UNSUPPORTED_LANGUAGE", + "NO_SCAN_CONFIGURATION_ASSOCIATED", + "SCAN_IN_PROGRESS" ] }, "ScanType":{ @@ -7636,6 +9068,16 @@ "documentation":"

                              A schedule.

                              ", "union":true }, + "ScopeSettings":{ + "type":"structure", + "members":{ + "projectSelectionScope":{ + "shape":"ProjectSelectionScope", + "documentation":"

                              The scope of projects to be selected for scanning within the integrated repositories. Setting the value to ALL applies the scope settings to all existing and future projects imported into Amazon Inspector.

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

                              Defines the scope of repositories to be included in code security scans.

                              " + }, "SearchVulnerabilitiesFilterCriteria":{ "type":"structure", "required":["vulnerabilityIds"], @@ -7881,6 +9323,34 @@ "members":{ } }, + "StartCodeSecurityScanRequest":{ + "type":"structure", + "required":["resource"], + "members":{ + "clientToken":{ + "shape":"CodeSecurityClientToken", + "documentation":"

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

                              ", + "idempotencyToken":true + }, + "resource":{ + "shape":"CodeSecurityResource", + "documentation":"

                              The resource identifier for the code repository to scan.

                              " + } + } + }, + "StartCodeSecurityScanResponse":{ + "type":"structure", + "members":{ + "scanId":{ + "shape":"CodeSecurityUuid", + "documentation":"

                              The unique identifier of the initiated scan.

                              " + }, + "status":{ + "shape":"CodeScanStatus", + "documentation":"

                              The current status of the initiated scan.

                              " + } + } + }, "State":{ "type":"structure", "required":[ @@ -8121,6 +9591,21 @@ "max":16, "min":0 }, + "SuccessfulAssociationResult":{ + "type":"structure", + "members":{ + "resource":{"shape":"CodeSecurityResource"}, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration that was successfully associated or disassociated.

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

                              Details about a successful association or disassociation between a code repository and a scan configuration.

                              " + }, + "SuccessfulAssociationResultList":{ + "type":"list", + "member":{"shape":"SuccessfulAssociationResult"} + }, "SuggestedFix":{ "type":"structure", "members":{ @@ -8492,6 +9977,66 @@ }, "documentation":"

                              Updates CIS targets.

                              " }, + "UpdateCodeSecurityIntegrationRequest":{ + "type":"structure", + "required":[ + "details", + "integrationArn" + ], + "members":{ + "details":{ + "shape":"UpdateIntegrationDetails", + "documentation":"

                              The updated integration details specific to the repository provider type.

                              " + }, + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the code security integration to update.

                              " + } + } + }, + "UpdateCodeSecurityIntegrationResponse":{ + "type":"structure", + "required":[ + "integrationArn", + "status" + ], + "members":{ + "integrationArn":{ + "shape":"CodeSecurityIntegrationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the updated code security integration.

                              " + }, + "status":{ + "shape":"IntegrationStatus", + "documentation":"

                              The current status of the updated code security integration.

                              " + } + } + }, + "UpdateCodeSecurityScanConfigurationRequest":{ + "type":"structure", + "required":[ + "configuration", + "scanConfigurationArn" + ], + "members":{ + "configuration":{ + "shape":"CodeSecurityScanConfiguration", + "documentation":"

                              The updated configuration settings for the code security scan.

                              " + }, + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the scan configuration to update.

                              " + } + } + }, + "UpdateCodeSecurityScanConfigurationResponse":{ + "type":"structure", + "members":{ + "scanConfigurationArn":{ + "shape":"ScanConfigurationArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the updated scan configuration.

                              " + } + } + }, "UpdateConfigurationRequest":{ "type":"structure", "members":{ @@ -8611,6 +10156,50 @@ } } }, + "UpdateGitHubIntegrationDetail":{ + "type":"structure", + "required":[ + "code", + "installationId" + ], + "members":{ + "code":{ + "shape":"GitHubAuthCode", + "documentation":"

                              The authorization code received from GitHub to update the integration.

                              " + }, + "installationId":{ + "shape":"GitHubInstallationId", + "documentation":"

                              The installation ID of the GitHub App associated with the integration.

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

                              Contains details required to update an integration with GitHub.

                              " + }, + "UpdateGitLabSelfManagedIntegrationDetail":{ + "type":"structure", + "required":["authCode"], + "members":{ + "authCode":{ + "shape":"GitLabAuthCode", + "documentation":"

                              The authorization code received from the self-managed GitLab instance to update the integration.

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

                              Contains details required to update an integration with a self-managed GitLab instance.

                              " + }, + "UpdateIntegrationDetails":{ + "type":"structure", + "members":{ + "github":{ + "shape":"UpdateGitHubIntegrationDetail", + "documentation":"

                              Details specific to updating an integration with GitHub.

                              " + }, + "gitlabSelfManaged":{ + "shape":"UpdateGitLabSelfManagedIntegrationDetail", + "documentation":"

                              Details specific to updating an integration with a self-managed GitLab instance.

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

                              Contains details required to update a code security integration with a specific repository provider.

                              ", + "union":true + }, "UpdateOrgEc2DeepInspectionConfigurationRequest":{ "type":"structure", "required":["orgPackagePaths"], @@ -8707,7 +10296,10 @@ "ECR_INITIAL_SCAN", "ECR_RESCAN", "LAMBDA_FUNCTION_HOURS", - "LAMBDA_FUNCTION_CODE_HOURS" + "LAMBDA_FUNCTION_CODE_HOURS", + "CODE_REPOSITORY_SAST", + "CODE_REPOSITORY_IAC", + "CODE_REPOSITORY_SCA" ] }, "UsageValue":{ diff --git a/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json b/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json index 94809d3642d..19bef5b92d1 100644 --- a/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json +++ b/tools/code-generation/api-descriptions/iotfleetwise-2021-06-17.normal.json @@ -5297,7 +5297,7 @@ }, "status":{ "shape":"CampaignStatus", - "documentation":"

                              The state of a campaign. The status can be one of:

                              • CREATING - Amazon Web Services IoT FleetWise is processing your request to create the campaign.

                              • WAITING_FOR_APPROVAL - After a campaign is created, it enters the WAITING_FOR_APPROVAL state. To allow Amazon Web Services IoT FleetWise to deploy the campaign to the target vehicle or fleet, use the API operation to approve the campaign.

                              • RUNNING - The campaign is active.

                              • SUSPENDED - The campaign is suspended. To resume the campaign, use the API operation.

                              " + "documentation":"

                              The state of a campaign. The status can be one of:

                              • CREATING - Amazon Web Services IoT FleetWise is processing your request to create the campaign.

                              • WAITING_FOR_APPROVAL - After you create a campaign, it enters this state. Use the API operation to approve the campaign for deployment to the target vehicle or fleet.

                              • RUNNING - The campaign is active.

                              • SUSPENDED - The campaign is suspended. To resume the campaign, use the API operation.

                              " } } }, @@ -5742,7 +5742,8 @@ "READY", "HEALTHY", "SUSPENDED", - "DELETING" + "DELETING", + "READY_FOR_CHECKIN" ] }, "VehicleStatus":{ @@ -5758,7 +5759,7 @@ }, "status":{ "shape":"VehicleState", - "documentation":"

                              The status of a campaign, which can be one of the following:

                              • CREATED - The campaign has been created successfully but has not been approved.

                              • READY - The campaign has been approved but has not been deployed to the vehicle.

                              • HEALTHY - The campaign has been deployed to the vehicle.

                              • SUSPENDED - The campaign has been suspended and data collection is paused.

                              • DELETING - The campaign is being removed from the vehicle.

                              " + "documentation":"

                              The status of a campaign, which can be one of the following:

                              • CREATED - The campaign exists but is not yet approved.

                              • READY - The campaign is approved but has not been deployed to the vehicle. Data has not arrived at the vehicle yet.

                              • HEALTHY - The campaign is deployed to the vehicle.

                              • SUSPENDED - The campaign is suspended and data collection is paused.

                              • DELETING - The campaign is being removed from the vehicle.

                              • READY_FOR_CHECKIN - The campaign is approved and waiting for vehicle check-in before deployment.

                              " } }, "documentation":"

                              Information about a campaign associated with a vehicle.

                              " diff --git a/tools/code-generation/api-descriptions/kms-2014-11-01.normal.json b/tools/code-generation/api-descriptions/kms-2014-11-01.normal.json index 20d6cd68a16..ceefb57f956 100644 --- a/tools/code-generation/api-descriptions/kms-2014-11-01.normal.json +++ b/tools/code-generation/api-descriptions/kms-2014-11-01.normal.json @@ -140,7 +140,7 @@ {"shape":"XksKeyAlreadyInUseException"}, {"shape":"XksKeyNotFoundException"} ], - "documentation":"

                              Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

                              A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state.

                              Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

                              KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

                              To create different types of KMS keys, use the following guidance:

                              Symmetric encryption KMS key

                              By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

                              To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

                              If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

                              Asymmetric KMS keys

                              To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

                              Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 can be used only to sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

                              HMAC KMS key

                              To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

                              HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

                              Multi-Region primary keys
                              Imported key material

                              To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

                              You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

                              This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .

                              You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

                              To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material step 1. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              Custom key store

                              A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

                              KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

                              Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

                              Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

                              To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

                              To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

                              To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

                              Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

                              Cross-account use: No. You cannot use this operation to create a KMS key in a different Amazon Web Services account.

                              Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

                              Related operations:

                              Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

                              " + "documentation":"

                              Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

                              A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state.

                              Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

                              KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

                              To create different types of KMS keys, use the following guidance:

                              Symmetric encryption KMS key

                              By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

                              To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

                              If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

                              Asymmetric KMS keys

                              To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

                              Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, ML-DSA key pair or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 can be used only to sign and verify messages. KMS keys with ML-DSA key pairs can be used to sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

                              HMAC KMS key

                              To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

                              HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

                              Multi-Region primary keys
                              Imported key material

                              To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

                              You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

                              This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .

                              You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

                              To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material step 1. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              Custom key store

                              A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

                              KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

                              Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

                              Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

                              To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

                              To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

                              To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

                              Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

                              Cross-account use: No. You cannot use this operation to create a KMS key in a different Amazon Web Services account.

                              Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

                              Related operations:

                              Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

                              " }, "Decrypt":{ "name":"Decrypt", @@ -868,7 +868,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"DryRunOperationException"} ], - "documentation":"

                              Creates a digital signature for a message or message digest by using the private key in an asymmetric signing KMS key. To verify the signature, use the Verify operation, or use the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

                              Digital signatures are generated and verified by using asymmetric key pair, such as an RSA or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized user) uses their private key to sign a message. Anyone with the public key can verify that the message was signed with that particular private key and that the message hasn't changed since it was signed.

                              To use the Sign operation, provide the following information:

                              • Use the KeyId parameter to identify an asymmetric KMS key with a KeyUsage value of SIGN_VERIFY. To get the KeyUsage value of a KMS key, use the DescribeKey operation. The caller must have kms:Sign permission on the KMS key.

                              • Use the Message parameter to specify the message or message digest to sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a hash digest of the message, and then provide the hash digest in the Message parameter. To indicate whether the message is a full message or a digest, use the MessageType parameter.

                              • Choose a signing algorithm that is compatible with the KMS key.

                              When signing a message, be sure to record the KMS key and the signing algorithm. This information is required to verify the signature.

                              Best practices recommend that you limit the time during which any signature is effective. This deters an attack where the actor uses a signed message to establish validity repeatedly or long after the message is superseded. Signatures do not include a timestamp, but you can include a timestamp in the signed message to help you detect when its time to refresh the signature.

                              To verify the signature that this operation generates, use the Verify operation. Or use the GetPublicKey operation to download the public key and then use the public key to verify the signature outside of KMS.

                              The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

                              Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

                              Required permissions: kms:Sign (key policy)

                              Related operations: Verify

                              Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

                              " + "documentation":"

                              Creates a digital signature for a message or message digest by using the private key in an asymmetric signing KMS key. To verify the signature, use the Verify operation, or use the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

                              Digital signatures are generated and verified by using asymmetric key pair, such as an RSA, ECC, or ML-DSA pair that is represented by an asymmetric KMS key. The key owner (or an authorized user) uses their private key to sign a message. Anyone with the public key can verify that the message was signed with that particular private key and that the message hasn't changed since it was signed.

                              To use the Sign operation, provide the following information:

                              • Use the KeyId parameter to identify an asymmetric KMS key with a KeyUsage value of SIGN_VERIFY. To get the KeyUsage value of a KMS key, use the DescribeKey operation. The caller must have kms:Sign permission on the KMS key.

                              • Use the Message parameter to specify the message or message digest to sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a hash digest of the message, and then provide the hash digest in the Message parameter. To indicate whether the message is a full message, a digest, or an ML-DSA EXTERNAL_MU, use the MessageType parameter.

                              • Choose a signing algorithm that is compatible with the KMS key.

                              When signing a message, be sure to record the KMS key and the signing algorithm. This information is required to verify the signature.

                              Best practices recommend that you limit the time during which any signature is effective. This deters an attack where the actor uses a signed message to establish validity repeatedly or long after the message is superseded. Signatures do not include a timestamp, but you can include a timestamp in the signed message to help you detect when its time to refresh the signature.

                              To verify the signature that this operation generates, use the Verify operation. Or use the GetPublicKey operation to download the public key and then use the public key to verify the signature outside of KMS.

                              The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

                              Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

                              Required permissions: kms:Sign (key policy)

                              Related operations: Verify

                              Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

                              " }, "TagResource":{ "name":"TagResource", @@ -1370,7 +1370,7 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"

                              Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage value after the KMS key is created.

                              Select only one valid value.

                              • For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.

                              • For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

                              • For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

                              • For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify SIGN_VERIFY or KEY_AGREEMENT.

                              • For asymmetric KMS keys with ECC_SECG_P256K1 key pairs specify SIGN_VERIFY.

                              • For asymmetric KMS keys with SM2 key pairs (China Regions only), specify ENCRYPT_DECRYPT, SIGN_VERIFY, or KEY_AGREEMENT.

                              " + "documentation":"

                              Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage value after the KMS key is created.

                              Select only one valid value.

                              • For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.

                              • For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

                              • For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

                              • For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify SIGN_VERIFY or KEY_AGREEMENT.

                              • For asymmetric KMS keys with ECC_SECG_P256K1 key pairs, specify SIGN_VERIFY.

                              • For asymmetric KMS keys with ML-DSA key pairs, specify SIGN_VERIFY.

                              • For asymmetric KMS keys with SM2 key pairs (China Regions only), specify ENCRYPT_DECRYPT, SIGN_VERIFY, or KEY_AGREEMENT.

                              " }, "CustomerMasterKeySpec":{ "shape":"CustomerMasterKeySpec", @@ -1380,7 +1380,7 @@ }, "KeySpec":{ "shape":"KeySpec", - "documentation":"

                              Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For a detailed description of all supported key specs, see Key spec reference in the Key Management Service Developer Guide .

                              The KeySpec determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm, kms:KeyAgreementAlgorithm, or kms:SigningAlgorithm in the Key Management Service Developer Guide .

                              Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.

                              KMS supports the following key specs for KMS keys:

                              • Symmetric encryption key (default)

                                • SYMMETRIC_DEFAULT

                              • HMAC keys (symmetric)

                                • HMAC_224

                                • HMAC_256

                                • HMAC_384

                                • HMAC_512

                              • Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)

                                • RSA_2048

                                • RSA_3072

                                • RSA_4096

                              • Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared secrets)

                                • ECC_NIST_P256 (secp256r1)

                                • ECC_NIST_P384 (secp384r1)

                                • ECC_NIST_P521 (secp521r1)

                              • Other asymmetric elliptic curve key pairs (signing and verification)

                                • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

                              • SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)

                                • SM2 (China Regions only)

                              " + "documentation":"

                              Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For a detailed description of all supported key specs, see Key spec reference in the Key Management Service Developer Guide .

                              The KeySpec determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm, kms:KeyAgreementAlgorithm, or kms:SigningAlgorithm in the Key Management Service Developer Guide .

                              Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.

                              KMS supports the following key specs for KMS keys:

                              • Symmetric encryption key (default)

                                • SYMMETRIC_DEFAULT

                              • HMAC keys (symmetric)

                                • HMAC_224

                                • HMAC_256

                                • HMAC_384

                                • HMAC_512

                              • Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)

                                • RSA_2048

                                • RSA_3072

                                • RSA_4096

                              • Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared secrets)

                                • ECC_NIST_P256 (secp256r1)

                                • ECC_NIST_P384 (secp384r1)

                                • ECC_NIST_P521 (secp521r1)

                              • Other asymmetric elliptic curve key pairs (signing and verification)

                                • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

                              • Asymmetric ML-DSA key pairs (signing and verification)

                                • ML_DSA_44

                                • ML_DSA_65

                                • ML_DSA_87

                              • SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)

                                • SM2 (China Regions only)

                              " }, "Origin":{ "shape":"OriginType", @@ -1974,7 +1974,7 @@ }, "KeyPairSpec":{ "shape":"DataKeyPairSpec", - "documentation":"

                              Determines the type of data key pair that is generated.

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              " + "documentation":"

                              Determines the type of data key pair that is generated.

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), the rule that permits you to use ECC KMS keys only to sign and verify, and the rule that permits you to use ML-DSA key pairs to sign and verify only are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              " }, "GrantTokens":{ "shape":"GrantTokenList", @@ -2019,7 +2019,7 @@ }, "KeyMaterialId":{ "shape":"BackingKeyIdType", - "documentation":"

                              The identifier of the key material used to encrypt the private key. This field is omitted if the request includes the Recipient parameter.

                              " + "documentation":"

                              The identifier of the key material used to encrypt the private key.

                              " } } }, @@ -2040,7 +2040,7 @@ }, "KeyPairSpec":{ "shape":"DataKeyPairSpec", - "documentation":"

                              Determines the type of data key pair that is generated.

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              " + "documentation":"

                              Determines the type of data key pair that is generated.

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), the rule that permits you to use ECC KMS keys only to sign and verify, and the rule that permits you to use ML-DSA key pairs to sign and verify only are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              " }, "GrantTokens":{ "shape":"GrantTokenList", @@ -2907,7 +2907,10 @@ "HMAC_256", "HMAC_384", "HMAC_512", - "SM2" + "SM2", + "ML_DSA_44", + "ML_DSA_65", + "ML_DSA_87" ] }, "KeyState":{ @@ -3225,7 +3228,8 @@ "type":"string", "enum":[ "RAW", - "DIGEST" + "DIGEST", + "EXTERNAL_MU" ] }, "MultiRegionConfiguration":{ @@ -3677,7 +3681,7 @@ }, "MessageType":{ "shape":"MessageType", - "documentation":"

                              Tells KMS whether the value of the Message parameter should be hashed as part of the signing algorithm. Use RAW for unhashed messages; use DIGEST for message digests, which are already hashed.

                              When the value of MessageType is RAW, KMS uses the standard signing algorithm, which begins with a hash function. When the value is DIGEST, KMS skips the hashing step in the signing algorithm.

                              Use the DIGEST value only when the value of the Message parameter is a message digest. If you use the DIGEST value with an unhashed message, the security of the signing operation can be compromised.

                              When the value of MessageTypeis DIGEST, the length of the Message value must match the length of hashed messages for the specified signing algorithm.

                              You can submit a message digest and omit the MessageType or specify RAW so the digest is hashed again while signing. However, this can cause verification failures when verifying with a system that assumes a single hash.

                              The hashing algorithm in that Sign uses is based on the SigningAlgorithm value.

                              • Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                              • Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                              • Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                              • SM2DSA uses the SM3 hashing algorithm. For details, see Offline verification with SM2 key pairs.

                              " + "documentation":"

                              Tells KMS whether the value of the Message parameter should be hashed as part of the signing algorithm. Use RAW for unhashed messages; use DIGEST for message digests, which are already hashed; use EXTERNAL_MU for 64-byte representative μ used in ML-DSA signing as defined in NIST FIPS 204 Section 6.2.

                              When the value of MessageType is RAW, KMS uses the standard signing algorithm, which begins with a hash function. When the value is DIGEST, KMS skips the hashing step in the signing algorithm. When the value is EXTERNAL_MU KMS skips the concatenated hashing of the public key hash and the message done in the ML-DSA signing algorithm.

                              Use the DIGEST or EXTERNAL_MU value only when the value of the Message parameter is a message digest. If you use the DIGEST value with an unhashed message, the security of the signing operation can be compromised.

                              When the value of MessageType is DIGEST, the length of the Message value must match the length of hashed messages for the specified signing algorithm.

                              When the value of MessageType is EXTERNAL_MU the length of the Message value must be 64 bytes.

                              You can submit a message digest and omit the MessageType or specify RAW so the digest is hashed again while signing. However, this can cause verification failures when verifying with a system that assumes a single hash.

                              The hashing algorithm that Sign uses is based on the SigningAlgorithm value.

                              • Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                              • Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                              • Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                              • Signing algorithms that end in SHAKE_256 use the SHAKE_256 hashing algorithm.

                              • SM2DSA uses the SM3 hashing algorithm. For details, see Offline verification with SM2 key pairs.

                              " }, "GrantTokens":{ "shape":"GrantTokenList", @@ -3722,7 +3726,8 @@ "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", - "SM2DSA" + "SM2DSA", + "ML_DSA_SHAKE_256" ] }, "SigningAlgorithmSpecList":{ @@ -3988,7 +3993,7 @@ }, "MessageType":{ "shape":"MessageType", - "documentation":"

                              Tells KMS whether the value of the Message parameter should be hashed as part of the signing algorithm. Use RAW for unhashed messages; use DIGEST for message digests, which are already hashed.

                              When the value of MessageType is RAW, KMS uses the standard signing algorithm, which begins with a hash function. When the value is DIGEST, KMS skips the hashing step in the signing algorithm.

                              Use the DIGEST value only when the value of the Message parameter is a message digest. If you use the DIGEST value with an unhashed message, the security of the verification operation can be compromised.

                              When the value of MessageTypeis DIGEST, the length of the Message value must match the length of hashed messages for the specified signing algorithm.

                              You can submit a message digest and omit the MessageType or specify RAW so the digest is hashed again while signing. However, if the signed message is hashed once while signing, but twice while verifying, verification fails, even when the message hasn't changed.

                              The hashing algorithm in that Verify uses is based on the SigningAlgorithm value.

                              • Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                              • Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                              • Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                              • SM2DSA uses the SM3 hashing algorithm. For details, see Offline verification with SM2 key pairs.

                              " + "documentation":"

                              Tells KMS whether the value of the Message parameter should be hashed as part of the signing algorithm. Use RAW for unhashed messages; use DIGEST for message digests, which are already hashed; use EXTERNAL_MU for 64-byte representative μ used in ML-DSA signing as defined in NIST FIPS 204 Section 6.2.

                              When the value of MessageType is RAW, KMS uses the standard signing algorithm, which begins with a hash function. When the value is DIGEST, KMS skips the hashing step in the signing algorithm. When the value is EXTERNAL_MU KMS skips the concatenated hashing of the public key hash and the message done in the ML-DSA signing algorithm.

                              Use the DIGEST or EXTERNAL_MU value only when the value of the Message parameter is a message digest. If you use the DIGEST value with an unhashed message, the security of the signing operation can be compromised.

                              When the value of MessageType is DIGEST, the length of the Message value must match the length of hashed messages for the specified signing algorithm.

                              When the value of MessageType is EXTERNAL_MU the length of the Message value must be 64 bytes.

                              You can submit a message digest and omit the MessageType or specify RAW so the digest is hashed again while signing. However, if the signed message is hashed once while signing, but twice while verifying, verification fails, even when the message hasn't changed.

                              The hashing algorithm that Verify uses is based on the SigningAlgorithm value.

                              • Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                              • Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                              • Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                              • Signing algorithms that end in SHAKE_256 use the SHAKE_256 hashing algorithm.

                              • SM2DSA uses the SM3 hashing algorithm. For details, see Offline verification with SM2 key pairs.

                              " }, "Signature":{ "shape":"CiphertextType", diff --git a/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json b/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json index 8b5f3b7ff32..a3ab7528ed2 100644 --- a/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json +++ b/tools/code-generation/api-descriptions/lambda-2015-03-31.normal.json @@ -101,7 +101,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

                              Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                              For details about how to configure different event sources, see the following topics.

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                              • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                              • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                              • ParallelizationFactor – Process multiple batches from each shard concurrently.

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              • DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

                              For information about which configuration parameters apply to each event source, see the following topics.

                              " + "documentation":"

                              Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                              For details about how to configure different event sources, see the following topics.

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                              • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                              • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                              • ParallelizationFactor – Process multiple batches from each shard concurrently.

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              • OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket. For more information, see Adding a destination.

                              For information about which configuration parameters apply to each event source, see the following topics.

                              " }, "CreateFunction":{ "name":"CreateFunction", @@ -1166,7 +1166,7 @@ {"shape":"ResourceConflictException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

                              Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume later from the same location.

                              For details about how to configure different event sources, see the following topics.

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                              • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                              • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                              • ParallelizationFactor – Process multiple batches from each shard concurrently.

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              • DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket.

                              For information about which configuration parameters apply to each event source, see the following topics.

                              " + "documentation":"

                              Updates an event source mapping. You can change the function that Lambda invokes, or pause invocation and resume later from the same location.

                              For details about how to configure different event sources, see the following topics.

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              • BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                              • MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                              • MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                              • ParallelizationFactor – Process multiple batches from each shard concurrently.

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              • OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or Amazon S3 bucket. For more information, see Adding a destination.

                              For information about which configuration parameters apply to each event source, see the following topics.

                              " }, "UpdateFunctionCode":{ "name":"UpdateFunctionCode", @@ -1511,6 +1511,10 @@ "ConsumerGroupId":{ "shape":"URI", "documentation":"

                              The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                              " + }, + "SchemaRegistryConfig":{ + "shape":"KafkaSchemaRegistryConfig", + "documentation":"

                              Specific configuration settings for a Kafka schema registry.

                              " } }, "documentation":"

                              Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.

                              " @@ -2080,7 +2084,7 @@ "documentation":"

                              The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

                              " } }, - "documentation":"

                              The dead-letter queue for failed asynchronous invocations.

                              " + "documentation":"

                              The dead-letter queue for failed asynchronous invocations.

                              " }, "DeleteAliasRequest":{ "type":"structure", @@ -2117,8 +2121,7 @@ }, "DeleteCodeSigningConfigResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteEventSourceMappingRequest":{ "type":"structure", @@ -2268,14 +2271,14 @@ "members":{ "OnSuccess":{ "shape":"OnSuccess", - "documentation":"

                              The destination configuration for successful invocations.

                              " + "documentation":"

                              The destination configuration for successful invocations. Not supported in CreateEventSourceMapping or UpdateEventSourceMapping.

                              " }, "OnFailure":{ "shape":"OnFailure", "documentation":"

                              The destination configuration for failed invocations.

                              " } }, - "documentation":"

                              A configuration object that specifies the destination of an event after Lambda processes it.

                              " + "documentation":"

                              A configuration object that specifies the destination of an event after Lambda processes it. For more information, see Adding a destination.

                              " }, "DocumentDBEventSourceConfig":{ "type":"structure", @@ -2520,7 +2523,7 @@ }, "LastProcessingResult":{ "shape":"String", - "documentation":"

                              The result of the last Lambda invocation of your function.

                              " + "documentation":"

                              The result of the event source mapping's last processing attempt.

                              " }, "State":{ "shape":"String", @@ -3064,8 +3067,7 @@ }, "GetAccountSettingsRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetAccountSettingsResponse":{ "type":"structure", @@ -3992,6 +3994,75 @@ "error":{"httpStatusCode":502}, "exception":true }, + "KafkaSchemaRegistryAccessConfig":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"KafkaSchemaRegistryAuthType", + "documentation":"

                              The type of authentication Lambda uses to access your schema registry.

                              " + }, + "URI":{ + "shape":"Arn", + "documentation":"

                              The URI of the secret (Secrets Manager secret ARN) to authenticate with your schema registry.

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

                              Specific access configuration settings that tell Lambda how to authenticate with your schema registry.

                              If you're working with an Glue schema registry, don't provide authentication details in this object. Instead, ensure that your execution role has the required permissions for Lambda to access your cluster.

                              If you're working with a Confluent schema registry, choose the authentication method in the Type field, and provide the Secrets Manager secret ARN in the URI field.

                              " + }, + "KafkaSchemaRegistryAccessConfigList":{ + "type":"list", + "member":{"shape":"KafkaSchemaRegistryAccessConfig"} + }, + "KafkaSchemaRegistryAuthType":{ + "type":"string", + "enum":[ + "BASIC_AUTH", + "CLIENT_CERTIFICATE_TLS_AUTH", + "SERVER_ROOT_CA_CERTIFICATE" + ] + }, + "KafkaSchemaRegistryConfig":{ + "type":"structure", + "members":{ + "SchemaRegistryURI":{ + "shape":"SchemaRegistryUri", + "documentation":"

                              The URI for your schema registry. The correct URI format depends on the type of schema registry you're using.

                              • For Glue schema registries, use the ARN of the registry.

                              • For Confluent schema registries, use the URL of the registry.

                              " + }, + "EventRecordFormat":{ + "shape":"SchemaRegistryEventRecordFormat", + "documentation":"

                              The record format that Lambda delivers to your function after schema validation.

                              • Choose JSON to have Lambda deliver the record to your function as a standard JSON object.

                              • Choose SOURCE to have Lambda deliver the record to your function in its original source format. Lambda removes all schema metadata, such as the schema ID, before sending the record to your function.

                              " + }, + "AccessConfigs":{ + "shape":"KafkaSchemaRegistryAccessConfigList", + "documentation":"

                              An array of access configuration objects that tell Lambda how to authenticate with your schema registry.

                              " + }, + "SchemaValidationConfigs":{ + "shape":"KafkaSchemaValidationConfigList", + "documentation":"

                              An array of schema validation configuration objects, which tell Lambda the message attributes you want to validate and filter using your schema registry.

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

                              Specific configuration settings for a Kafka schema registry.

                              " + }, + "KafkaSchemaValidationAttribute":{ + "type":"string", + "enum":[ + "KEY", + "VALUE" + ] + }, + "KafkaSchemaValidationConfig":{ + "type":"structure", + "members":{ + "Attribute":{ + "shape":"KafkaSchemaValidationAttribute", + "documentation":"

                              The attributes you want your schema registry to validate and filter for. If you selected JSON as the EventRecordFormat, Lambda also deserializes the selected message attributes.

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

                              Specific schema validation configuration settings that tell Lambda the message attributes you want to validate and filter using your schema registry.

                              " + }, + "KafkaSchemaValidationConfigList":{ + "type":"list", + "member":{"shape":"KafkaSchemaValidationConfig"} + }, "LastUpdateStatus":{ "type":"string", "enum":[ @@ -4814,7 +4885,7 @@ "documentation":"

                              The Amazon Resource Name (ARN) of the destination resource.

                              To retain records of unsuccessful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.

                              To retain records of failed invocations from Kinesis, DynamoDB, self-managed Kafka or Amazon MSK, you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.

                              " } }, - "documentation":"

                              A destination for events that failed processing.

                              " + "documentation":"

                              A destination for events that failed processing. For more information, see Adding a destination.

                              " }, "OnSuccess":{ "type":"structure", @@ -4824,7 +4895,7 @@ "documentation":"

                              The Amazon Resource Name (ARN) of the destination resource.

                              " } }, - "documentation":"

                              A destination for events that were processed successfully.

                              To retain records of successful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.

                              " + "documentation":"

                              A destination for events that were processed successfully.

                              To retain records of successful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.

                              OnSuccess is not supported in CreateEventSourceMapping or UpdateEventSourceMapping requests.

                              " }, "OrganizationId":{ "type":"string", @@ -5578,6 +5649,19 @@ }, "documentation":"

                              (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.

                              " }, + "SchemaRegistryEventRecordFormat":{ + "type":"string", + "enum":[ + "JSON", + "SOURCE" + ] + }, + "SchemaRegistryUri":{ + "type":"string", + "max":10000, + "min":1, + "pattern":"[a-zA-Z0-9-\\/*:_+=.@-]*" + }, "SecurityGroupId":{"type":"string"}, "SecurityGroupIds":{ "type":"list", @@ -5599,7 +5683,11 @@ "members":{ "ConsumerGroupId":{ "shape":"URI", - "documentation":"

                              The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                              " + "documentation":"

                              The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                              " + }, + "SchemaRegistryConfig":{ + "shape":"KafkaSchemaRegistryConfig", + "documentation":"

                              Specific configuration settings for a Kafka schema registry.

                              " } }, "documentation":"

                              Specific configuration settings for a self-managed Apache Kafka event source.

                              " @@ -6132,6 +6220,8 @@ "shape":"ScalingConfig", "documentation":"

                              (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

                              " }, + "AmazonManagedKafkaEventSourceConfig":{"shape":"AmazonManagedKafkaEventSourceConfig"}, + "SelfManagedKafkaEventSourceConfig":{"shape":"SelfManagedKafkaEventSourceConfig"}, "DocumentDBEventSourceConfig":{ "shape":"DocumentDBEventSourceConfig", "documentation":"

                              Specific configuration settings for a DocumentDB event source.

                              " diff --git a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json index 20a6eb7ef6d..b8ff939eb9c 100644 --- a/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json +++ b/tools/code-generation/api-descriptions/logs-2014-03-28.normal.json @@ -1143,7 +1143,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"UnrecognizedClientException"} ], - "documentation":"

                              Uploads a batch of log events to the specified log stream.

                              The sequence token is now ignored in PutLogEvents actions. PutLogEvents actions are always accepted and never return InvalidSequenceTokenException or DataAlreadyAcceptedException even if the sequence token is not valid. You can use parallel PutLogEvents actions on the same log stream.

                              The batch of events must satisfy the following constraints:

                              • The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

                              • None of the log events in the batch can be more than 2 hours in the future.

                              • None of the log events in the batch can be more than 14 days in the past. Also, none of the log events can be from earlier than the retention period of the log group.

                              • The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

                              • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

                              • Each log event can be no larger than 1 MB.

                              • The maximum number of log events in a batch is 10,000.

                              • The quota of five requests per second per log stream has been removed. Instead, PutLogEvents actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service.

                              If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is a non-valid Amazon Web Services access key ID or secret key.

                              " + "documentation":"

                              Uploads a batch of log events to the specified log stream.

                              The sequence token is now ignored in PutLogEvents actions. PutLogEvents actions are always accepted and never return InvalidSequenceTokenException or DataAlreadyAcceptedException even if the sequence token is not valid. You can use parallel PutLogEvents actions on the same log stream.

                              The batch of events must satisfy the following constraints:

                              • The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

                              • Events more than 2 hours in the future are rejected while processing remaining valid events.

                              • Events older than 14 days or preceding the log group's retention period are rejected while processing remaining valid events.

                              • The log events in the batch must be in chronological order by their timestamp. The timestamp is the time that the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

                              • A batch of log events in a single request must be in a chronological order. Otherwise, the operation fails.

                              • Each log event can be no larger than 1 MB.

                              • The maximum number of log events in a batch is 10,000.

                              • For valid events (within 14 days in the past to 2 hours in future), the time span in a single batch cannot exceed 24 hours. Otherwise, the operation fails.

                              The quota of five requests per second per log stream has been removed. Instead, PutLogEvents actions are throttled based on a per-second per-account quota. You can request an increase to the per-second throttling quota by using the Service Quotas service.

                              If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is a non-valid Amazon Web Services access key ID or secret key.

                              " }, "PutMetricFilter":{ "name":"PutMetricFilter", @@ -3255,6 +3255,16 @@ "min":1 }, "EventNumber":{"type":"long"}, + "EventSource":{ + "type":"string", + "enum":[ + "CloudTrail", + "Route53Resolver", + "VPCFlow", + "EKSAudit", + "AWSWAF" + ] + }, "EventsLimit":{ "type":"integer", "max":10000, @@ -4859,6 +4869,10 @@ "max":128, "min":1 }, + "OCSFVersion":{ + "type":"string", + "enum":["V1.1"] + }, "OpenSearchApplication":{ "type":"structure", "members":{ @@ -5238,6 +5252,28 @@ }, "documentation":"

                              Use this processor to parse Route 53 vended logs, extract fields, and and convert them into a JSON format. This processor always processes the entire log event message. For more information about this processor including examples, see parseRoute53.

                              If you use this processor, it must be the first processor in your transformer.

                              " }, + "ParseToOCSF":{ + "type":"structure", + "required":[ + "eventSource", + "ocsfVersion" + ], + "members":{ + "source":{ + "shape":"Source", + "documentation":"

                              The path to the field in the log event that you want to parse. If you omit this value, the whole log message is parsed.

                              " + }, + "eventSource":{ + "shape":"EventSource", + "documentation":"

                              Specify the service or process that produces the log events that will be converted with this processor.

                              " + }, + "ocsfVersion":{ + "shape":"OCSFVersion", + "documentation":"

                              Specify which version of the OCSF schema to use for the transformed log events.

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

                              This processor converts logs into Open Cybersecurity Schema Framework (OCSF) events.

                              For more information about this processor including examples, see parseToOSCF in the CloudWatch Logs User Guide.

                              " + }, "ParseVPC":{ "type":"structure", "members":{ @@ -5395,6 +5431,10 @@ "shape":"ParseRoute53", "documentation":"

                              Use this parameter to include the parseRoute53 processor in your transformer.

                              If you use this processor, it must be the first processor in your transformer.

                              " }, + "parseToOCSF":{ + "shape":"ParseToOCSF", + "documentation":"

                              Use this processor to convert logs into Open Cybersecurity Schema Framework (OCSF) format

                              " + }, "parsePostgres":{ "shape":"ParsePostgres", "documentation":"

                              Use this parameter to include the parsePostGres processor in your transformer.

                              If you use this processor, it must be the first processor in your transformer.

                              " @@ -5591,7 +5631,7 @@ }, "logType":{ "shape":"LogType", - "documentation":"

                              Defines the type of log that the source is sending.

                              • For Amazon Bedrock, the valid value is APPLICATION_LOGS.

                              • For CloudFront, the valid value is ACCESS_LOGS.

                              • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.

                              • For Elemental MediaPackage, the valid values are EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

                              • For Elemental MediaTailor, the valid values are AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

                              • For IAM Identity Center, the valid value is ERROR_LOGS.

                              • For Amazon Q, the valid value is EVENT_LOGS.

                              • For Amazon SES mail manager, the valid value is APPLICATION_LOG.

                              • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

                              " + "documentation":"

                              Defines the type of log that the source is sending.

                              • For Amazon Bedrock, the valid value is APPLICATION_LOGS.

                              • For CloudFront, the valid value is ACCESS_LOGS.

                              • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.

                              • For Elemental MediaPackage, the valid values are EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

                              • For Elemental MediaTailor, the valid values are AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

                              • For Entity Resolution, the valid value is WORKFLOW_LOGS.

                              • For IAM Identity Center, the valid value is ERROR_LOGS.

                              • For Amazon Q, the valid value is EVENT_LOGS.

                              • For Amazon SES mail manager, the valid values are APPLICATION_LOG and TRAFFIC_POLICY_DEBUG_LOGS.

                              • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

                              " }, "tags":{ "shape":"Tags", diff --git a/tools/code-generation/api-descriptions/marketplace-catalog-2018-09-17.normal.json b/tools/code-generation/api-descriptions/marketplace-catalog-2018-09-17.normal.json index c7dd96bfef1..10e7ca80a53 100644 --- a/tools/code-generation/api-descriptions/marketplace-catalog-2018-09-17.normal.json +++ b/tools/code-generation/api-descriptions/marketplace-catalog-2018-09-17.normal.json @@ -5,12 +5,14 @@ "endpointPrefix":"catalog.marketplace", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"AWS Marketplace Catalog", "serviceFullName":"AWS Marketplace Catalog Service", "serviceId":"Marketplace Catalog", "signatureVersion":"v4", "signingName":"aws-marketplace", - "uid":"marketplace-catalog-2018-09-17" + "uid":"marketplace-catalog-2018-09-17", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchDescribeEntities":{ @@ -200,7 +202,7 @@ {"shape":"ThrottlingException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

                              Allows you to request changes for your entities. Within a single ChangeSet, you can't start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the change set has completed (either succeeded, cancelled, or failed). If you try to start a change set containing a change against an entity that is already locked, you will receive a ResourceInUseException error.

                              For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same change type (AddRevisions) against the same entity (entity-id@1).

                              For more information about working with change sets, see Working with change sets. For information about change types for single-AMI products, see Working with single-AMI products. Also, for more information about change types available for container-based products, see Working with container products.

                              " + "documentation":"

                              Allows you to request changes for your entities. Within a single ChangeSet, you can't start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the change set has completed (either succeeded, cancelled, or failed). If you try to start a change set containing a change against an entity that is already locked, you will receive a ResourceInUseException error.

                              For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same change type (AddRevisions) against the same entity (entity-id@1).

                              For more information about working with change sets, see Working with change sets. For information about change types for single-AMI products, see Working with single-AMI products. Also, for more information about change types available for container-based products, see Working with container products.

                              To download \"DetailsDocument\" shapes, see Python and Java shapes on GitHub.

                              " }, "TagResource":{ "name":"TagResource", @@ -524,7 +526,7 @@ }, "DetailsDocument":{ "shape":"JsonDocumentType", - "documentation":"

                              Alternative field that accepts a JSON value instead of a string for ChangeType details. You can use either Details or DetailsDocument, but not both.

                              " + "documentation":"

                              Alternative field that accepts a JSON value instead of a string for ChangeType details. You can use either Details or DetailsDocument, but not both.

                              To download the \"DetailsDocument\" shapes, see the Python and Java shapes on GitHub.

                              " }, "ChangeName":{ "shape":"ChangeName", @@ -618,7 +620,7 @@ }, "DetailsDocument":{ "shape":"JsonDocumentType", - "documentation":"

                              The JSON value of the details specific to the change type of the requested change.

                              " + "documentation":"

                              The JSON value of the details specific to the change type of the requested change.

                              To download the \"DetailsDocument\" shapes, see the Python and Java shapes on GitHub.

                              " }, "ErrorDetailList":{ "shape":"ErrorDetailList", @@ -976,8 +978,7 @@ }, "DeleteResourcePolicyResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DescribeChangeSetRequest":{ "type":"structure", @@ -1091,7 +1092,7 @@ }, "DetailsDocument":{ "shape":"JsonDocumentType", - "documentation":"

                              The JSON value of the details specific to the entity.

                              " + "documentation":"

                              The JSON value of the details specific to the entity.

                              To download \"DetailsDocument\" shapes, see the Python and Java shapes on GitHub.

                              " } } }, @@ -1227,7 +1228,8 @@ "ResaleAuthorizationSummary":{ "shape":"ResaleAuthorizationSummary", "documentation":"

                              An object that contains summary information about the Resale Authorization.

                              " - } + }, + "MachineLearningProductSummary":{"shape":"MachineLearningProductSummary"} }, "documentation":"

                              This object is a container for common summary information about the entity. The summary doesn't contain the whole entity structure, but it does contain information common across all entities.

                              " }, @@ -1267,7 +1269,8 @@ "ResaleAuthorizationFilters":{ "shape":"ResaleAuthorizationFilters", "documentation":"

                              A filter for Resale Authorizations.

                              " - } + }, + "MachineLearningProductFilters":{"shape":"MachineLearningProductFilters"} }, "documentation":"

                              Object containing all the filter fields per entity type.

                              ", "union":true @@ -1298,7 +1301,8 @@ "ResaleAuthorizationSort":{ "shape":"ResaleAuthorizationSort", "documentation":"

                              A sort for Resale Authorizations.

                              " - } + }, + "MachineLearningProductSort":{"shape":"MachineLearningProductSort"} }, "documentation":"

                              Object containing all the sort fields per entity type.

                              ", "union":true @@ -1429,8 +1433,7 @@ }, "JsonDocumentType":{ "type":"structure", - "members":{ - }, + "members":{}, "document":true }, "ListChangeSetsMaxResultInteger":{ @@ -1565,6 +1568,169 @@ } } }, + "MachineLearningProductEntityIdFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"MachineLearningProductEntityIdFilterValueList", + "documentation":"

                              A list of entity IDs to filter by. The operation returns machine learning products with entity IDs that match the values in this list.

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

                              The filter for machine learning product entity IDs.

                              " + }, + "MachineLearningProductEntityIdFilterValueList":{ + "type":"list", + "member":{"shape":"MachineLearningProductEntityIdString"}, + "documentation":"

                              A list of entity ID values to filter by. You can include up to 10 entity IDs in this list.

                              ", + "max":10, + "min":1 + }, + "MachineLearningProductEntityIdString":{ + "type":"string", + "documentation":"

                              The entity ID of a machine learning product. This string uniquely identifies the product.

                              ", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + }, + "MachineLearningProductFilters":{ + "type":"structure", + "members":{ + "EntityId":{ + "shape":"MachineLearningProductEntityIdFilter", + "documentation":"

                              Filter machine learning products by their entity IDs.

                              " + }, + "LastModifiedDate":{ + "shape":"MachineLearningProductLastModifiedDateFilter", + "documentation":"

                              Filter machine learning products by their last modified date.

                              " + }, + "ProductTitle":{ + "shape":"MachineLearningProductTitleFilter", + "documentation":"

                              Filter machine learning products by their product titles.

                              " + }, + "Visibility":{ + "shape":"MachineLearningProductVisibilityFilter", + "documentation":"

                              Filter machine learning products by their visibility status.

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

                              The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, LastModifiedDate, ProductTitle, and Visibility.

                              " + }, + "MachineLearningProductLastModifiedDateFilter":{ + "type":"structure", + "members":{ + "DateRange":{ + "shape":"MachineLearningProductLastModifiedDateFilterDateRange", + "documentation":"

                              A date range to filter by. The operation returns machine learning products with last modified dates that fall within this range.

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

                              The filter for machine learning product last modified date.

                              " + }, + "MachineLearningProductLastModifiedDateFilterDateRange":{ + "type":"structure", + "members":{ + "AfterValue":{ + "shape":"DateTimeISO8601", + "documentation":"

                              The start date (inclusive) of the date range. The operation returns machine learning products with last modified dates on or after this date.

                              " + }, + "BeforeValue":{ + "shape":"DateTimeISO8601", + "documentation":"

                              The end date (inclusive) of the date range. The operation returns machine learning products with last modified dates on or before this date.

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

                              A date range for filtering machine learning products by their last modified date.

                              " + }, + "MachineLearningProductSort":{ + "type":"structure", + "members":{ + "SortBy":{ + "shape":"MachineLearningProductSortBy", + "documentation":"

                              The field to sort by. Valid values: EntityId, LastModifiedDate, ProductTitle, and Visibility.

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

                              The sort order. Valid values are ASC (ascending) and DESC (descending).

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

                              The sort options for machine learning products.

                              " + }, + "MachineLearningProductSortBy":{ + "type":"string", + "documentation":"

                              The fields that you can sort machine learning products by.

                              ", + "enum":[ + "EntityId", + "LastModifiedDate", + "ProductTitle", + "Visibility" + ] + }, + "MachineLearningProductSummary":{ + "type":"structure", + "members":{ + "ProductTitle":{ + "shape":"MachineLearningProductTitleString", + "documentation":"

                              The title of the machine learning product.

                              " + }, + "Visibility":{ + "shape":"MachineLearningProductVisibilityString", + "documentation":"

                              The visibility status of the machine learning product. Valid values are Limited, Public, Restricted, and Draft.

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

                              A summary of a machine learning product.

                              " + }, + "MachineLearningProductTitleFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"MachineLearningProductTitleFilterValueList", + "documentation":"

                              A list of product titles to filter by. The operation returns machine learning products with titles that exactly match the values in this list.

                              " + }, + "WildCardValue":{ + "shape":"MachineLearningProductTitleString", + "documentation":"

                              A wildcard value to filter product titles. The operation returns machine learning products with titles that match this wildcard pattern.

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

                              The filter for machine learning product titles.

                              " + }, + "MachineLearningProductTitleFilterValueList":{ + "type":"list", + "member":{"shape":"MachineLearningProductTitleString"}, + "documentation":"

                              A list of product title values to filter by. You can include up to 10 product titles in this list.

                              ", + "max":10, + "min":1 + }, + "MachineLearningProductTitleString":{ + "type":"string", + "documentation":"

                              The title of a machine learning product.

                              ", + "max":255, + "min":1, + "pattern":"^(.)+$" + }, + "MachineLearningProductVisibilityFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"MachineLearningProductVisibilityFilterValueList", + "documentation":"

                              A list of visibility values to filter by. The operation returns machine learning products with visibility status that match the values in this list.

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

                              The filter for machine learning product visibility status.

                              " + }, + "MachineLearningProductVisibilityFilterValueList":{ + "type":"list", + "member":{"shape":"MachineLearningProductVisibilityString"}, + "documentation":"

                              A list of visibility status values to filter by. You can include up to 10 visibility status values in this list.

                              ", + "max":10, + "min":1 + }, + "MachineLearningProductVisibilityString":{ + "type":"string", + "documentation":"

                              The visibility status of a machine learning product. Valid values are:

                              • Limited - The product is available to a limited set of buyers.

                              • Public - The product is publicly available to all buyers.

                              • Restricted - The product has restricted availability.

                              • Draft - The product is in draft state and not yet available to buyers.

                              ", + "enum":[ + "Limited", + "Public", + "Restricted", + "Draft" + ] + }, "NextToken":{ "type":"string", "max":2048, @@ -1956,8 +2122,7 @@ }, "PutResourcePolicyResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "RequestedChangeList":{ "type":"list", @@ -2836,8 +3001,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -2874,8 +3038,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "ValidationException":{ "type":"structure", @@ -2900,5 +3063,5 @@ "pattern":"^[a-zA-Z]+$" } }, - "documentation":"

                              Catalog API actions allow you to manage your entities through list, describe, and update capabilities. An entity can be a product or an offer on AWS Marketplace.

                              You can automate your entity update process by integrating the AWS Marketplace Catalog API with your AWS Marketplace product build or deployment pipelines. You can also create your own applications on top of the Catalog API to manage your products on AWS Marketplace.

                              " + "documentation":"

                              Catalog API actions allow you to manage your entities through list, describe, and update capabilities. An entity can be a product or an offer on AWS Marketplace.

                              You can automate your entity update process by integrating the AWS Marketplace Catalog API with your AWS Marketplace product build or deployment pipelines. You can also create your own applications on top of the Catalog API to manage your products on AWS Marketplace.

                              " } diff --git a/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json b/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json index b1a76351ce0..fee2ca9a381 100644 --- a/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json +++ b/tools/code-generation/api-descriptions/mediaconvert-2017-08-29.normal.json @@ -4917,7 +4917,7 @@ "DdsHandling": { "shape": "DvbddsHandling", "locationName": "ddsHandling", - "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match." + "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate." }, "DdsXCoordinate": { "shape": "__integerMin0Max2147483647", @@ -5176,11 +5176,12 @@ }, "DvbddsHandling": { "type": "string", - "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match.", + "documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate.", "enum": [ "NONE", "SPECIFIED", - "NO_DISPLAY_WINDOW" + "NO_DISPLAY_WINDOW", + "SPECIFIED_OPTIMAL" ] }, "DynamicAudioSelector": { diff --git a/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json b/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json index 871fecce804..2b3c3e2babb 100644 --- a/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json +++ b/tools/code-generation/api-descriptions/models.lex.v2-2020-08-07.normal.json @@ -5737,8 +5737,7 @@ }, "CreateUploadUrlRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "CreateUploadUrlResponse":{ "type":"structure", @@ -6494,8 +6493,7 @@ }, "DeleteUtterancesResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DescribeBotAliasRequest":{ "type":"structure", @@ -7772,7 +7770,7 @@ }, "Description":{ "type":"string", - "max":200, + "max":2000, "min":0 }, "DescriptiveBotBuilderSpecification":{ @@ -10880,6 +10878,17 @@ "min":0 }, "NextToken":{"type":"string"}, + "NluImprovementSpecification":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{ + "shape":"Enabled", + "documentation":"

                              Specifies whether the assisted nlu feature is enabled.

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

                              Specifies whether the assisted nlu feature is turned on or off.

                              " + }, "NonEmptyString":{ "type":"string", "min":1 @@ -11501,6 +11510,10 @@ "slotResolutionImprovement":{ "shape":"SlotResolutionImprovementSpecification", "documentation":"

                              An object containing specifications for the assisted slot resolution feature.

                              " + }, + "nluImprovement":{ + "shape":"NluImprovementSpecification", + "documentation":"

                              An object containing specifications for the assisted nlu feature.

                              " } }, "documentation":"

                              Contains specifications about the Amazon Lex runtime generative AI capabilities from Amazon Bedrock that you can turn on for your bot.

                              " @@ -12942,8 +12955,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -13650,8 +13662,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateBotAliasRequest":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/mpa-2022-07-26.normal.json b/tools/code-generation/api-descriptions/mpa-2022-07-26.normal.json new file mode 100644 index 00000000000..8698e2f6796 --- /dev/null +++ b/tools/code-generation/api-descriptions/mpa-2022-07-26.normal.json @@ -0,0 +1,2293 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-07-26", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"mpa", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AWS Multi-party Approval", + "serviceId":"MPA", + "signatureVersion":"v4", + "signingName":"mpa", + "uid":"mpa-2022-07-26" + }, + "operations":{ + "CancelSession":{ + "name":"CancelSession", + "http":{ + "method":"PUT", + "requestUri":"/sessions/{SessionArn}", + "responseCode":200 + }, + "input":{"shape":"CancelSessionRequest"}, + "output":{"shape":"CancelSessionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Cancels an approval session. For more information, see Session in the Multi-party approval User Guide.

                              ", + "idempotent":true + }, + "CreateApprovalTeam":{ + "name":"CreateApprovalTeam", + "http":{ + "method":"POST", + "requestUri":"/approval-teams", + "responseCode":200 + }, + "input":{"shape":"CreateApprovalTeamRequest"}, + "output":{"shape":"CreateApprovalTeamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Creates a new approval team. For more information, see Approval team in the Multi-party approval User Guide.

                              ", + "idempotent":true + }, + "CreateIdentitySource":{ + "name":"CreateIdentitySource", + "http":{ + "method":"POST", + "requestUri":"/identity-sources", + "responseCode":200 + }, + "input":{"shape":"CreateIdentitySourceRequest"}, + "output":{"shape":"CreateIdentitySourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Creates a new identity source. For more information, see Identity Source in the Multi-party approval User Guide.

                              ", + "idempotent":true + }, + "DeleteIdentitySource":{ + "name":"DeleteIdentitySource", + "http":{ + "method":"DELETE", + "requestUri":"/identity-sources/{IdentitySourceArn}", + "responseCode":200 + }, + "input":{"shape":"DeleteIdentitySourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Deletes an identity source. For more information, see Identity Source in the Multi-party approval User Guide.

                              ", + "idempotent":true + }, + "DeleteInactiveApprovalTeamVersion":{ + "name":"DeleteInactiveApprovalTeamVersion", + "http":{ + "method":"DELETE", + "requestUri":"/approval-teams/{Arn}/{VersionId}", + "responseCode":200 + }, + "input":{"shape":"DeleteInactiveApprovalTeamVersionRequest"}, + "output":{"shape":"DeleteInactiveApprovalTeamVersionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Deletes an inactive approval team. For more information, see Team health in the Multi-party approval User Guide.

                              You can also use this operation to delete a team draft. For more information, see Interacting with drafts in the Multi-party approval User Guide.

                              ", + "idempotent":true + }, + "GetApprovalTeam":{ + "name":"GetApprovalTeam", + "http":{ + "method":"GET", + "requestUri":"/approval-teams/{Arn}", + "responseCode":200 + }, + "input":{"shape":"GetApprovalTeamRequest"}, + "output":{"shape":"GetApprovalTeamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns details for an approval team.

                              " + }, + "GetIdentitySource":{ + "name":"GetIdentitySource", + "http":{ + "method":"GET", + "requestUri":"/identity-sources/{IdentitySourceArn}", + "responseCode":200 + }, + "input":{"shape":"GetIdentitySourceRequest"}, + "output":{"shape":"GetIdentitySourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns details for an identity source. For more information, see Identity Source in the Multi-party approval User Guide.

                              " + }, + "GetPolicyVersion":{ + "name":"GetPolicyVersion", + "http":{ + "method":"GET", + "requestUri":"/policy-versions/{PolicyVersionArn}", + "responseCode":200 + }, + "input":{"shape":"GetPolicyVersionRequest"}, + "output":{"shape":"GetPolicyVersionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns details for the version of a policy. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/GetResourcePolicy", + "responseCode":200 + }, + "input":{"shape":"GetResourcePolicyRequest"}, + "output":{"shape":"GetResourcePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Returns details about a policy for a resource.

                              " + }, + "GetSession":{ + "name":"GetSession", + "http":{ + "method":"GET", + "requestUri":"/sessions/{SessionArn}", + "responseCode":200 + }, + "input":{"shape":"GetSessionRequest"}, + "output":{"shape":"GetSessionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns details for an approval session. For more information, see Session in the Multi-party approval User Guide.

                              " + }, + "ListApprovalTeams":{ + "name":"ListApprovalTeams", + "http":{ + "method":"POST", + "requestUri":"/approval-teams/?List", + "responseCode":200 + }, + "input":{"shape":"ListApprovalTeamsRequest"}, + "output":{"shape":"ListApprovalTeamsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of approval teams.

                              " + }, + "ListIdentitySources":{ + "name":"ListIdentitySources", + "http":{ + "method":"POST", + "requestUri":"/identity-sources/?List", + "responseCode":200 + }, + "input":{"shape":"ListIdentitySourcesRequest"}, + "output":{"shape":"ListIdentitySourcesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of identity sources. For more information, see Identity Source in the Multi-party approval User Guide.

                              " + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"POST", + "requestUri":"/policies/?List", + "responseCode":200 + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of policies. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "ListPolicyVersions":{ + "name":"ListPolicyVersions", + "http":{ + "method":"POST", + "requestUri":"/policies/{PolicyArn}/?List", + "responseCode":200 + }, + "input":{"shape":"ListPolicyVersionsRequest"}, + "output":{"shape":"ListPolicyVersionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of the versions for policies. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "ListResourcePolicies":{ + "name":"ListResourcePolicies", + "http":{ + "method":"POST", + "requestUri":"/resource-policies/{ResourceArn}/?List", + "responseCode":200 + }, + "input":{"shape":"ListResourcePoliciesRequest"}, + "output":{"shape":"ListResourcePoliciesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of policies for a resource.

                              " + }, + "ListSessions":{ + "name":"ListSessions", + "http":{ + "method":"POST", + "requestUri":"/approval-teams/{ApprovalTeamArn}/sessions/?List", + "responseCode":200 + }, + "input":{"shape":"ListSessionsRequest"}, + "output":{"shape":"ListSessionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of approval sessions. For more information, see Session in the Multi-party approval User Guide.

                              " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Returns a list of the tags for a resource.

                              " + }, + "StartActiveApprovalTeamDeletion":{ + "name":"StartActiveApprovalTeamDeletion", + "http":{ + "method":"POST", + "requestUri":"/approval-teams/{Arn}?Delete", + "responseCode":200 + }, + "input":{"shape":"StartActiveApprovalTeamDeletionRequest"}, + "output":{"shape":"StartActiveApprovalTeamDeletionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Starts the deletion process for an active approval team.

                              Deletions require team approval

                              Requests to delete an active team must be approved by the team.

                              ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"PUT", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Creates or updates a resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

                              ", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Removes a resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

                              ", + "idempotent":true + }, + "UpdateApprovalTeam":{ + "name":"UpdateApprovalTeam", + "http":{ + "method":"PATCH", + "requestUri":"/approval-teams/{Arn}", + "responseCode":200 + }, + "input":{"shape":"UpdateApprovalTeamRequest"}, + "output":{"shape":"UpdateApprovalTeamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Updates an approval team. You can request to update the team description, approval threshold, and approvers in the team.

                              Updates require team approval

                              Updates to an active team must be approved by the team.

                              ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the AccessDeniedException error.

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

                              You do not have sufficient access to perform this action. Check your permissions, and try again.

                              ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":12, + "min":0, + "pattern":"\\d{12}" + }, + "ActionCompletionStrategy":{ + "type":"string", + "enum":["AUTO_COMPLETION_UPON_APPROVAL"] + }, + "ActionName":{ + "type":"string", + "max":500, + "min":0 + }, + "ApprovalStrategy":{ + "type":"structure", + "members":{ + "MofN":{ + "shape":"MofNApprovalStrategy", + "documentation":"

                              Minimum number of approvals (M) required for a total number of approvers (N).

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

                              Strategy for how an approval team grants approval.

                              ", + "union":true + }, + "ApprovalStrategyResponse":{ + "type":"structure", + "members":{ + "MofN":{ + "shape":"MofNApprovalStrategy", + "documentation":"

                              Minimum number of approvals (M) required for a total number of approvers (N).

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

                              Contains details for how an approval team grants approval.

                              ", + "union":true + }, + "ApprovalTeamArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:mpa:[a-z0-9-]{1,20}:[0-9]{12}:approval-team/[a-zA-Z0-9._-]+" + }, + "ApprovalTeamName":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[a-zA-Z0-9._-]+" + }, + "ApprovalTeamRequestApprover":{ + "type":"structure", + "required":[ + "PrimaryIdentityId", + "PrimaryIdentitySourceArn" + ], + "members":{ + "PrimaryIdentityId":{ + "shape":"IdentityId", + "documentation":"

                              ID for the user.

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

                              Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

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

                              Contains details for an approver.

                              " + }, + "ApprovalTeamRequestApprovers":{ + "type":"list", + "member":{"shape":"ApprovalTeamRequestApprover"}, + "max":20, + "min":1 + }, + "ApprovalTeamStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE", + "DELETING", + "PENDING" + ] + }, + "ApprovalTeamStatusCode":{ + "type":"string", + "enum":[ + "VALIDATING", + "PENDING_ACTIVATION", + "FAILED_VALIDATION", + "FAILED_ACTIVATION", + "UPDATE_PENDING_APPROVAL", + "UPDATE_PENDING_ACTIVATION", + "UPDATE_FAILED_APPROVAL", + "UPDATE_FAILED_ACTIVATION", + "UPDATE_FAILED_VALIDATION", + "DELETE_PENDING_APPROVAL", + "DELETE_FAILED_APPROVAL", + "DELETE_FAILED_VALIDATION" + ] + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CancelSessionRequest":{ + "type":"structure", + "required":["SessionArn"], + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

                              Amazon Resource Name (ARN) for the session.

                              ", + "location":"uri", + "locationName":"SessionArn" + } + } + }, + "CancelSessionResponse":{ + "type":"structure", + "members":{ + } + }, + "ConflictException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the ConflictException error.

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

                              The request cannot be completed because it conflicts with the current state of a resource.

                              ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateApprovalTeamRequest":{ + "type":"structure", + "required":[ + "ApprovalStrategy", + "Approvers", + "Description", + "Policies", + "Name" + ], + "members":{ + "ClientToken":{ + "shape":"Token", + "documentation":"

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

                              What is idempotency?

                              When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

                              Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                              ", + "idempotencyToken":true + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategy", + "documentation":"

                              An ApprovalStrategy object. Contains details for how the team grants approval.

                              " + }, + "Approvers":{ + "shape":"ApprovalTeamRequestApprovers", + "documentation":"

                              An array of ApprovalTeamRequesterApprovers objects. Contains details for the approvers in the team.

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

                              Description for the team.

                              " + }, + "Policies":{ + "shape":"PoliciesReferences", + "documentation":"

                              An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "Name":{ + "shape":"ApprovalTeamName", + "documentation":"

                              Name of the team.

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

                              Tags you want to attach to the team.

                              " + } + } + }, + "CreateApprovalTeamResponse":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the team was created.

                              " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team that was created.

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

                              Name of the team that was created.

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

                              Version ID for the team that was created. When a team is updated, the version ID changes.

                              " + } + } + }, + "CreateIdentitySourceRequest":{ + "type":"structure", + "required":["IdentitySourceParameters"], + "members":{ + "IdentitySourceParameters":{ + "shape":"IdentitySourceParameters", + "documentation":"

                              A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

                              " + }, + "ClientToken":{ + "shape":"Token", + "documentation":"

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

                              What is idempotency?

                              When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

                              Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                              ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

                              Tag you want to attach to the identity source.

                              " + } + } + }, + "CreateIdentitySourceResponse":{ + "type":"structure", + "members":{ + "IdentitySourceType":{ + "shape":"IdentitySourceType", + "documentation":"

                              The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

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

                              Amazon Resource Name (ARN) for the identity source that was created.

                              " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the identity source was created.

                              " + } + } + }, + "DeleteIdentitySourceRequest":{ + "type":"structure", + "required":["IdentitySourceArn"], + "members":{ + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for identity source.

                              ", + "location":"uri", + "locationName":"IdentitySourceArn" + } + } + }, + "DeleteInactiveApprovalTeamVersionRequest":{ + "type":"structure", + "required":[ + "Arn", + "VersionId" + ], + "members":{ + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amaazon Resource Name (ARN) for the team.

                              ", + "location":"uri", + "locationName":"Arn" + }, + "VersionId":{ + "shape":"String", + "documentation":"

                              Version ID for the team.

                              ", + "location":"uri", + "locationName":"VersionId" + } + } + }, + "DeleteInactiveApprovalTeamVersionResponse":{ + "type":"structure", + "members":{ + } + }, + "Description":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "Filter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"FilterField", + "documentation":"

                              Name of the filter to use.

                              Supported filters

                              The supported filters for ListSessions are: ActionName, SessionStatus, and InitationTime.

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

                              Operator to use for filtering.

                              • EQ: Equal to the specified value

                              • NE: Not equal to the specified value

                              • GT: Greater than the specified value

                              • LT: Less than the specified value

                              • GTE: Greater than or equal to the specified value

                              • LTE: Less than or equal to the specified value

                              • CONTAINS: Contains the specified value

                              • NOT_CONTAINS: Does not contain the specified value

                              • BETWEEN: Between two values, inclusive of the specified values.

                              Supported operators for each filter:

                              • ActionName: EQ | NE | CONTAINS | NOT_CONTAINS

                              • SessionStatus: EQ | NE

                              • InitiationTime: GT | LT | GTE | LTE | BETWEEN

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

                              Value to use for filtering. For the BETWEEN operator, specify values in the format a AND b (AND is case-insensitive).

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

                              Contains the filter to apply to requests. You can specify up to 10 filters for a request.

                              " + }, + "FilterField":{ + "type":"string", + "enum":[ + "ActionName", + "ApprovalTeamName", + "VotingTime", + "Vote", + "SessionStatus", + "InitiationTime" + ] + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":10, + "min":0 + }, + "GetApprovalTeamRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team.

                              ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "GetApprovalTeamResponse":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the team was created.

                              " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

                              An ApprovalStrategyResponse object. Contains details for how the team grants approval.

                              " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

                              Total number of approvers in the team.

                              " + }, + "Approvers":{ + "shape":"GetApprovalTeamResponseApprovers", + "documentation":"

                              An array of GetApprovalTeamResponseApprover objects. Contains details for the approvers in the team.

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

                              Amazon Resource Name (ARN) for the team.

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

                              Description for the team.

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

                              Name of the approval team.

                              " + }, + "Status":{ + "shape":"ApprovalTeamStatus", + "documentation":"

                              Status for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + }, + "StatusCode":{ + "shape":"ApprovalTeamStatusCode", + "documentation":"

                              Status code for the approval team. For more information, see Team health in the Multi-party approval User Guide.

                              " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

                              Message describing the status for the team.

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

                              Amazon Resource Name (ARN) for the session.

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

                              Version ID for the team.

                              " + }, + "Policies":{ + "shape":"PoliciesReferences", + "documentation":"

                              An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "LastUpdateTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the team was last updated.

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

                              A PendingUpdate object. Contains details for the pending updates for the team, if applicable.

                              " + } + } + }, + "GetApprovalTeamResponseApprover":{ + "type":"structure", + "members":{ + "ApproverId":{ + "shape":"ParticipantId", + "documentation":"

                              ID for the approver.

                              " + }, + "ResponseTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the approver responded to an approval team invitation.

                              " + }, + "PrimaryIdentityId":{ + "shape":"IdentityId", + "documentation":"

                              ID for the user.

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

                              Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

                              " + }, + "PrimaryIdentityStatus":{ + "shape":"IdentityStatus", + "documentation":"

                              Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.

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

                              Contains details for an approver.

                              " + }, + "GetApprovalTeamResponseApprovers":{ + "type":"list", + "member":{"shape":"GetApprovalTeamResponseApprover"}, + "max":20, + "min":0 + }, + "GetIdentitySourceRequest":{ + "type":"structure", + "required":["IdentitySourceArn"], + "members":{ + "IdentitySourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the identity source.

                              ", + "location":"uri", + "locationName":"IdentitySourceArn" + } + } + }, + "GetIdentitySourceResponse":{ + "type":"structure", + "members":{ + "IdentitySourceType":{ + "shape":"IdentitySourceType", + "documentation":"

                              The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

                              " + }, + "IdentitySourceParameters":{ + "shape":"IdentitySourceParametersForGet", + "documentation":"

                              A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

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

                              Amazon Resource Name (ARN) for the identity source.

                              " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the identity source was created.

                              " + }, + "Status":{ + "shape":"IdentitySourceStatus", + "documentation":"

                              Status for the identity source. For example, if the identity source is ACTIVE.

                              " + }, + "StatusCode":{ + "shape":"IdentitySourceStatusCode", + "documentation":"

                              Status code of the identity source.

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

                              Message describing the status for the identity source.

                              " + } + } + }, + "GetPolicyVersionRequest":{ + "type":"structure", + "required":["PolicyVersionArn"], + "members":{ + "PolicyVersionArn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the policy.

                              ", + "location":"uri", + "locationName":"PolicyVersionArn" + } + } + }, + "GetPolicyVersionResponse":{ + "type":"structure", + "required":["PolicyVersion"], + "members":{ + "PolicyVersion":{ + "shape":"PolicyVersion", + "documentation":"

                              A PolicyVersion object. Contains details for the version of the policy. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + } + }, + "GetResourcePolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "PolicyName", + "PolicyType" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the resource.

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

                              Name of the policy.

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

                              The type of policy.

                              " + } + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "required":[ + "ResourceArn", + "PolicyType", + "PolicyName", + "PolicyDocument" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the resource.

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

                              The type of policy

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

                              Amazon Resource Name (ARN) for the policy version.

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

                              Name of the policy.

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

                              Document that contains the contents for the policy.

                              " + } + } + }, + "GetSessionRequest":{ + "type":"structure", + "required":["SessionArn"], + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

                              Amazon Resource Name (ARN) for the session.

                              ", + "location":"uri", + "locationName":"SessionArn" + } + } + }, + "GetSessionResponse":{ + "type":"structure", + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

                              Amazon Resource Name (ARN) for the session.

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

                              Amazon Resource Name (ARN) for the approval team.

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

                              Name of the approval team.

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

                              Amazon Resource Name (ARN) for the protected operation.

                              " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

                              An ApprovalStrategyResponse object. Contains details for how the team grants approval

                              " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

                              Total number of approvers in the session.

                              " + }, + "InitiationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the session was initiated.

                              " + }, + "ExpirationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the session will expire.

                              " + }, + "CompletionTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the session completed.

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

                              Description for the session.

                              " + }, + "Metadata":{ + "shape":"SessionMetadata", + "documentation":"

                              Metadata for the session.

                              " + }, + "Status":{ + "shape":"SessionStatus", + "documentation":"

                              Status for the session. For example, if the team has approved the requested operation.

                              " + }, + "StatusCode":{ + "shape":"SessionStatusCode", + "documentation":"

                              Status code of the session.

                              " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

                              Message describing the status for session.

                              " + }, + "ExecutionStatus":{ + "shape":"SessionExecutionStatus", + "documentation":"

                              Status for the protected operation. For example, if the operation is PENDING.

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

                              Name of the protected operation.

                              " + }, + "RequesterServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

                              Service principal for the service associated with the protected operation.

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

                              IAM principal that made the operation request.

                              " + }, + "RequesterAccountId":{ + "shape":"AccountId", + "documentation":"

                              ID for the account that made the operation request.

                              " + }, + "RequesterRegion":{ + "shape":"Region", + "documentation":"

                              Amazon Web Services Region where the operation request originated.

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

                              Message from the account that made the operation request

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

                              Strategy for executing the protected operation. AUTO_COMPLETION_UPON_APPROVAL means the operation is automatically executed using the requester's permissions, if approved.

                              " + }, + "ApproverResponses":{ + "shape":"GetSessionResponseApproverResponses", + "documentation":"

                              An array of GetSessionResponseApproverResponse objects. Contains details for approver responses in the session.

                              " + } + } + }, + "GetSessionResponseApproverResponse":{ + "type":"structure", + "members":{ + "ApproverId":{ + "shape":"ParticipantId", + "documentation":"

                              ID for the approver.

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

                              Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

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

                              ID for the identity source. The identity source manages the user authentication for approvers.

                              " + }, + "Response":{ + "shape":"SessionResponse", + "documentation":"

                              Response to the operation request.

                              " + }, + "ResponseTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when a approver responded to the operation request.

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

                              Contains details for an approver response in an approval session.

                              " + }, + "GetSessionResponseApproverResponses":{ + "type":"list", + "member":{"shape":"GetSessionResponseApproverResponse"}, + "max":20, + "min":0 + }, + "IamIdentityCenter":{ + "type":"structure", + "required":[ + "InstanceArn", + "Region" + ], + "members":{ + "InstanceArn":{ + "shape":"IdcInstanceArn", + "documentation":"

                              Amazon Resource Name (ARN) for the IAM Identity Center instance.

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

                              Amazon Web Services Region where the IAM Identity Center instance is located.

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

                              IAM Identity Center credentials. For more information see, IAM Identity Center .

                              " + }, + "IamIdentityCenterForGet":{ + "type":"structure", + "members":{ + "InstanceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the IAM Identity Center instance.

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

                              URL for the approval portal associated with the IAM Identity Center instance.

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

                              Amazon Web Services Region where the IAM Identity Center instance is located.

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

                              IAM Identity Center credentials. For more information see, IAM Identity Center .

                              " + }, + "IamIdentityCenterForList":{ + "type":"structure", + "members":{ + "InstanceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the IAM Identity Center instance.

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

                              URL for the approval portal associated with the IAM Identity Center instance.

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

                              Amazon Web Services Region where the IAM Identity Center instance is located.

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

                              IAM Identity Center credentials. For more information see, IAM Identity Center .

                              " + }, + "IdcInstanceArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.+:sso:::instance/(?:sso)?ins-[a-zA-Z0-9-.]{16}" + }, + "IdentityId":{ + "type":"string", + "max":100, + "min":1 + }, + "IdentitySourceForList":{ + "type":"structure", + "members":{ + "IdentitySourceType":{ + "shape":"IdentitySourceType", + "documentation":"

                              The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

                              " + }, + "IdentitySourceParameters":{ + "shape":"IdentitySourceParametersForList", + "documentation":"

                              A IdentitySourceParametersForList object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

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

                              Amazon Resource Name (ARN) for the identity source.

                              " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the identity source was created.

                              " + }, + "Status":{ + "shape":"IdentitySourceStatus", + "documentation":"

                              Status for the identity source. For example, if the identity source is ACTIVE.

                              " + }, + "StatusCode":{ + "shape":"IdentitySourceStatusCode", + "documentation":"

                              Status code of the identity source.

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

                              Message describing the status for the identity source.

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

                              Contains details for an identity source. For more information, see Identity source in the Multi-party approval User Guide.

                              " + }, + "IdentitySourceParameters":{ + "type":"structure", + "members":{ + "IamIdentityCenter":{ + "shape":"IamIdentityCenter", + "documentation":"

                              IAM Identity Center credentials.

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

                              Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

                              " + }, + "IdentitySourceParametersForGet":{ + "type":"structure", + "members":{ + "IamIdentityCenter":{ + "shape":"IamIdentityCenterForGet", + "documentation":"

                              IAM Identity Center credentials.

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

                              Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. For more information, see Identity source in the Multi-party approval User Guide.

                              ", + "union":true + }, + "IdentitySourceParametersForList":{ + "type":"structure", + "members":{ + "IamIdentityCenter":{ + "shape":"IamIdentityCenterForList", + "documentation":"

                              IAM Identity Center credentials.

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

                              Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. For more information, see Identity source in the Multi-party approval User Guide.

                              ", + "union":true + }, + "IdentitySourceStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "ERROR" + ] + }, + "IdentitySourceStatusCode":{ + "type":"string", + "enum":[ + "ACCESS_DENIED", + "DELETION_FAILED", + "IDC_INSTANCE_NOT_FOUND", + "IDC_INSTANCE_NOT_VALID" + ] + }, + "IdentitySourceType":{ + "type":"string", + "enum":["IAM_IDENTITY_CENTER"] + }, + "IdentitySources":{ + "type":"list", + "member":{"shape":"IdentitySourceForList"}, + "max":20, + "min":0 + }, + "IdentityStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACCEPTED", + "REJECTED", + "INVALID" + ] + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the InternalServerException error.

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

                              The service encountered an internal error. Try your request again. If the problem persists, contact Amazon Web Services Support.

                              ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InvalidParameterException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the InvalidParameterException error.

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

                              The request contains an invalid parameter value.

                              ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IsoTimestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "ListApprovalTeamsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListApprovalTeamsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + }, + "ApprovalTeams":{ + "shape":"ListApprovalTeamsResponseApprovalTeams", + "documentation":"

                              An array of ListApprovalTeamsResponseApprovalTeam objects. Contains details for approval teams.

                              " + } + } + }, + "ListApprovalTeamsResponseApprovalTeam":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the team was created.

                              " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

                              An ApprovalStrategyResponse object. Contains details for how an approval team grants approval.

                              " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

                              Total number of approvers in the team.

                              " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team.

                              " + }, + "Name":{ + "shape":"ApprovalTeamName", + "documentation":"

                              Name of the team.

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

                              Description for the team.

                              " + }, + "Status":{ + "shape":"ApprovalTeamStatus", + "documentation":"

                              Status for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + }, + "StatusCode":{ + "shape":"ApprovalTeamStatusCode", + "documentation":"

                              Status code for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

                              Message describing the status for the team.

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

                              Contains details for an approval team

                              " + }, + "ListApprovalTeamsResponseApprovalTeams":{ + "type":"list", + "member":{"shape":"ListApprovalTeamsResponseApprovalTeam"}, + "max":20, + "min":0 + }, + "ListIdentitySourcesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListIdentitySourcesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

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

                              A IdentitySources. Contains details for identity sources.

                              " + } + } + }, + "ListPoliciesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

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

                              An array of Policy objects. Contains a list of policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + } + }, + "ListPolicyVersionsRequest":{ + "type":"structure", + "required":["PolicyArn"], + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "location":"querystring", + "locationName":"NextToken" + }, + "PolicyArn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the policy.

                              ", + "location":"uri", + "locationName":"PolicyArn" + } + } + }, + "ListPolicyVersionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

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

                              An array of PolicyVersionSummary objects. Contains details for the version of the policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

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

                              Amazon Resource Name (ARN) for the resource.

                              ", + "location":"uri", + "locationName":"ResourceArn" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListResourcePoliciesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + }, + "ResourcePolicies":{ + "shape":"ListResourcePoliciesResponseResourcePolicies", + "documentation":"

                              An array of ListResourcePoliciesResponseResourcePolicy objects. Contains details about the policy for the resource.

                              " + } + } + }, + "ListResourcePoliciesResponseResourcePolicies":{ + "type":"list", + "member":{"shape":"ListResourcePoliciesResponseResourcePolicy"}, + "max":100, + "min":0 + }, + "ListResourcePoliciesResponseResourcePolicy":{ + "type":"structure", + "members":{ + "PolicyArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for policy.

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

                              The type of policy.

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

                              Name of the policy.

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

                              Contains details about a policy for a resource.

                              " + }, + "ListSessionsRequest":{ + "type":"structure", + "required":["ApprovalTeamArn"], + "members":{ + "ApprovalTeamArn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amazon Resource Name (ARN) for the approval team.

                              ", + "location":"uri", + "locationName":"ApprovalTeamArn" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

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

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

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

                              An array of Filter objects. Contains the filter to apply when listing sessions.

                              " + } + } + }, + "ListSessionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + }, + "Sessions":{ + "shape":"ListSessionsResponseSessions", + "documentation":"

                              An array of ListSessionsResponseSession objects. Contains details for the sessions.

                              " + } + } + }, + "ListSessionsResponseSession":{ + "type":"structure", + "members":{ + "SessionArn":{ + "shape":"SessionArn", + "documentation":"

                              Amazon Resource Name (ARN) for the session.

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

                              Name of the approval team.

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

                              Amazon Resource Name (ARN) for the approval team.

                              " + }, + "InitiationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the session was initiated.

                              " + }, + "ExpirationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the session was expire.

                              " + }, + "CompletionTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the session was completed.

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

                              Description for the team.

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

                              Name of the protected operation.

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

                              Amazon Resource Name (ARN) for the protected operation.

                              " + }, + "RequesterServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

                              Service principal for the service associated with the protected operation.

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

                              IAM principal that made the operation request.

                              " + }, + "RequesterRegion":{ + "shape":"Region", + "documentation":"

                              Amazon Web Services Region where the operation request originated.

                              " + }, + "RequesterAccountId":{ + "shape":"AccountId", + "documentation":"

                              ID for the account that made the operation request.

                              " + }, + "Status":{ + "shape":"SessionStatus", + "documentation":"

                              Status for the protected operation. For example, if the operation is PENDING.

                              " + }, + "StatusCode":{ + "shape":"SessionStatusCode", + "documentation":"

                              Status code of the session.

                              " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

                              Message describing the status for session.

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

                              Strategy for executing the protected operation. AUTO_COMPLETION_UPON_APPROVAL means the operation is executed automatically using the requester's permissions, if approved.

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

                              Contains details for an approval session. For more information, see Session in the Multi-party approval User Guide

                              " + }, + "ListSessionsResponseSessions":{ + "type":"list", + "member":{"shape":"ListSessionsResponseSession"}, + "max":20, + "min":0 + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the resource.

                              ", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

                              Tags attached to the resource.

                              " + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "Message":{ + "type":"string", + "max":500, + "min":0 + }, + "MofNApprovalStrategy":{ + "type":"structure", + "required":["MinApprovalsRequired"], + "members":{ + "MinApprovalsRequired":{ + "shape":"MofNApprovalStrategyMinApprovalsRequiredInteger", + "documentation":"

                              Minimum number of approvals (M) required for a total number of approvers (N).

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

                              Strategy for how an approval team grants approval.

                              " + }, + "MofNApprovalStrategyMinApprovalsRequiredInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "Operator":{ + "type":"string", + "enum":[ + "EQ", + "NE", + "GT", + "LT", + "GTE", + "LTE", + "CONTAINS", + "NOT_CONTAINS", + "BETWEEN" + ] + }, + "ParticipantId":{ + "type":"string", + "max":100, + "min":1 + }, + "PendingUpdate":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"String", + "documentation":"

                              Version ID for the team.

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

                              Description for the team.

                              " + }, + "ApprovalStrategy":{ + "shape":"ApprovalStrategyResponse", + "documentation":"

                              An ApprovalStrategyResponse object. Contains details for how the team grants approval.

                              " + }, + "NumberOfApprovers":{ + "shape":"Integer", + "documentation":"

                              Total number of approvers in the team.

                              " + }, + "Status":{ + "shape":"ApprovalTeamStatus", + "documentation":"

                              Status for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + }, + "StatusCode":{ + "shape":"ApprovalTeamStatusCode", + "documentation":"

                              Status code for the update. For more information, see Team health in the Multi-party approval User Guide.

                              " + }, + "StatusMessage":{ + "shape":"Message", + "documentation":"

                              Message describing the status for the team.

                              " + }, + "Approvers":{ + "shape":"GetApprovalTeamResponseApprovers", + "documentation":"

                              An array of GetApprovalTeamResponseApprover objects. Contains details for the approvers in the team.

                              " + }, + "UpdateInitiationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the update request was initiated.

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

                              Contains details for the pending updates for an approval team, if applicable.

                              " + }, + "Policies":{ + "type":"list", + "member":{"shape":"Policy"}, + "max":20, + "min":0 + }, + "PoliciesReferences":{ + "type":"list", + "member":{"shape":"PolicyReference"}, + "max":10, + "min":1 + }, + "Policy":{ + "type":"structure", + "required":[ + "Arn", + "DefaultVersion", + "PolicyType", + "Name" + ], + "members":{ + "Arn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the policy.

                              " + }, + "DefaultVersion":{ + "shape":"PolicyVersionId", + "documentation":"

                              Determines if the specified policy is the default for the team.

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

                              The type of policy.

                              " + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

                              Name of the policy.

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

                              Contains details for a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "PolicyDocument":{ + "type":"string", + "max":400000, + "min":0, + "sensitive":true + }, + "PolicyName":{ + "type":"string", + "max":64, + "min":0 + }, + "PolicyReference":{ + "type":"structure", + "required":["PolicyArn"], + "members":{ + "PolicyArn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the policy.

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

                              Contains the Amazon Resource Name (ARN) for a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "PolicyStatus":{ + "type":"string", + "enum":[ + "ATTACHABLE", + "DEPRECATED" + ] + }, + "PolicyType":{ + "type":"string", + "enum":[ + "AWS_MANAGED", + "AWS_RAM" + ] + }, + "PolicyVersion":{ + "type":"structure", + "required":[ + "Arn", + "PolicyArn", + "VersionId", + "PolicyType", + "IsDefault", + "Name", + "Status", + "CreationTime", + "LastUpdatedTime", + "Document" + ], + "members":{ + "Arn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team.

                              " + }, + "PolicyArn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the policy.

                              " + }, + "VersionId":{ + "shape":"PolicyVersionId", + "documentation":"

                              Verison ID

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

                              The type of policy.

                              " + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

                              Determines if the specified policy is the default for the team.

                              " + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

                              Name of the policy.

                              " + }, + "Status":{ + "shape":"PolicyStatus", + "documentation":"

                              Status for the policy. For example, if the policy is attachable or deprecated.

                              " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the policy was created.

                              " + }, + "LastUpdatedTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the policy was last updated.

                              " + }, + "Document":{ + "shape":"PolicyDocument", + "documentation":"

                              Document that contains the policy contents.

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

                              Contains details for the version of a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "PolicyVersionId":{ + "type":"integer", + "box":true, + "min":1 + }, + "PolicyVersionSummary":{ + "type":"structure", + "required":[ + "Arn", + "PolicyArn", + "VersionId", + "PolicyType", + "IsDefault", + "Name", + "Status", + "CreationTime", + "LastUpdatedTime" + ], + "members":{ + "Arn":{ + "shape":"QualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team.

                              " + }, + "PolicyArn":{ + "shape":"UnqualifiedPolicyArn", + "documentation":"

                              Amazon Resource Name (ARN) for the policy.

                              " + }, + "VersionId":{ + "shape":"PolicyVersionId", + "documentation":"

                              Version ID for the policy.

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

                              The type of policy.

                              " + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

                              Determines if the specified policy is the default for the team.

                              " + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

                              Name of the policy

                              " + }, + "Status":{ + "shape":"PolicyStatus", + "documentation":"

                              Status for the policy. For example, if the policy is attachable or deprecated.

                              " + }, + "CreationTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the policy was created.

                              " + }, + "LastUpdatedTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the policy was last updated.

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

                              Contains details for the version of a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + }, + "PolicyVersions":{ + "type":"list", + "member":{"shape":"PolicyVersionSummary"}, + "max":20, + "min":0 + }, + "QualifiedPolicyArn":{ + "type":"string", + "max":1224, + "min":0, + "pattern":"arn:.{1,63}:mpa:::aws:policy/[a-zA-Z0-9_\\.-]{1,1023}/[a-zA-Z0-9_\\.-]{1,1023}/(?:[\\d]+|\\$DEFAULT)" + }, + "Region":{ + "type":"string", + "max":100, + "min":0 + }, + "RequesterComment":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the ResourceNotFoundException error.

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

                              The specified resource doesn't exist. Check the resource ID, and try again.

                              ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServicePrincipal":{ + "type":"string", + "max":100, + "min":1 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the ServiceQuotaExceededException error.

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

                              The request exceeds the service quota for your account. Request a quota increase or reduce your request size.

                              ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SessionArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:mpa:[a-z0-9-]{1,20}:[0-9]{12}:session/[a-zA-Z0-9._-]+/[a-zA-Z0-9_-]+" + }, + "SessionExecutionStatus":{ + "type":"string", + "enum":[ + "EXECUTED", + "FAILED", + "PENDING" + ] + }, + "SessionKey":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9\\p{P}]*", + "sensitive":true + }, + "SessionMetadata":{ + "type":"map", + "key":{"shape":"SessionKey"}, + "value":{"shape":"SessionValue"}, + "sensitive":true + }, + "SessionResponse":{ + "type":"string", + "enum":[ + "APPROVED", + "REJECTED", + "NO_RESPONSE" + ] + }, + "SessionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "CANCELLED", + "APPROVED", + "FAILED", + "CREATING" + ] + }, + "SessionStatusCode":{ + "type":"string", + "enum":[ + "REJECTED", + "EXPIRED", + "CONFIGURATION_CHANGED" + ] + }, + "SessionValue":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[a-zA-Z0-9\\p{P}]*", + "sensitive":true + }, + "StartActiveApprovalTeamDeletionRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "PendingWindowDays":{ + "shape":"Integer", + "documentation":"

                              Number of days between when the team approves the delete request and when the team is deleted.

                              " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team.

                              ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "StartActiveApprovalTeamDeletionResponse":{ + "type":"structure", + "members":{ + "DeletionCompletionTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the deletion process is scheduled to complete.

                              " + }, + "DeletionStartTime":{ + "shape":"IsoTimestamp", + "documentation":"

                              Timestamp when the deletion process was initiated.

                              " + } + } + }, + "String":{ + "type":"string", + "max":1000, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0, + "sensitive":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the resource you want to tag.

                              ", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

                              Tags that you have added to the specified resource.

                              " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "sensitive":true + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "sensitive":true + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the ThrottlingException error.

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

                              The request was denied due to request throttling.

                              ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Token":{ + "type":"string", + "max":4096, + "min":0 + }, + "TooManyTagsException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the TooManyTagsException error.

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

                              Name of the resource for the TooManyTagsException error.

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

                              The request exceeds the maximum number of tags allowed for this resource. Remove some tags, and try again.

                              ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UnqualifiedPolicyArn":{ + "type":"string", + "max":1224, + "min":0, + "pattern":"arn:.{1,63}:mpa:::aws:policy/[a-zA-Z0-9_\\.-]{1,1023}/[a-zA-Z0-9_\\.-]{1,1023}" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

                              Amazon Resource Name (ARN) for the resource you want to untag.

                              ", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

                              Array of tag key-value pairs that you want to untag.

                              " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApprovalTeamRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "ApprovalStrategy":{ + "shape":"ApprovalStrategy", + "documentation":"

                              An ApprovalStrategy object. Contains details for how the team grants approval.

                              " + }, + "Approvers":{ + "shape":"ApprovalTeamRequestApprovers", + "documentation":"

                              An array of ApprovalTeamRequestApprover objects. Contains details for the approvers in the team.

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

                              Description for the team.

                              " + }, + "Arn":{ + "shape":"ApprovalTeamArn", + "documentation":"

                              Amazon Resource Name (ARN) for the team.

                              ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "UpdateApprovalTeamResponse":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"String", + "documentation":"

                              Version ID for the team that was created. When an approval team is updated, the version ID changes.

                              " + } + } + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Message for the ValidationException error.

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

                              The input fails to satisfy the constraints specified by an Amazon Web Services service.

                              ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

                              Multi-party approval is a capability of Organizations that allows you to protect a predefined list of operations through a distributed approval process. Use Multi-party approval to establish approval workflows and transform security processes into team-based decisions.

                              When to use Multi-party approval:

                              • You need to align with the Zero Trust principle of \"never trust, always verify\"

                              • You need to make sure that the right humans have access to the right things in the right way

                              • You need distributed decision-making for sensitive or critical operations

                              • You need to protect against unintended operations on sensitive or critical resources

                              • You need formal reviews and approvals for auditing or compliance reasons

                              For more information, see What is Multi-party approval in the Multi-party approval User Guide.

                              " +} 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 d604c394960..3dbc5905798 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 @@ -16,6 +16,41 @@ "auth":["aws.auth#sigv4"] }, "operations":{ + "AcceptNetworkFirewallTransitGatewayAttachment":{ + "name":"AcceptNetworkFirewallTransitGatewayAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptNetworkFirewallTransitGatewayAttachmentRequest"}, + "output":{"shape":"AcceptNetworkFirewallTransitGatewayAttachmentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Accepts a transit gateway attachment request for Network Firewall. When you accept the attachment request, Network Firewall creates the necessary routing components to enable traffic flow between the transit gateway and firewall endpoints.

                              You must accept a transit gateway attachment to complete the creation of a transit gateway-attached firewall, unless auto-accept is enabled on the transit gateway. After acceptance, use DescribeFirewall to verify the firewall status.

                              To reject an attachment instead of accepting it, use RejectNetworkFirewallTransitGatewayAttachment.

                              It can take several minutes for the attachment acceptance to complete and the firewall to become available.

                              " + }, + "AssociateAvailabilityZones":{ + "name":"AssociateAvailabilityZones", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateAvailabilityZonesRequest"}, + "output":{"shape":"AssociateAvailabilityZonesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InsufficientCapacityException"} + ], + "documentation":"

                              Associates the specified Availability Zones with a transit gateway-attached firewall. For each Availability Zone, Network Firewall creates a firewall endpoint to process traffic. You can specify one or more Availability Zones where you want to deploy the firewall.

                              After adding Availability Zones, you must update your transit gateway route tables to direct traffic through the new firewall endpoints. Use DescribeFirewall to monitor the status of the new endpoints.

                              " + }, "AssociateFirewallPolicy":{ "name":"AssociateFirewallPolicy", "http":{ @@ -177,6 +212,22 @@ ], "documentation":"

                              Deletes the specified FirewallPolicy.

                              " }, + "DeleteNetworkFirewallTransitGatewayAttachment":{ + "name":"DeleteNetworkFirewallTransitGatewayAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkFirewallTransitGatewayAttachmentRequest"}, + "output":{"shape":"DeleteNetworkFirewallTransitGatewayAttachmentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Deletes a transit gateway attachment from a Network Firewall. Either the firewall owner or the transit gateway owner can delete the attachment.

                              After you delete a transit gateway attachment, raffic will no longer flow through the firewall endpoints.

                              After you initiate the delete operation, use DescribeFirewall to monitor the deletion status.

                              " + }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", "http":{ @@ -374,6 +425,22 @@ ], "documentation":"

                              High-level information about a rule group, returned by operations like create and describe. You can use the information provided in the metadata to retrieve and manage a rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

                              " }, + "DescribeRuleGroupSummary":{ + "name":"DescribeRuleGroupSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRuleGroupSummaryRequest"}, + "output":{"shape":"DescribeRuleGroupSummaryResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

                              Returns detailed information for a stateful rule group.

                              For active threat defense Amazon Web Services managed rule groups, this operation provides insight into the protections enabled by the rule group, based on Suricata rule metadata fields. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

                              To modify how threat information appears in summaries, use the SummaryConfiguration parameter in UpdateRuleGroup.

                              " + }, "DescribeTLSInspectionConfiguration":{ "name":"DescribeTLSInspectionConfiguration", "http":{ @@ -406,6 +473,24 @@ ], "documentation":"

                              Returns the data object for the specified VPC endpoint association.

                              " }, + "DisassociateAvailabilityZones":{ + "name":"DisassociateAvailabilityZones", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateAvailabilityZonesRequest"}, + "output":{"shape":"DisassociateAvailabilityZonesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

                              Removes the specified Availability Zone associations from a transit gateway-attached firewall. This removes the firewall endpoints from these Availability Zones and stops traffic filtering in those zones. Before removing an Availability Zone, ensure you've updated your transit gateway route tables to redirect traffic appropriately.

                              If AvailabilityZoneChangeProtection is enabled, you must first disable it using UpdateAvailabilityZoneChangeProtection.

                              To verify the status of your Availability Zone changes, use DescribeFirewall.

                              " + }, "DisassociateSubnets":{ "name":"DisassociateSubnets", "http":{ @@ -596,6 +681,22 @@ ], "documentation":"

                              Creates or updates an IAM policy for your rule group, firewall policy, or firewall. Use this to share these resources between accounts. This operation works in conjunction with the Amazon Web Services Resource Access Manager (RAM) service to manage resource sharing for Network Firewall.

                              For information about using sharing with Network Firewall resources, see Sharing Network Firewall resources in the Network Firewall Developer Guide.

                              Use this operation to create or update a resource policy for your Network Firewall rule group, firewall policy, or firewall. In the resource policy, you specify the accounts that you want to share the Network Firewall resource with and the operations that you want the accounts to be able to perform.

                              When you add an account in the resource policy, you then run the following Resource Access Manager (RAM) operations to access and accept the shared resource.

                              For additional information about resource sharing using RAM, see Resource Access Manager User Guide.

                              " }, + "RejectNetworkFirewallTransitGatewayAttachment":{ + "name":"RejectNetworkFirewallTransitGatewayAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectNetworkFirewallTransitGatewayAttachmentRequest"}, + "output":{"shape":"RejectNetworkFirewallTransitGatewayAttachmentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Rejects a transit gateway attachment request for Network Firewall. When you reject the attachment request, Network Firewall cancels the creation of routing components between the transit gateway and firewall endpoints.

                              Only the firewall owner can reject the attachment. After rejection, no traffic will flow through the firewall endpoints for this attachment.

                              Use DescribeFirewall to monitor the rejection status. To accept the attachment instead of rejecting it, use AcceptNetworkFirewallTransitGatewayAttachment.

                              Once rejected, you cannot reverse this action. To establish connectivity, you must create a new transit gateway-attached firewall.

                              " + }, "StartAnalysisReport":{ "name":"StartAnalysisReport", "http":{ @@ -676,6 +777,24 @@ ], "documentation":"

                              Removes the tags with the specified keys from the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

                              You can manage tags for the Amazon Web Services resources that you manage through Network Firewall: firewalls, firewall policies, and rule groups.

                              " }, + "UpdateAvailabilityZoneChangeProtection":{ + "name":"UpdateAvailabilityZoneChangeProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAvailabilityZoneChangeProtectionRequest"}, + "output":{"shape":"UpdateAvailabilityZoneChangeProtectionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidTokenException"}, + {"shape":"ResourceOwnerCheckException"} + ], + "documentation":"

                              Modifies the AvailabilityZoneChangeProtection setting for a transit gateway-attached firewall. When enabled, this setting prevents accidental changes to the firewall's Availability Zone configuration. This helps protect against disrupting traffic flow in production environments.

                              When enabled, you must disable this protection before using AssociateAvailabilityZones or DisassociateAvailabilityZones to modify the firewall's Availability Zone configuration.

                              " + }, "UpdateFirewallAnalysisSettings":{ "name":"UpdateFirewallAnalysisSettings", "http":{ @@ -852,6 +971,12 @@ } }, "shapes":{ + "AWSAccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, "AZSyncState":{ "type":"structure", "members":{ @@ -859,6 +984,33 @@ }, "documentation":"

                              The status of the firewall endpoint defined by a VpcEndpointAssociation.

                              " }, + "AcceptNetworkFirewallTransitGatewayAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

                              Required. The unique identifier of the transit gateway attachment to accept. This ID is returned in the response when creating a transit gateway-attached firewall.

                              " + } + } + }, + "AcceptNetworkFirewallTransitGatewayAttachmentResponse":{ + "type":"structure", + "required":[ + "TransitGatewayAttachmentId", + "TransitGatewayAttachmentStatus" + ], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

                              The unique identifier of the transit gateway attachment that was accepted.

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

                              The current status of the transit gateway attachment. Valid values are:

                              • CREATING - The attachment is being created

                              • DELETING - The attachment is being deleted

                              • DELETED - The attachment has been deleted

                              • FAILED - The attachment creation has failed and cannot be recovered

                              • ERROR - The attachment is in an error state that might be recoverable

                              • READY - The attachment is active and processing traffic

                              • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                              • REJECTING - The attachment is in the process of being rejected

                              • REJECTED - The attachment has been rejected

                              " + } + } + }, "ActionDefinition":{ "type":"structure", "members":{ @@ -990,6 +1142,49 @@ }, "documentation":"

                              The results of a COMPLETED analysis report generated with StartAnalysisReport.

                              For an example of traffic analysis report results, see the response syntax of GetAnalysisReportResults.

                              " }, + "AssociateAvailabilityZonesRequest":{ + "type":"structure", + "required":["AvailabilityZoneMappings"], + "members":{ + "UpdateToken":{ + "shape":"UpdateToken", + "documentation":"

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

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

                              The Amazon Resource Name (ARN) of the firewall.

                              You must specify the ARN or the name, and you can specify both.

                              " + }, + "FirewallName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              You must specify the ARN or the name, and you can specify both.

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

                              Required. The Availability Zones where you want to create firewall endpoints. You must specify at least one Availability Zone.

                              " + } + } + }, + "AssociateAvailabilityZonesResponse":{ + "type":"structure", + "members":{ + "FirewallArn":{ + "shape":"ResourceArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the firewall.

                              " + }, + "FirewallName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

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

                              The Availability Zones where Network Firewall created firewall endpoints. Each mapping specifies an Availability Zone where the firewall processes traffic.

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

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + } + }, "AssociateFirewallPolicyRequest":{ "type":"structure", "required":["FirewallPolicyArn"], @@ -1103,6 +1298,7 @@ }, "documentation":"

                              The definition and status of the firewall endpoint for a single subnet. In each configured subnet, Network Firewall instantiates a firewall endpoint to handle network traffic.

                              This data type is used for any firewall endpoint type:

                              • For Firewall.SubnetMappings, this Attachment is part of the FirewallStatus sync states information. You define firewall subnets using CreateFirewall and AssociateSubnets.

                              • For VpcEndpointAssociation, this Attachment is part of the VpcEndpointAssociationStatus sync states information. You define these subnets using CreateVpcEndpointAssociation.

                              " }, + "AttachmentId":{"type":"string"}, "AttachmentStatus":{ "type":"string", "enum":[ @@ -1115,6 +1311,27 @@ ] }, "AvailabilityZone":{"type":"string"}, + "AvailabilityZoneMapping":{ + "type":"structure", + "required":["AvailabilityZone"], + "members":{ + "AvailabilityZone":{ + "shape":"AvailabilityZoneMappingString", + "documentation":"

                              The ID of the Availability Zone where the firewall endpoint is located. For example, us-east-2a. The Availability Zone must be in the same Region as the transit gateway.

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

                              Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling CreateFirewall, AssociateAvailabilityZones, and DisassociateAvailabilityZones.

                              To retrieve the current Availability Zone mappings for a firewall, use DescribeFirewall.

                              " + }, + "AvailabilityZoneMappingString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"\\S+" + }, + "AvailabilityZoneMappings":{ + "type":"list", + "member":{"shape":"AvailabilityZoneMapping"} + }, "AvailabilityZoneMetadata":{ "type":"structure", "members":{ @@ -1298,6 +1515,18 @@ "EnabledAnalysisTypes":{ "shape":"EnabledAnalysisTypes", "documentation":"

                              An optional setting indicating the specific traffic analysis types to enable on the firewall.

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

                              Required when creating a transit gateway-attached firewall. The unique identifier of the transit gateway to attach to this firewall. You can provide either a transit gateway from your account or one that has been shared with you through Resource Access Manager.

                              After creating the firewall, you cannot change the transit gateway association. To use a different transit gateway, you must create a new firewall.

                              For information about creating firewalls, see CreateFirewall. For specific guidance about transit gateway-attached firewalls, see Considerations for transit gateway-attached firewalls in the Network Firewall Developer Guide.

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

                              Required. The Availability Zones where you want to create firewall endpoints for a transit gateway-attached firewall. You must specify at least one Availability Zone. Consider enabling the firewall in every Availability Zone where you have workloads to maintain Availability Zone independence.

                              You can modify Availability Zones later using AssociateAvailabilityZones or DisassociateAvailabilityZones, but this may briefly disrupt traffic. The AvailabilityZoneChangeProtection setting controls whether you can make these modifications.

                              " + }, + "AvailabilityZoneChangeProtection":{ + "shape":"Boolean", + "documentation":"

                              Optional. A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you cannot add or remove Availability Zones without first disabling this protection using UpdateAvailabilityZoneChangeProtection.

                              Default value: FALSE

                              " } } }, @@ -1365,6 +1594,10 @@ "AnalyzeRuleGroup":{ "shape":"Boolean", "documentation":"

                              Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to TRUE, Network Firewall runs the analysis and then creates the rule group for you. To run the stateless rule group analyzer without creating the rule group, set DryRun to TRUE.

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

                              An object that contains a RuleOptions array of strings. You use RuleOptions to determine which of the following RuleSummary values are returned in response to DescribeRuleGroupSummary.

                              • Metadata - returns

                              • Msg

                              • SID

                              " } } }, @@ -1490,6 +1723,7 @@ "type":"list", "member":{"shape":"CustomAction"} }, + "DeepThreatInspection":{"type":"boolean"}, "DeleteFirewallPolicyRequest":{ "type":"structure", "members":{ @@ -1533,6 +1767,33 @@ "FirewallStatus":{"shape":"FirewallStatus"} } }, + "DeleteNetworkFirewallTransitGatewayAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

                              Required. The unique identifier of the transit gateway attachment to delete.

                              " + } + } + }, + "DeleteNetworkFirewallTransitGatewayAttachmentResponse":{ + "type":"structure", + "required":[ + "TransitGatewayAttachmentId", + "TransitGatewayAttachmentStatus" + ], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

                              The ID of the transit gateway attachment that was deleted.

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

                              The current status of the transit gateway attachment deletion process.

                              Valid values are:

                              • CREATING - The attachment is being created

                              • DELETING - The attachment is being deleted

                              • DELETED - The attachment has been deleted

                              • FAILED - The attachment creation has failed and cannot be recovered

                              • ERROR - The attachment is in an error state that might be recoverable

                              • READY - The attachment is active and processing traffic

                              • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                              • REJECTING - The attachment is in the process of being rejected

                              • REJECTED - The attachment has been rejected

                              " + } + } + }, "DeleteResourcePolicyRequest":{ "type":"structure", "required":["ResourceArn"], @@ -1651,6 +1912,10 @@ "SupportedAvailabilityZones":{ "shape":"SupportedAvailabilityZones", "documentation":"

                              The Availability Zones that the firewall currently supports. This includes all Availability Zones for which the firewall has a subnet defined.

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

                              The unique identifier of the transit gateway attachment associated with this firewall. This field is only present for transit gateway-attached firewalls.

                              " } } }, @@ -1885,7 +2150,7 @@ "StatefulRuleOptions":{"shape":"StatefulRuleOptions"}, "LastModifiedTime":{ "shape":"LastUpdateTime", - "documentation":"

                              The last time that the rule group was changed.

                              " + "documentation":"

                              A timestamp indicating when the rule group was last modified.

                              " } } }, @@ -1931,6 +2196,41 @@ } } }, + "DescribeRuleGroupSummaryRequest":{ + "type":"structure", + "members":{ + "RuleGroupName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the rule group. You can't change the name of a rule group after you create it.

                              You must specify the ARN or the name, and you can specify both.

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

                              Required. The Amazon Resource Name (ARN) of the rule group.

                              You must specify the ARN or the name, and you can specify both.

                              " + }, + "Type":{ + "shape":"RuleGroupType", + "documentation":"

                              The type of rule group you want a summary for. This is a required field.

                              Valid value: STATEFUL

                              Note that STATELESS exists but is not currently supported. If you provide STATELESS, an exception is returned.

                              " + } + } + }, + "DescribeRuleGroupSummaryResponse":{ + "type":"structure", + "required":["RuleGroupName"], + "members":{ + "RuleGroupName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the rule group. You can't change the name of a rule group after you create it.

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

                              A description of the rule group.

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

                              A complex type that contains rule information based on the rule group's configured summary settings. The content varies depending on the fields that you specified to extract in your SummaryConfiguration. When you haven't configured any summary settings, this returns an empty array. The response might include:

                              • Rule identifiers

                              • Rule descriptions

                              • Any metadata fields that you specified in your SummaryConfiguration

                              " + } + } + }, "DescribeTLSInspectionConfigurationRequest":{ "type":"structure", "members":{ @@ -2022,6 +2322,49 @@ "max":1, "min":1 }, + "DisassociateAvailabilityZonesRequest":{ + "type":"structure", + "required":["AvailabilityZoneMappings"], + "members":{ + "UpdateToken":{ + "shape":"UpdateToken", + "documentation":"

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

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

                              The Amazon Resource Name (ARN) of the firewall.

                              You must specify the ARN or the name, and you can specify both.

                              " + }, + "FirewallName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              You must specify the ARN or the name, and you can specify both.

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

                              Required. The Availability Zones to remove from the firewall's configuration.

                              " + } + } + }, + "DisassociateAvailabilityZonesResponse":{ + "type":"structure", + "members":{ + "FirewallArn":{ + "shape":"ResourceArn", + "documentation":"

                              The Amazon Resource Name (ARN) of the firewall.

                              " + }, + "FirewallName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

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

                              The remaining Availability Zones where the firewall has endpoints after the disassociation.

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

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + } + }, "DisassociateSubnetsRequest":{ "type":"structure", "required":["SubnetIds"], @@ -2167,6 +2510,22 @@ "EnabledAnalysisTypes":{ "shape":"EnabledAnalysisTypes", "documentation":"

                              An optional setting indicating the specific traffic analysis types to enable on the firewall.

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

                              The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.

                              " + }, + "TransitGatewayOwnerAccountId":{ + "shape":"AWSAccountId", + "documentation":"

                              The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.

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

                              The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.

                              " + }, + "AvailabilityZoneChangeProtection":{ + "shape":"Boolean", + "documentation":"

                              A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you must first disable this protection before adding or removing Availability Zones.

                              " } }, "documentation":"

                              A firewall defines the behavior of a firewall, the main VPC where the firewall is used, the Availability Zones where the firewall can be used, and one subnet to use for a firewall endpoint within each of the Availability Zones. The Availability Zones are defined implicitly in the subnet specifications.

                              In addition to the firewall endpoints that you define in this Firewall specification, you can create firewall endpoints in VpcEndpointAssociation resources for any VPC, in any Availability Zone where the firewall is already in use.

                              The status of the firewall, for example whether it's ready to filter network traffic, is provided in the corresponding FirewallStatus. You can retrieve both the firewall and firewall status by calling DescribeFirewall.

                              " @@ -2181,6 +2540,10 @@ "FirewallArn":{ "shape":"ResourceArn", "documentation":"

                              The Amazon Resource Name (ARN) of the firewall.

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

                              The unique identifier of the transit gateway attachment associated with this firewall. This field is only present for transit gateway-attached firewalls.

                              " } }, "documentation":"

                              High-level information about a firewall, returned by operations like create and describe. You can use the information provided in the metadata to retrieve and manage a firewall.

                              " @@ -2326,6 +2689,10 @@ "CapacityUsageSummary":{ "shape":"CapacityUsageSummary", "documentation":"

                              Describes the capacity usage of the resources contained in a firewall's reference sets. Network Firewall calculates the capacity usage by taking an aggregated count of all of the resources used by all of the reference sets in a firewall.

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

                              The synchronization state of the transit gateway attachment. This indicates whether the firewall's transit gateway configuration is properly synchronized and operational. Use this to verify that your transit gateway configuration changes have been applied.

                              " } }, "documentation":"

                              Detailed information about the current status of a Firewall. You can retrieve this for a firewall by calling DescribeFirewall and providing the firewall name and ARN.

                              The firewall status indicates a combined status. It indicates whether all subnets are up-to-date with the latest firewall configurations, which is based on the sync states config values, and also whether all subnets have their endpoints fully enabled, based on their sync states attachment values.

                              " @@ -3359,6 +3726,33 @@ }, "documentation":"

                              Contains a set of IP set references.

                              " }, + "RejectNetworkFirewallTransitGatewayAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

                              Required. The unique identifier of the transit gateway attachment to reject. This ID is returned in the response when creating a transit gateway-attached firewall.

                              " + } + } + }, + "RejectNetworkFirewallTransitGatewayAttachmentResponse":{ + "type":"structure", + "required":[ + "TransitGatewayAttachmentId", + "TransitGatewayAttachmentStatus" + ], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

                              The unique identifier of the transit gateway attachment that was rejected.

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

                              The current status of the transit gateway attachment. Valid values are:

                              • CREATING - The attachment is being created

                              • DELETING - The attachment is being deleted

                              • DELETED - The attachment has been deleted

                              • FAILED - The attachment creation has failed and cannot be recovered

                              • ERROR - The attachment is in an error state that might be recoverable

                              • READY - The attachment is active and processing traffic

                              • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                              • REJECTING - The attachment is in the process of being rejected

                              • REJECTED - The attachment has been rejected

                              For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

                              " + } + } + }, "ReportTime":{"type":"timestamp"}, "ResourceArn":{ "type":"string", @@ -3383,7 +3777,8 @@ "type":"string", "enum":[ "AWS_MANAGED_THREAT_SIGNATURES", - "AWS_MANAGED_DOMAIN_LISTS" + "AWS_MANAGED_DOMAIN_LISTS", + "ACTIVE_THREAT_DEFENSE" ] }, "ResourceName":{ @@ -3538,7 +3933,7 @@ }, "SnsTopic":{ "shape":"ResourceArn", - "documentation":"

                              The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's used to record changes to the managed rule group. You can subscribe to the SNS topic to receive notifications when the managed rule group is modified, such as for new versions and for version expiration. For more information, see the Amazon Simple Notification Service Developer Guide..

                              " + "documentation":"

                              The Amazon Resource Name (ARN) of the Amazon Simple Notification Service SNS topic that's used to record changes to the managed rule group. You can subscribe to the SNS topic to receive notifications when the managed rule group is modified, such as for new versions and for version expiration. For more information, see the Amazon Simple Notification Service Developer Guide..

                              " }, "LastModifiedTime":{ "shape":"LastUpdateTime", @@ -3547,6 +3942,10 @@ "AnalysisResults":{ "shape":"AnalysisResultList", "documentation":"

                              The list of analysis results for AnalyzeRuleGroup. If you set AnalyzeRuleGroup to TRUE in CreateRuleGroup, UpdateRuleGroup, or DescribeRuleGroup, Network Firewall analyzes the rule group and identifies the rules that might adversely effect your firewall's functionality. For example, if Network Firewall detects a rule that's routing traffic asymmetrically, which impacts the service's ability to properly process traffic, the service includes the rule in the list of analysis results.

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

                              A complex type containing the currently selected rule option fields that will be displayed for rule summarization returned by DescribeRuleGroupSummary.

                              " } }, "documentation":"

                              The high-level properties of a rule group. This, along with the RuleGroup, define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

                              " @@ -3592,6 +3991,28 @@ "STRICT_ORDER" ] }, + "RuleSummaries":{ + "type":"list", + "member":{"shape":"RuleSummary"} + }, + "RuleSummary":{ + "type":"structure", + "members":{ + "SID":{ + "shape":"CollectionMember_String", + "documentation":"

                              The unique identifier (Signature ID) of the Suricata rule.

                              " + }, + "Msg":{ + "shape":"CollectionMember_String", + "documentation":"

                              The contents taken from the rule's msg field.

                              " + }, + "Metadata":{ + "shape":"CollectionMember_String", + "documentation":"

                              The contents of the rule's metadata.

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

                              A complex type containing details about a Suricata rule. Contains:

                              • SID

                              • Msg

                              • Metadata

                              Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

                              " + }, "RuleTargets":{ "type":"list", "member":{"shape":"CollectionMember_String"} @@ -3614,7 +4035,7 @@ "documentation":"

                              A list of port ranges.

                              " } }, - "documentation":"

                              Settings that are available for use in the rules in the RuleGroup where this is defined.

                              " + "documentation":"

                              Settings that are available for use in the rules in the RuleGroup where this is defined. See CreateRuleGroup or UpdateRuleGroup for usage.

                              " }, "RulesSource":{ "type":"structure", @@ -3689,7 +4110,7 @@ }, "CertificateAuthorityArn":{ "shape":"ResourceArn", - "documentation":"

                              The Amazon Resource Name (ARN) of the imported certificate authority (CA) certificate within Certificate Manager (ACM) to use for outbound SSL/TLS inspection.

                              The following limitations apply:

                              • You can use CA certificates that you imported into ACM, but you can't generate CA certificates with ACM.

                              • You can't use certificates issued by Private Certificate Authority.

                              For more information about configuring certificates for outbound inspection, see Using SSL/TLS certificates with certificates with TLS inspection configurations in the Network Firewall Developer Guide.

                              For information about working with certificates in ACM, see Importing certificates in the Certificate Manager User Guide.

                              " + "documentation":"

                              The Amazon Resource Name (ARN) of the imported certificate authority (CA) certificate within Certificate Manager (ACM) to use for outbound SSL/TLS inspection.

                              The following limitations apply:

                              • You can use CA certificates that you imported into ACM, but you can't generate CA certificates with ACM.

                              • You can't use certificates issued by Private Certificate Authority.

                              For more information about configuring certificates for outbound inspection, see Using SSL/TLS certificates with TLS inspection configurations in the Network Firewall Developer Guide.

                              For information about working with certificates in ACM, see Importing certificates in the Certificate Manager User Guide.

                              " }, "CheckCertificateRevocationStatus":{ "shape":"CheckCertificateRevocationStatusActions", @@ -3913,7 +4334,7 @@ "members":{ "RuleOrder":{ "shape":"RuleOrder", - "documentation":"

                              Indicates how to manage the order of stateful rule evaluation for the policy. STRICT_ORDER is the default and recommended option. With STRICT_ORDER, provide your rules in the order that you want them to be evaluated. You can then choose one or more default actions for packets that don't match any rules. Choose STRICT_ORDER to have the stateful rules engine determine the evaluation order of your rules. The default action for this rule order is PASS, followed by DROP, REJECT, and ALERT actions. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on your settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.

                              " + "documentation":"

                              Indicates how to manage the order of stateful rule evaluation for the policy. STRICT_ORDER is the recommended option, but DEFAULT_ACTION_ORDER is the default option. With STRICT_ORDER, provide your rules in the order that you want them to be evaluated. You can then choose one or more default actions for packets that don't match any rules. Choose STRICT_ORDER to have the stateful rules engine determine the evaluation order of your rules. The default action for this rule order is PASS, followed by DROP, REJECT, and ALERT actions. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on your settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.

                              " }, "StreamExceptionPolicy":{ "shape":"StreamExceptionPolicy", @@ -3982,6 +4403,10 @@ "Override":{ "shape":"StatefulRuleGroupOverride", "documentation":"

                              The action that allows the policy owner to override the behavior of the rule group within a policy.

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

                              Network Firewall plans to augment the active threat defense managed rule group with an additional deep threat inspection capability. When this capability is released, Amazon Web Services will analyze service logs of network traffic processed by these rule groups to identify threat indicators across customers. Amazon Web Services will use these threat indicators to improve the active threat defense managed rule groups and protect the security of Amazon Web Services customers and services.

                              Customers can opt-out of deep threat inspection at any time through the Network Firewall console or API. When customers opt out, Network Firewall will not use the network traffic processed by those customers' active threat defense rule groups for rule group improvement.

                              " } }, "documentation":"

                              Identifier for a single stateful rule group, used in a firewall policy to refer to a rule group.

                              " @@ -4021,7 +4446,9 @@ "IKEV2", "TFTP", "NTP", - "DHCP" + "DHCP", + "HTTP2", + "QUIC" ] }, "StatefulRules":{ @@ -4126,6 +4553,38 @@ "type":"list", "member":{"shape":"SubnetMapping"} }, + "Summary":{ + "type":"structure", + "members":{ + "RuleSummaries":{ + "shape":"RuleSummaries", + "documentation":"

                              An array of RuleSummary objects containing individual rule details that had been configured by the rulegroup's SummaryConfiguration.

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

                              A complex type containing summaries of security protections provided by a rule group.

                              Network Firewall extracts this information from selected fields in the rule group's Suricata rules, based on your SummaryConfiguration settings.

                              " + }, + "SummaryConfiguration":{ + "type":"structure", + "members":{ + "RuleOptions":{ + "shape":"SummaryRuleOptions", + "documentation":"

                              Specifies the selected rule options returned by DescribeRuleGroupSummary.

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

                              A complex type that specifies which Suricata rule metadata fields to use when displaying threat information. Contains:

                              • RuleOptions - The Suricata rule options fields to extract and display

                              These settings affect how threat information appears in both the console and API responses. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

                              " + }, + "SummaryRuleOption":{ + "type":"string", + "enum":[ + "SID", + "MSG", + "METADATA" + ] + }, + "SummaryRuleOptions":{ + "type":"list", + "member":{"shape":"SummaryRuleOption"} + }, "SupportedAvailabilityZones":{ "type":"map", "key":{"shape":"AvailabilityZone"}, @@ -4377,6 +4836,51 @@ }, "documentation":"

                              Contains metadata about an Certificate Manager certificate.

                              " }, + "TransitGatewayAttachmentId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^tgw-attach-[0-9a-z]+$" + }, + "TransitGatewayAttachmentStatus":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "DELETED", + "FAILED", + "ERROR", + "READY", + "PENDING_ACCEPTANCE", + "REJECTING", + "REJECTED" + ] + }, + "TransitGatewayAttachmentSyncState":{ + "type":"structure", + "members":{ + "AttachmentId":{ + "shape":"AttachmentId", + "documentation":"

                              The unique identifier of the transit gateway attachment.

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

                              The current status of the transit gateway attachment.

                              Valid values are:

                              • CREATING - The attachment is being created

                              • DELETING - The attachment is being deleted

                              • DELETED - The attachment has been deleted

                              • FAILED - The attachment creation has failed and cannot be recovered

                              • ERROR - The attachment is in an error state that might be recoverable

                              • READY - The attachment is active and processing traffic

                              • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                              • REJECTING - The attachment is in the process of being rejected

                              • REJECTED - The attachment has been rejected

                              " + }, + "StatusMessage":{ + "shape":"TransitGatewayAttachmentSyncStateMessage", + "documentation":"

                              A message providing additional information about the current status, particularly useful when the transit gateway attachment is in a non-READY state.

                              Valid values are:

                              • CREATING - The attachment is being created

                              • DELETING - The attachment is being deleted

                              • DELETED - The attachment has been deleted

                              • FAILED - The attachment creation has failed and cannot be recovered

                              • ERROR - The attachment is in an error state that might be recoverable

                              • READY - The attachment is active and processing traffic

                              • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                              • REJECTING - The attachment is in the process of being rejected

                              • REJECTED - The attachment has been rejected

                              For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

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

                              Contains information about the synchronization state of a transit gateway attachment, including its current status and any error messages. Network Firewall uses this to track the state of your transit gateway configuration changes.

                              " + }, + "TransitGatewayAttachmentSyncStateMessage":{"type":"string"}, + "TransitGatewayId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^tgw-[0-9a-z]+$" + }, "UniqueSources":{ "type":"structure", "members":{ @@ -4416,6 +4920,49 @@ "type":"structure", "members":{} }, + "UpdateAvailabilityZoneChangeProtectionRequest":{ + "type":"structure", + "required":["AvailabilityZoneChangeProtection"], + "members":{ + "UpdateToken":{ + "shape":"UpdateToken", + "documentation":"

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

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

                              The Amazon Resource Name (ARN) of the firewall.

                              You must specify the ARN or the name, and you can specify both.

                              " + }, + "FirewallName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              You must specify the ARN or the name, and you can specify both.

                              " + }, + "AvailabilityZoneChangeProtection":{ + "shape":"Boolean", + "documentation":"

                              A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

                              " + } + } + }, + "UpdateAvailabilityZoneChangeProtectionResponse":{ + "type":"structure", + "members":{ + "UpdateToken":{ + "shape":"UpdateToken", + "documentation":"

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

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

                              The Amazon Resource Name (ARN) of the firewall.

                              " + }, + "FirewallName":{ + "shape":"ResourceName", + "documentation":"

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              " + }, + "AvailabilityZoneChangeProtection":{ + "shape":"Boolean", + "documentation":"

                              A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

                              " + } + } + }, "UpdateFirewallAnalysisSettingsRequest":{ "type":"structure", "members":{ @@ -4762,6 +5309,10 @@ "AnalyzeRuleGroup":{ "shape":"Boolean", "documentation":"

                              Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to TRUE, Network Firewall runs the analysis and then updates the rule group for you. To run the stateless rule group analyzer without updating the rule group, set DryRun to TRUE.

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

                              Updates the selected summary configuration for a rule group.

                              Changes affect subsequent responses from DescribeRuleGroupSummary.

                              " } } }, diff --git a/tools/code-generation/api-descriptions/networkmanager-2019-07-05.normal.json b/tools/code-generation/api-descriptions/networkmanager-2019-07-05.normal.json index e64ee0b937d..a578b2c681c 100644 --- a/tools/code-generation/api-descriptions/networkmanager-2019-07-05.normal.json +++ b/tools/code-generation/api-descriptions/networkmanager-2019-07-05.normal.json @@ -2611,6 +2611,18 @@ "ServiceInsertionActions":{ "shape":"ServiceInsertionActionList", "documentation":"

                              Describes the service insertion action.

                              " + }, + "VpnEcmpSupport":{ + "shape":"Boolean", + "documentation":"

                              Indicates whether Equal Cost Multipath (ECMP) is enabled for the core network.

                              " + }, + "DnsSupport":{ + "shape":"Boolean", + "documentation":"

                              Indicates whether public DNS support is supported. The default is true.

                              " + }, + "SecurityGroupReferencingSupport":{ + "shape":"Boolean", + "documentation":"

                              Indicates whether security group referencing is enabled for the core network.

                              " } }, "documentation":"

                              Describes a core network change.

                              " @@ -3716,8 +3728,7 @@ }, "DeleteResourcePolicyResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteSiteRequest":{ "type":"structure", @@ -4102,8 +4113,7 @@ }, "ExecuteCoreNetworkChangeSetResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "ExternalRegionCode":{ "type":"string", @@ -6256,8 +6266,7 @@ }, "PutResourcePolicyResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "ReasonContextKey":{ "type":"string", @@ -6903,8 +6912,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -7120,8 +7128,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateConnectionRequest":{ "type":"structure", @@ -7552,6 +7559,14 @@ "ApplianceModeSupport":{ "shape":"Boolean", "documentation":"

                              Indicates whether appliance mode is supported. If enabled, traffic flow between a source and destination use the same Availability Zone for the VPC attachment for the lifetime of that flow. The default value is false.

                              " + }, + "DnsSupport":{ + "shape":"Boolean", + "documentation":"

                              Indicates whether DNS is supported.

                              " + }, + "SecurityGroupReferencingSupport":{ + "shape":"Boolean", + "documentation":"

                              Indicates whether security group referencing is enabled for this VPC attachment. The default is true. However, at the core network policy-level the default is set to false.

                              " } }, "documentation":"

                              Describes the VPC options.

                              " diff --git a/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json b/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json index f0013079980..8ce86e56c31 100644 --- a/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json +++ b/tools/code-generation/api-descriptions/organizations-2016-11-28.normal.json @@ -60,7 +60,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

                              Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the Organizations User Guide for information about each policy type:

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the Organizations User Guide for information about each policy type:

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "CancelHandshake":{ "name":"CancelHandshake", @@ -208,7 +208,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual Amazon Web Services account.

                              For more information about policies and their use, see Managing Organizations policies.

                              If the request includes tags, then the requester must have the organizations:TagResource permission.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual Amazon Web Services account.

                              For more information about policies and their use, see Managing Organizations policies.

                              If the request includes tags, then the requester must have the organizations:TagResource permission.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DeclineHandshake":{ "name":"DeclineHandshake", @@ -284,7 +284,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", @@ -302,7 +302,7 @@ {"shape":"AWSOrganizationsNotInUseException"}, {"shape":"ResourcePolicyNotFoundException"} ], - "documentation":"

                              Deletes the resource policy from your organization.

                              You can only call this operation from the organization's management account.

                              " + "documentation":"

                              Deletes the resource policy from your organization.

                              This operation can be called only from the organization's management account.

                              " }, "DeregisterDelegatedAdministrator":{ "name":"DeregisterDelegatedAdministrator", @@ -341,7 +341,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Retrieves Organizations-related information about the specified account.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Retrieves Organizations-related information about the specified account.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DescribeCreateAccountStatus":{ "name":"DescribeCreateAccountStatus", @@ -360,7 +360,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Retrieves the current status of an asynchronous request to create an account.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Retrieves the current status of an asynchronous request to create an account.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DescribeEffectivePolicy":{ "name":"DescribeEffectivePolicy", @@ -433,7 +433,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Retrieves information about an organizational unit (OU).

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Retrieves information about an organizational unit (OU).

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DescribePolicy":{ "name":"DescribePolicy", @@ -452,7 +452,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Retrieves information about a policy.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Retrieves information about a policy.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DescribeResourcePolicy":{ "name":"DescribeResourcePolicy", @@ -470,7 +470,7 @@ {"shape":"ResourcePolicyNotFoundException"}, {"shape":"ConstraintViolationException"} ], - "documentation":"

                              Retrieves information about a resource policy.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Retrieves information about a resource policy.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DetachPolicy":{ "name":"DetachPolicy", @@ -493,7 +493,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

                              Detaches a policy from a target root, organizational unit (OU), or account.

                              If the policy being detached is a service control policy (SCP), the changes to permissions for Identity and Access Management (IAM) users and roles in affected accounts are immediate.

                              Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with an SCP that limits the permissions that can be delegated, you must attach the replacement SCP before you can remove the default SCP. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of a \"deny list\".

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Detaches a policy from a target root, organizational unit (OU), or account.

                              If the policy being detached is a service control policy (SCP), the changes to permissions for Identity and Access Management (IAM) users and roles in affected accounts are immediate.

                              Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with an SCP that limits the permissions that can be delegated, you must attach the replacement SCP before you can remove the default SCP. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of a \"deny list\".

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "DisableAWSServiceAccess":{ "name":"DisableAWSServiceAccess", @@ -535,7 +535,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

                              Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

                              This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              To view the status of available policy types in the organization, use DescribeOrganization.

                              " + "documentation":"

                              Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

                              This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              To view the status of available policy types in the organization, use DescribeOrganization.

                              " }, "EnableAWSServiceAccess":{ "name":"EnableAWSServiceAccess", @@ -554,7 +554,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Provides an Amazon Web Services service (the service that is specified by ServicePrincipal) with permissions to view the structure of an organization, create a service-linked role in all the accounts in the organization, and allow the service to perform operations on behalf of the organization and its accounts. Establishing these permissions can be a first step in enabling the integration of an Amazon Web Services service with Organizations.

                              We recommend that you enable integration between Organizations and the specified Amazon Web Services service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other Amazon Web Services service.

                              For more information about enabling services to integrate with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

                              You can only call this operation from the organization's management account and only if the organization has enabled all features.

                              " + "documentation":"

                              Provides an Amazon Web Services service (the service that is specified by ServicePrincipal) with permissions to view the structure of an organization, create a service-linked role in all the accounts in the organization, and allow the service to perform operations on behalf of the organization and its accounts. Establishing these permissions can be a first step in enabling the integration of an Amazon Web Services service with Organizations.

                              We recommend that you enable integration between Organizations and the specified Amazon Web Services service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other Amazon Web Services service.

                              For more information about enabling services to integrate with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

                              This operation can be called only from the organization's management account.

                              " }, "EnableAllFeatures":{ "name":"EnableAllFeatures", @@ -598,7 +598,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

                              Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

                              This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization.

                              " + "documentation":"

                              Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

                              This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization.

                              " }, "InviteAccountToOrganization":{ "name":"InviteAccountToOrganization", @@ -621,7 +621,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

                              • You can invite Amazon Web Services accounts only from the same seller as the management account. For example, if your organization's management account was created by Amazon Internet Services Pvt. Ltd (AISPL), an Amazon Web Services seller in India, you can invite only other AISPL accounts to your organization. You can't combine accounts from AISPL and Amazon Web Services or from any other Amazon Web Services seller. For more information, see Consolidated billing in India.

                              • If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact Amazon Web Services Support.

                              If the request includes tags, then the requester must have the organizations:TagResource permission.

                              This operation can be called only from the organization's management account.

                              " + "documentation":"

                              Sends an invitation to another account to join your organization as a member account. Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

                              If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact Amazon Web Services Support.

                              If the request includes tags, then the requester must have the organizations:TagResource permission.

                              This operation can be called only from the organization's management account.

                              " }, "LeaveOrganization":{ "name":"LeaveOrganization", @@ -640,7 +640,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the management account, use RemoveAccountFromOrganization instead.

                              This operation can be called only from a member account in the organization.

                              • The management account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do. This includes preventing them from successfully calling LeaveOrganization and leaving the organization.

                              • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must perform the following steps. If any of the steps are already completed for this account, that step doesn't appear.

                                • Choose a support plan

                                • Provide and verify the required contact information

                                • Provide a current payment method

                                Amazon Web Services uses the payment method to charge for any billable (not free tier) Amazon Web Services activity that occurs while the account isn't attached to an organization. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

                              • The account that you want to leave must not be a delegated administrator account for any Amazon Web Services service enabled for your organization. If the account is a delegated administrator, you must first change the delegated administrator account to another account that is remaining in the organization.

                              • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost Management User Guide.

                              • After the account leaves the organization, all tags that were attached to the account object in the organization are deleted. Amazon Web Services accounts outside of an organization do not support tags.

                              • A newly created account has a waiting period before it can be removed from its organization. You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

                              • If you are using an organization principal to call LeaveOrganization across multiple accounts, you can only do this up to 5 accounts per second in a single organization.

                              " + "documentation":"

                              Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the management account, use RemoveAccountFromOrganization instead.

                              This operation can be called only from a member account in the organization.

                              • The management account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do. This includes preventing them from successfully calling LeaveOrganization and leaving the organization.

                              • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must perform the following steps. If any of the steps are already completed for this account, that step doesn't appear.

                                • Choose a support plan

                                • Provide and verify the required contact information

                                • Provide a current payment method

                                Amazon Web Services uses the payment method to charge for any billable (not free tier) Amazon Web Services activity that occurs while the account isn't attached to an organization. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

                              • The account that you want to leave must not be a delegated administrator account for any Amazon Web Services service enabled for your organization. If the account is a delegated administrator, you must first change the delegated administrator account to another account that is remaining in the organization.

                              • After the account leaves the organization, all tags that were attached to the account object in the organization are deleted. Amazon Web Services accounts outside of an organization do not support tags.

                              • A newly created account has a waiting period before it can be removed from its organization. You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

                              • If you are using an organization principal to call LeaveOrganization across multiple accounts, you can only do this up to 5 accounts per second in a single organization.

                              " }, "ListAWSServiceAccessForOrganization":{ "name":"ListAWSServiceAccessForOrganization", @@ -659,7 +659,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Returns a list of the Amazon Web Services services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

                              For more information about integrating other services with Organizations, including the list of services that currently work with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Returns a list of the Amazon Web Services services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

                              For more information about integrating other services with Organizations, including the list of services that currently work with Organizations, see Using Organizations with other Amazon Web Services services in the Organizations User Guide.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListAccounts":{ "name":"ListAccounts", @@ -676,7 +676,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListAccountsForParent":{ "name":"ListAccountsForParent", @@ -694,7 +694,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListChildren":{ "name":"ListChildren", @@ -712,7 +712,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListCreateAccountStatus":{ "name":"ListCreateAccountStatus", @@ -730,7 +730,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Lists the account creation requests that match the specified status that is currently being tracked for the organization.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists the account creation requests that match the specified status that is currently being tracked for the organization.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListDelegatedAdministrators":{ "name":"ListDelegatedAdministrators", @@ -749,7 +749,7 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Lists the Amazon Web Services accounts that are designated as delegated administrators in this organization.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists the Amazon Web Services accounts that are designated as delegated administrators in this organization.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListDelegatedServicesForAccount":{ "name":"ListDelegatedServicesForAccount", @@ -770,7 +770,7 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              List the Amazon Web Services services for which the specified account is a delegated administrator.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              List the Amazon Web Services services for which the specified account is a delegated administrator.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListHandshakesForAccount":{ "name":"ListHandshakesForAccount", @@ -805,7 +805,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

                              Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

                              Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListOrganizationalUnitsForParent":{ "name":"ListOrganizationalUnitsForParent", @@ -823,7 +823,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists the organizational units (OUs) in a parent organizational unit or root.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists the organizational units (OUs) in a parent organizational unit or root.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListParents":{ "name":"ListParents", @@ -841,7 +841,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              In the current release, a child can have only a single parent.

                              " + "documentation":"

                              Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              In the current release, a child can have only a single parent.

                              " }, "ListPolicies":{ "name":"ListPolicies", @@ -859,7 +859,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Retrieves the list of all policies in an organization of a specified type.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Retrieves the list of all policies in an organization of a specified type.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListPoliciesForTarget":{ "name":"ListPoliciesForTarget", @@ -878,7 +878,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListRoots":{ "name":"ListRoots", @@ -895,7 +895,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists the roots that are defined in the current organization.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

                              " + "documentation":"

                              Lists the roots that are defined in the current organization.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

                              " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -913,7 +913,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Lists tags that are attached to the specified resource.

                              You can attach tags to the following resources in Organizations.

                              • Amazon Web Services account

                              • Organization root

                              • Organizational unit (OU)

                              • Policy (any type)

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists tags that are attached to the specified resource.

                              You can attach tags to the following resources in Organizations.

                              • Amazon Web Services account

                              • Organization root

                              • Organizational unit (OU)

                              • Policy (any type)

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "ListTargetsForPolicy":{ "name":"ListTargetsForPolicy", @@ -932,7 +932,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"UnsupportedAPIEndpointException"} ], - "documentation":"

                              Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

                              Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "MoveAccount":{ "name":"MoveAccount", @@ -973,7 +973,7 @@ {"shape":"ConstraintViolationException"}, {"shape":"AWSOrganizationsNotInUseException"} ], - "documentation":"

                              Creates or updates a resource policy.

                              You can only call this operation from the organization's management account.

                              " + "documentation":"

                              Creates or updates a resource policy.

                              This operation can be called only from the organization's management account..

                              " }, "RegisterDelegatedAdministrator":{ "name":"RegisterDelegatedAdministrator", @@ -1033,7 +1033,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Adds one or more tags to the specified resource.

                              Currently, you can attach tags to the following resources in Organizations.

                              • Amazon Web Services account

                              • Organization root

                              • Organizational unit (OU)

                              • Policy (any type)

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Adds one or more tags to the specified resource.

                              Currently, you can attach tags to the following resources in Organizations.

                              • Amazon Web Services account

                              • Organization root

                              • Organizational unit (OU)

                              • Policy (any type)

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "UntagResource":{ "name":"UntagResource", @@ -1052,7 +1052,7 @@ {"shape":"ServiceException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

                              Removes any tags with the specified keys from the specified resource.

                              You can attach tags to the following resources in Organizations.

                              • Amazon Web Services account

                              • Organization root

                              • Organizational unit (OU)

                              • Policy (any type)

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Removes any tags with the specified keys from the specified resource.

                              You can attach tags to the following resources in Organizations.

                              • Amazon Web Services account

                              • Organization root

                              • Organizational unit (OU)

                              • Policy (any type)

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " }, "UpdateOrganizationalUnit":{ "name":"UpdateOrganizationalUnit", @@ -1096,7 +1096,7 @@ {"shape":"UnsupportedAPIEndpointException"}, {"shape":"PolicyChangesInProgressException"} ], - "documentation":"

                              Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "documentation":"

                              Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type.

                              This operation can be called only from the organization's management account or by a member account that is a delegated administrator.

                              " } }, "shapes":{ @@ -1381,7 +1381,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"ConstraintViolationExceptionReason"} }, - "documentation":"

                              Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

                              Some of the reasons in the following list might not be applicable to this specific API or operation.

                              • ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. You can't remove the management account. Instead, after you remove all member accounts, delete the organization itself.

                              • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide.

                              • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

                              • ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You must complete the account setup before you create an organization.

                              • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to request an increase in your limit.

                                Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase in the number of accounts.

                                Deleted and closed accounts still count toward your limit.

                                If you get this exception when running a command immediately after creating the organization, wait one hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support.

                              • ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has more than 5000 accounts, and you can only use the standard migration process for organizations with less than 5000 accounts. Use the assisted migration process to enable all features mode, or create a support case for assistance if you are unable to use assisted migration.

                              • CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as a delegated administrator.

                              • CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of the organization as a delegated administrator for an Amazon Web Services service integrated with Organizations. You can designate only a member account as a delegated administrator.

                              • CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management account for the organization, you must first either remove or close all member accounts in the organization. Follow standard account closure process using root credentials.​

                              • CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as a delegated administrator for a service integrated with your organization. To complete this operation, you must first deregister this account as a delegated administrator.

                              • CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days.

                              • CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close at a time. ​

                              • CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified region, you must enable all features mode.

                              • DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has a delegated administrator. To complete this operation, you must first deregister any existing delegated administrators for this service.

                              • EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. You must resubmit the request and generate a new verfication code.

                              • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

                              • INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is associated with the account. Amazon Web Services does not support cards issued by financial institutions in Russia or Belarus. For more information, see Managing your Amazon Web Services payments.

                              • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's management account to the marketplace that corresponds to the management account's address. All accounts in an organization must be associated with the same marketplace.

                              • MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To create an organization, the master must have a valid business license. For more information, contact customer support.

                              • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact address and phone number for the management account. Then try the operation again.

                              • MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations in the Amazon Web Services GovCloud User Guide.

                              • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

                              • MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal.

                              • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

                              • MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource.

                              • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

                              • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

                              • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

                              • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

                              • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

                              • POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size.

                              • POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an organization.

                              • SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled service access. Call the EnableAWSServiceAccess API first.

                              • TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account.

                              • WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

                              ", + "documentation":"

                              Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:

                              Some of the reasons in the following list might not be applicable to this specific API or operation.

                              • ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. You can't remove the management account. Instead, after you remove all member accounts, delete the organization itself.

                              • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at Removing a member account from your organization in the Organizations User Guide.

                              • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

                              • ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You must complete the account setup before you create an organization.

                              • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to request an increase in your limit.

                                Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase in the number of accounts.

                                Deleted and closed accounts still count toward your limit.

                                If you get this exception when running a command immediately after creating the organization, wait one hour and try again. After an hour, if the command continues to fail with this error, contact Amazon Web Services Support.

                              • ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has more than 5000 accounts, and you can only use the standard migration process for organizations with less than 5000 accounts. Use the assisted migration process to enable all features mode, or create a support case for assistance if you are unable to use assisted migration.

                              • CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot register a suspended account as a delegated administrator.

                              • CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of the organization as a delegated administrator for an Amazon Web Services service integrated with Organizations. You can designate only a member account as a delegated administrator.

                              • CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management account for the organization, you must first either remove or close all member accounts in the organization. Follow standard account closure process using root credentials.​

                              • CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as a delegated administrator for a service integrated with your organization. To complete this operation, you must first deregister this account as a delegated administrator.

                              • CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days.

                              • CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close at a time. ​

                              • CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified region, you must enable all features mode.

                              • DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has a delegated administrator. To complete this operation, you must first deregister any existing delegated administrators for this service.

                              • EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. You must resubmit the request and generate a new verfication code.

                              • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

                              • INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is associated with the account. Amazon Web Services does not support cards issued by financial institutions in Russia or Belarus. For more information, see Managing your Amazon Web Services payments.

                              • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's management account to the marketplace that corresponds to the management account's address. All accounts in an organization must be associated with the same marketplace.

                              • MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in China. To create an organization, the master must have a valid business license. For more information, contact customer support.

                              • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact address and phone number for the management account. Then try the operation again.

                              • MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see Organizations in the Amazon Web Services GovCloud User Guide.

                              • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

                              • MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal.

                              • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

                              • MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource.

                              • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in the Organizations User Guide.

                              • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

                              • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

                              • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

                              • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

                              • POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size.

                              • POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an organization.

                              • POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access before you disabled the policy type (for example, SECURITYHUB_POLICY). To complete this operation, you must first disable the policy type.

                              • SERVICE_ACCESS_NOT_ENABLED:

                                • You attempted to register a delegated administrator before you enabled service access. Call the EnableAWSServiceAccess API first.

                                • You attempted to enable a policy type before you enabled service access. Call the EnableAWSServiceAccess API first.

                              • TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account.

                              • WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

                              ", "exception":true }, "ConstraintViolationExceptionReason":{ @@ -1414,6 +1414,7 @@ "CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR", "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG", "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE", + "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE", "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE", "CANNOT_CLOSE_MANAGEMENT_ACCOUNT", "CLOSE_ACCOUNT_QUOTA_EXCEEDED", @@ -1663,7 +1664,7 @@ }, "Type":{ "shape":"PolicyType", - "documentation":"

                              The type of policy to create. You can specify one of the following values:

                              " + "documentation":"

                              The type of policy to create. You can specify one of the following values:

                              " }, "Tags":{ "shape":"Tags", @@ -1840,7 +1841,7 @@ "members":{ "PolicyType":{ "shape":"EffectivePolicyType", - "documentation":"

                              The type of policy that you want information about. You can specify one of the following values:

                              " + "documentation":"

                              The type of policy that you want information about. You can specify one of the following values:

                              " }, "TargetId":{ "shape":"PolicyTargetId", @@ -1980,7 +1981,7 @@ }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

                              The policy type that you want to disable in this root. You can specify one of the following values:

                              " + "documentation":"

                              The policy type that you want to disable in this root. You can specify one of the following values:

                              " } } }, @@ -2070,7 +2071,8 @@ "BACKUP_POLICY", "AISERVICES_OPT_OUT_POLICY", "CHATBOT_POLICY", - "DECLARATIVE_POLICY_EC2" + "DECLARATIVE_POLICY_EC2", + "SECURITYHUB_POLICY" ] }, "Email":{ @@ -2092,8 +2094,7 @@ }, "EnableAllFeaturesRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "EnableAllFeaturesResponse":{ "type":"structure", @@ -2117,7 +2118,7 @@ }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

                              The policy type that you want to enable. You can specify one of the following values:

                              " + "documentation":"

                              The policy type that you want to enable. You can specify one of the following values:

                              " } } }, @@ -2218,7 +2219,7 @@ "Message":{"shape":"ExceptionMessage"}, "Reason":{"shape":"HandshakeConstraintViolationExceptionReason"} }, - "documentation":"

                              The requested operation would violate the constraint identified in the reason code.

                              Some of the reasons in the following list might not be applicable to this specific API or operation:

                              • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

                                If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact Amazon Web Services Support.

                              • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

                              • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

                              • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

                              • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

                              • ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the organization has already started the process to enable all features.

                              • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

                              • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

                              • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

                              ", + "documentation":"

                              The requested operation would violate the constraint identified in the reason code.

                              Some of the reasons in the following list might not be applicable to this specific API or operation:

                              • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

                                If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact Amazon Web Services Support.

                              • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

                              • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

                              • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

                              • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

                              • ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request is invalid because the organization has already started the process to enable all features.

                              • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization.

                              • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

                              • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

                              ", "exception":true }, "HandshakeConstraintViolationExceptionReason":{ @@ -2793,7 +2794,7 @@ }, "Filter":{ "shape":"PolicyType", - "documentation":"

                              The type of policy that you want to include in the returned list. You must specify one of the following values:

                              " + "documentation":"

                              The type of policy that you want to include in the returned list. You must specify one of the following values:

                              " }, "NextToken":{ "shape":"NextToken", @@ -2824,7 +2825,7 @@ "members":{ "Filter":{ "shape":"PolicyType", - "documentation":"

                              Specifies the type of policy that you want to include in the response. You must specify one of the following values:

                              " + "documentation":"

                              Specifies the type of policy that you want to include in the response. You must specify one of the following values:

                              " }, "NextToken":{ "shape":"NextToken", @@ -3275,7 +3276,8 @@ "BACKUP_POLICY", "AISERVICES_OPT_OUT_POLICY", "CHATBOT_POLICY", - "DECLARATIVE_POLICY_EC2" + "DECLARATIVE_POLICY_EC2", + "SECURITYHUB_POLICY" ] }, "PolicyTypeAlreadyEnabledException":{ diff --git a/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json b/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json index 5f0227ef03c..a39d010c55f 100644 --- a/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json +++ b/tools/code-generation/api-descriptions/payment-cryptography-2021-09-14.normal.json @@ -54,7 +54,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                              Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                              In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                              When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                              Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " + "documentation":"

                              Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                              In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                              When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                              For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                              You can use the CreateKey operation to generate an ECC (Elliptic Curve Cryptography) key pair used for establishing an ECDH (Elliptic Curve Diffie-Hellman) key agreement between two parties. In the ECDH key agreement process, both parties generate their own ECC key pair with key usage K3 and exchange the public keys. Each party then use their private key, the received public key from the other party, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm to derive a shared key.

                              To maintain the single-use principle of cryptographic keys in payments, ECDH derived keys should not be used for multiple purposes, such as a TR31_P0_PIN_ENCRYPTION_KEY and TR31_K1_KEY_BLOCK_PROTECTION_KEY. When creating ECC key pairs in Amazon Web Services Payment Cryptography you can optionally set the DeriveKeyUsage parameter, which defines the key usage bound to the symmetric key that will be derived using the ECC key pair.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " }, "DeleteAlias":{ "name":"DeleteAlias", @@ -113,7 +113,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                              Exports a key from Amazon Web Services Payment Cryptography.

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanism. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                              You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                              For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                              The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                              Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                              To export initial keys (KEK) or IPEK using TR-34

                              Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                              To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 7 days.

                              Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              Set the following parameters:

                              • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                              • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                              • KeyMaterial: Use Tr34KeyBlock parameters.

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                              • ExportToken: Obtained from KDH by calling GetParametersForImport.

                              • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                              To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap

                              Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                              Next call ExportKey and set the following parameters:

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                              • KeyMaterial: Set to KeyCryptogram.

                              • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                              To export working keys or IPEK using TR-31

                              Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                              Set the following parameters:

                              • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                              • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                              • KeyMaterial: Use Tr31KeyBlock parameters.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the working key or IPEK as a TR-31 WrappedKeyBlock.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " + "documentation":"

                              Exports a key from Amazon Web Services Payment Cryptography.

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                              You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                              For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                              The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                              Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                              To export initial keys (KEK) or IPEK using TR-34

                              Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                              To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 30 days.

                              Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              Set the following parameters:

                              • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                              • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                              • KeyMaterial: Use Tr34KeyBlock parameters.

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                              • ExportToken: Obtained from KDH by calling GetParametersForImport.

                              • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                              To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap

                              Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                              Next call ExportKey and set the following parameters:

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                              • KeyMaterial: Set to KeyCryptogram.

                              • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                              To export working keys or IPEK using TR-31

                              Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                              Set the following parameters:

                              • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                              • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                              • KeyMaterial: Use Tr31KeyBlock parameters.

                              To export working keys using ECDH

                              You can also use ECDH key agreement to export working keys in a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                              To initiate a TR-31 key export using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. You can then complete a TR-31 key export by deriving a shared wrapping key using the service ECC key pair, public certificate of your ECC key pair outside of Amazon Web Services Payment Cryptography, and the key derivation parameters including key derivation function, hash algorithm, derivation data, key algorithm.

                              • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                              • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                              • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                              • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the working key as a TR-31 WrappedKeyBlock, where the wrapping key is the ECDH derived key.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " }, "GetAlias":{ "name":"GetAlias", @@ -169,7 +169,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                              Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                              The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 7 days. You can use the same export token to export multiple keys from your service account.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " + "documentation":"

                              Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                              The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 30 days. You can use the same export token to export multiple keys from your service account.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " }, "GetParametersForImport":{ "name":"GetParametersForImport", @@ -189,7 +189,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                              Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                              The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 7 days. You can use the same import token to import multiple keys into your service account.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " + "documentation":"

                              Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                              The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 30 days. You can use the same import token to import multiple keys into your service account.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " }, "GetPublicKeyCertificate":{ "name":"GetPublicKeyCertificate", @@ -227,7 +227,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

                              Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                              You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                              To import a public root key certificate

                              Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                              Set the following parameters:

                              • KeyMaterial: RootCertificatePublicKey

                              • KeyClass: PUBLIC_KEY

                              • KeyModesOfUse: Verify

                              • KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                              • PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                              To import a trusted public key certificate

                              The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                              • KeyMaterial: TrustedCertificatePublicKey

                              • CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                              • KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                              • PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                              To import initial keys (KEK or ZMK or similar) using TR-34

                              Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                              To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 7 days.

                              Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              Set the following parameters:

                              • KeyMaterial: Use Tr34KeyBlock parameters.

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                              • ImportToken: Obtained from KRD by calling GetParametersForImport.

                              • WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                              • SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                              To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap

                              Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 7 days.

                              You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                              To import working keys using TR-31

                              Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                              • KeyMaterial: Use Tr31KeyBlock parameters.

                              • WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                              • WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " + "documentation":"

                              Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                              You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                              To import a public root key certificate

                              Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                              Set the following parameters:

                              • KeyMaterial: RootCertificatePublicKey

                              • KeyClass: PUBLIC_KEY

                              • KeyModesOfUse: Verify

                              • KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                              • PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                              To import a trusted public key certificate

                              The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                              • KeyMaterial: TrustedCertificatePublicKey

                              • CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                              • KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                              • PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                              To import initial keys (KEK or ZMK or similar) using TR-34

                              Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                              To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 30 days.

                              Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              Set the following parameters:

                              • KeyMaterial: Use Tr34KeyBlock parameters.

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                              • ImportToken: Obtained from KRD by calling GetParametersForImport.

                              • WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                              • SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                              To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap

                              Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 30 days.

                              You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                              To import working keys using TR-31

                              Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                              • KeyMaterial: Use Tr31KeyBlock parameters.

                              • WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                              • WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                              To import working keys using ECDH

                              You can also use ECDH key agreement to import working keys as a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                              To initiate a TR-31 key import using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey and then GetPublicKeyCertificate to retrieve its public key certificate. Next, you can then generate a TR-31 WrappedKeyBlock using your own ECC key pair, the public certificate of the service's ECC key pair, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. To complete the TR-31 key import, you can use the following parameters. It is important that the ECDH key derivation parameters you use should match those used during import to derive the same shared wrapping key within Amazon Web Services Payment Cryptography.

                              • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                              • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                              • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                              • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " }, "ListAliases":{ "name":"ListAliases", @@ -508,7 +508,7 @@ }, "DeriveKeyUsage":{ "shape":"DeriveKeyUsage", - "documentation":"

                              The cryptographic usage of an ECDH derived key as defined in section A.5.2 of the TR-31 spec.

                              " + "documentation":"

                              The intended cryptographic usage of keys derived from the ECC key pair to be created.

                              After creating an ECC key pair, you cannot change the intended cryptographic usage of keys derived from it using ECDH.

                              " } } }, @@ -596,10 +596,10 @@ "members":{ "SharedInformation":{ "shape":"SharedInformation", - "documentation":"

                              A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                              It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                              " + "documentation":"

                              A string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                              It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes. It is not recommended to reuse shared information for multiple ECDH key derivations, as it could result in derived key material being the same across different derivations.

                              " } }, - "documentation":"

                              Derivation data used to derive an ECDH key.

                              ", + "documentation":"

                              The shared information used when deriving a key using ECDH.

                              ", "union":true }, "EvenHexLengthBetween16And32":{ @@ -636,35 +636,35 @@ "members":{ "PrivateKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                              The keyARN of the asymmetric ECC key.

                              " + "documentation":"

                              The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                              " }, "CertificateAuthorityPublicKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                              The keyARN of the certificate that signed the client's PublicKeyCertificate.

                              " + "documentation":"

                              The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                              " }, "PublicKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                              The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                              " + "documentation":"

                              The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                              " }, "DeriveKeyAlgorithm":{ "shape":"SymmetricKeyAlgorithm", - "documentation":"

                              The key algorithm of the derived ECDH key.

                              " + "documentation":"

                              The key algorithm of the shared derived ECDH key.

                              " }, "KeyDerivationFunction":{ "shape":"KeyDerivationFunction", - "documentation":"

                              The key derivation function to use for deriving a key using ECDH.

                              " + "documentation":"

                              The key derivation function to use when deriving a key using ECDH.

                              " }, "KeyDerivationHashAlgorithm":{ "shape":"KeyDerivationHashAlgorithm", - "documentation":"

                              The hash type to use for deriving a key using ECDH.

                              " + "documentation":"

                              The hash type to use when deriving a key using ECDH.

                              " }, "DerivationData":{ "shape":"DiffieHellmanDerivationData", - "documentation":"

                              Derivation data used to derive an ECDH key.

                              " + "documentation":"

                              The shared information used when deriving a key using ECDH.

                              " }, "KeyBlockHeaders":{"shape":"KeyBlockHeaders"} }, - "documentation":"

                              Parameter information for key material export using the asymmetric ECDH key exchange method.

                              " + "documentation":"

                              Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                              " }, "ExportDukptInitialKey":{ "type":"structure", @@ -737,7 +737,7 @@ }, "DiffieHellmanTr31KeyBlock":{ "shape":"ExportDiffieHellmanTr31KeyBlock", - "documentation":"

                              Parameter information for key material export using the asymmetric ECDH key exchange method.

                              " + "documentation":"

                              Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                              " } }, "documentation":"

                              Parameter information for key material export from Amazon Web Services Payment Cryptography using TR-31 or TR-34 or RSA wrap and unwrap key exchange method.

                              ", @@ -790,7 +790,7 @@ }, "ExportToken":{ "shape":"ExportTokenId", - "documentation":"

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                              " + "documentation":"

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                              " }, "KeyBlockFormat":{ "shape":"Tr34KeyBlockFormat", @@ -876,7 +876,7 @@ "members":{ "SigningKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                              The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 7 days.

                              " + "documentation":"

                              The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 30 days.

                              " }, "SigningKeyCertificateChain":{ "shape":"CertificateType", @@ -888,7 +888,7 @@ }, "ExportToken":{ "shape":"ExportTokenId", - "documentation":"

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                              " + "documentation":"

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                              " }, "ParametersValidUntilTimestamp":{ "shape":"Timestamp", @@ -925,7 +925,7 @@ "members":{ "WrappingKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                              The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 7 days.

                              " + "documentation":"

                              The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 30 days.

                              " }, "WrappingKeyCertificateChain":{ "shape":"CertificateType", @@ -937,7 +937,7 @@ }, "ImportToken":{ "shape":"ImportTokenId", - "documentation":"

                              The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                              " + "documentation":"

                              The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                              " }, "ParametersValidUntilTimestamp":{ "shape":"Timestamp", @@ -993,38 +993,38 @@ "members":{ "PrivateKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                              The keyARN of the asymmetric ECC key.

                              " + "documentation":"

                              The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                              " }, "CertificateAuthorityPublicKeyIdentifier":{ "shape":"KeyArnOrKeyAliasType", - "documentation":"

                              The keyARN of the certificate that signed the client's PublicKeyCertificate.

                              " + "documentation":"

                              The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                              " }, "PublicKeyCertificate":{ "shape":"CertificateType", - "documentation":"

                              The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                              " + "documentation":"

                              The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                              " }, "DeriveKeyAlgorithm":{ "shape":"SymmetricKeyAlgorithm", - "documentation":"

                              The key algorithm of the derived ECDH key.

                              " + "documentation":"

                              The key algorithm of the shared derived ECDH key.

                              " }, "KeyDerivationFunction":{ "shape":"KeyDerivationFunction", - "documentation":"

                              The key derivation function to use for deriving a key using ECDH.

                              " + "documentation":"

                              The key derivation function to use when deriving a key using ECDH.

                              " }, "KeyDerivationHashAlgorithm":{ "shape":"KeyDerivationHashAlgorithm", - "documentation":"

                              The hash type to use for deriving a key using ECDH.

                              " + "documentation":"

                              The hash type to use when deriving a key using ECDH.

                              " }, "DerivationData":{ "shape":"DiffieHellmanDerivationData", - "documentation":"

                              Derivation data used to derive an ECDH key.

                              " + "documentation":"

                              The shared information used when deriving a key using ECDH.

                              " }, "WrappedKeyBlock":{ "shape":"Tr31WrappedKeyBlock", "documentation":"

                              The ECDH wrapped key block to import.

                              " } }, - "documentation":"

                              Parameter information for key material import using the asymmetric ECDH key exchange method.

                              " + "documentation":"

                              Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                              " }, "ImportKeyCryptogram":{ "type":"structure", @@ -1046,7 +1046,7 @@ }, "ImportToken":{ "shape":"ImportTokenId", - "documentation":"

                              The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                              " + "documentation":"

                              The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                              " }, "WrappingSpec":{ "shape":"WrappingKeySpec", @@ -1102,7 +1102,7 @@ }, "DiffieHellmanTr31KeyBlock":{ "shape":"ImportDiffieHellmanTr31KeyBlock", - "documentation":"

                              Parameter information for key material import using the asymmetric ECDH key exchange method.

                              " + "documentation":"

                              Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                              " } }, "documentation":"

                              Parameter information for key material import into Amazon Web Services Payment Cryptography using TR-31 or TR-34 or RSA wrap and unwrap key exchange method.

                              ", @@ -1160,7 +1160,7 @@ }, "ImportToken":{ "shape":"ImportTokenId", - "documentation":"

                              The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                              " + "documentation":"

                              The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                              " }, "WrappedKeyBlock":{ "shape":"Tr34WrappedKeyBlock", @@ -1267,6 +1267,10 @@ "AES_128", "AES_192", "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224", "RSA_2048", "RSA_3072", "RSA_4096", @@ -1344,7 +1348,8 @@ "type":"string", "enum":[ "CMAC", - "ANSI_X9_24" + "ANSI_X9_24", + "HMAC" ] }, "KeyClass":{ @@ -1782,7 +1787,11 @@ "TDES_3KEY", "AES_128", "AES_192", - "AES_256" + "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224" ] }, "Tag":{ diff --git a/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json b/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json index ae9a8ec440e..03b7aaf5d52 100644 --- a/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json +++ b/tools/code-generation/api-descriptions/payment-cryptography-data-2022-02-03.normal.json @@ -480,7 +480,7 @@ }, "CipherTextType":{ "type":"string", - "max":4096, + "max":4224, "min":2, "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true @@ -666,7 +666,7 @@ ], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              " }, "DukptDerivationType":{ @@ -681,7 +681,7 @@ "required":["KeySerialNumber"], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              " }, "DukptKeyDerivationType":{ @@ -710,7 +710,7 @@ "required":["KeySerialNumber"], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              " }, "Mode":{ @@ -1318,11 +1318,11 @@ "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true }, - "HexLengthBetween10And24":{ + "HexLength16Or20Or24":{ "type":"string", "max":24, - "min":10, - "pattern":"[0-9a-fA-F]+" + "min":16, + "pattern":"(?:[0-9a-fA-F]{16}|[0-9a-fA-F]{20}|[0-9a-fA-F]{24})" }, "HexLengthBetween2And4":{ "type":"string", @@ -1547,7 +1547,8 @@ "type":"string", "enum":[ "CMAC", - "ANSI_X9_24" + "ANSI_X9_24", + "HMAC" ] }, "KeyDerivationFunction":{ @@ -1585,7 +1586,7 @@ ], "members":{ "KeySerialNumber":{ - "shape":"HexLengthBetween10And24", + "shape":"HexLength16Or20Or24", "documentation":"

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              " }, "DukptKeyVariant":{ @@ -1851,14 +1852,14 @@ }, "PlainTextOutputType":{ "type":"string", - "max":4096, + "max":4224, "min":2, "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true }, "PlainTextType":{ "type":"string", - "max":4064, + "max":4096, "min":2, "pattern":"(?:[0-9a-fA-F][0-9a-fA-F])+", "sensitive":true @@ -2177,7 +2178,11 @@ "TDES_3KEY", "AES_128", "AES_192", - "AES_256" + "AES_256", + "HMAC_SHA256", + "HMAC_SHA384", + "HMAC_SHA512", + "HMAC_SHA224" ] }, "ThrottlingException":{ diff --git a/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json b/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json index b7821ddc854..9f2597a8247 100644 --- a/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json +++ b/tools/code-generation/api-descriptions/pcs-2023-02-10.normal.json @@ -401,7 +401,7 @@ "type":"string", "max":1011, "min":1, - "pattern":"arn:aws*:pcs:.*:[0-9]{12}:.*/[a-z0-9_\\-]+" + "pattern":"arn:aws.*:pcs:.*:[0-9]{12}:.*/[a-z0-9_\\-]+" }, "BootstrapId":{ "type":"string", @@ -1168,7 +1168,7 @@ }, "InstanceProfileArn":{ "type":"string", - "pattern":"arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}" + "pattern":"arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/[\\w+=,.@-]{1,128}" }, "Integer":{ "type":"integer", diff --git a/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json b/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json index b466f8a91e5..cb8235d7ef7 100644 --- a/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json +++ b/tools/code-generation/api-descriptions/rds-2014-10-31.normal.json @@ -462,7 +462,7 @@ {"shape":"TenantDatabaseQuotaExceededFault"}, {"shape":"CertificateNotFoundFault"} ], - "documentation":"

                              Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

                              Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance operation.

                              All read replica DB instances are created with backups disabled. All other attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified.

                              Your source DB instance or cluster must have backup retention enabled.

                              " + "documentation":"

                              Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

                              Amazon RDS for Db2 supports this operation for standby replicas. To create a standby replica for a DB instance running Db2, you must set ReplicaMode to mounted.

                              Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance operation.

                              RDS creates read replicas with backups disabled. All other attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified.

                              Your source DB instance or cluster must have backup retention enabled.

                              " }, "CreateDBParameterGroup":{ "name":"CreateDBParameterGroup", @@ -3758,7 +3758,7 @@ }, "InitQuery":{ "shape":"String", - "documentation":"

                              Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with SET statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.

                              For example: SET variable1=value1, variable2=value2

                              Default: no initialization query

                              " + "documentation":"

                              Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with SET statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.

                              For example: SET variable1=value1, variable2=value2

                              Default: no initialization query

                              Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.

                              " } }, "documentation":"

                              Specifies the settings that control the size and behavior of the connection pool associated with a DBProxyTargetGroup.

                              " @@ -3784,7 +3784,7 @@ }, "InitQuery":{ "shape":"String", - "documentation":"

                              One or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with SET statements to make sure that each connection has identical settings. The query added here must be valid. For including multiple variables in a single SET statement, use a comma separator. This is an optional field.

                              For example: SET variable1=value1, variable2=value2

                              " + "documentation":"

                              One or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with SET statements to make sure that each connection has identical settings. The query added here must be valid. For including multiple variables in a single SET statement, use a comma separator. This is an optional field.

                              For example: SET variable1=value1, variable2=value2

                              Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.

                              " } }, "documentation":"

                              Displays the settings that control the size and behavior of the connection pool associated with a DBProxyTarget.

                              " @@ -4715,7 +4715,7 @@ }, "SourceDBInstanceIdentifier":{ "shape":"String", - "documentation":"

                              The identifier of the DB instance that will act as the source for the read replica. Each DB instance can have up to 15 read replicas, with the exception of Oracle and SQL Server, which can have up to five.

                              Constraints:

                              • Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server DB instance.

                              • Can't be specified if the SourceDBClusterIdentifier parameter is also specified.

                              • For the limitations of Oracle read replicas, see Version and licensing considerations for RDS for Oracle replicas in the Amazon RDS User Guide.

                              • For the limitations of SQL Server read replicas, see Read replica limitations with SQL Server in the Amazon RDS User Guide.

                              • The specified DB instance must have automatic backups enabled, that is, its backup retention period must be greater than 0.

                              • If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB instance identifier.

                              • If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, which don't support cross-Region replicas.

                              " + "documentation":"

                              The identifier of the DB instance that will act as the source for the read replica. Each DB instance can have up to 15 read replicas, except for the following engines:

                              • Db2 - Can have up to three replicas.

                              • Oracle - Can have up to five read replicas.

                              • SQL Server - Can have up to five read replicas.

                              Constraints:

                              • Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server DB instance.

                              • Can't be specified if the SourceDBClusterIdentifier parameter is also specified.

                              • For the limitations of Oracle read replicas, see Version and licensing considerations for RDS for Oracle replicas in the Amazon RDS User Guide.

                              • For the limitations of SQL Server read replicas, see Read replica limitations with SQL Server in the Amazon RDS User Guide.

                              • The specified DB instance must have automatic backups enabled, that is, its backup retention period must be greater than 0.

                              • If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB instance identifier.

                              • If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, which don't support cross-Region replicas.

                              " }, "DBInstanceClass":{ "shape":"String", @@ -4747,7 +4747,7 @@ }, "DBParameterGroupName":{ "shape":"String", - "documentation":"

                              The name of the DB parameter group to associate with this read replica DB instance.

                              For Single-AZ or Multi-AZ DB instance read replica instances, if you don't specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of the source DB instance for a same Region read replica, or the default DBParameterGroup for the specified DB engine for a cross-Region read replica.

                              For Multi-AZ DB cluster same Region read replica instances, if you don't specify a value for DBParameterGroupName, then Amazon RDS uses the default DBParameterGroup.

                              Specifying a parameter group for this operation is only supported for MySQL DB instances for cross-Region read replicas, for Multi-AZ DB cluster read replica instances, and for Oracle DB instances. It isn't supported for MySQL DB instances for same Region read replicas or for RDS Custom.

                              Constraints:

                              • Must be 1 to 255 letters, numbers, or hyphens.

                              • First character must be a letter.

                              • Can't end with a hyphen or contain two consecutive hyphens.

                              " + "documentation":"

                              The name of the DB parameter group to associate with this read replica DB instance.

                              For the Db2 DB engine, if your source DB instance uses the Bring Your Own License model, then a custom parameter group must be associated with the replica. For a same Amazon Web Services Region replica, if you don't specify a custom parameter group, Amazon RDS associates the custom parameter group associated with the source DB instance. For a cross-Region replica, you must specify a custom parameter group. This custom parameter group must include your IBM Site ID and IBM Customer ID. For more information, see IBM IDs for Bring Your Own License for Db2.

                              For Single-AZ or Multi-AZ DB instance read replica instances, if you don't specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of the source DB instance for a same Region read replica, or the default DBParameterGroup for the specified DB engine for a cross-Region read replica.

                              For Multi-AZ DB cluster same Region read replica instances, if you don't specify a value for DBParameterGroupName, then Amazon RDS uses the default DBParameterGroup.

                              Specifying a parameter group for this operation is only supported for MySQL DB instances for cross-Region read replicas, for Multi-AZ DB cluster read replica instances, for Db2 DB instances, and for Oracle DB instances. It isn't supported for MySQL DB instances for same Region read replicas or for RDS Custom.

                              Constraints:

                              • Must be 1 to 255 letters, numbers, or hyphens.

                              • First character must be a letter.

                              • Can't end with a hyphen or contain two consecutive hyphens.

                              " }, "PubliclyAccessible":{ "shape":"BooleanOptional", @@ -4848,7 +4848,7 @@ }, "ReplicaMode":{ "shape":"ReplicaMode", - "documentation":"

                              The open mode of the replica database: mounted or read-only.

                              This parameter is only supported for Oracle DB instances.

                              Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload.

                              You can create a combination of mounted and read-only DB replicas for the same primary DB instance. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

                              For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. After replica creation, you can manage the open mode manually.

                              " + "documentation":"

                              The open mode of the replica database.

                              This parameter is only supported for Db2 DB instances and Oracle DB instances.

                              Db2

                              Standby DB replicas are included in Db2 Advanced Edition (AE) and Db2 Standard Edition (SE). The main use case for standby replicas is cross-Region disaster recovery. Because it doesn't accept user connections, a standby replica can't serve a read-only workload.

                              You can create a combination of standby and read-only DB replicas for the same primary DB instance. For more information, see Working with read replicas for Amazon RDS for Db2 in the Amazon RDS User Guide.

                              To create standby DB replicas for RDS for Db2, set this parameter to mounted.

                              Oracle

                              Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload.

                              You can create a combination of mounted and read-only DB replicas for the same primary DB instance. For more information, see Working with read replicas for Amazon RDS for Oracle in the Amazon RDS User Guide.

                              For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. After replica creation, you can manage the open mode manually.

                              " }, "MaxAllocatedStorage":{ "shape":"IntegerOptional", @@ -6853,7 +6853,7 @@ }, "ReplicaMode":{ "shape":"ReplicaMode", - "documentation":"

                              The open mode of an Oracle read replica. The default is open-read-only. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

                              This attribute is only supported in RDS for Oracle.

                              " + "documentation":"

                              The open mode of a Db2 or an Oracle read replica. The default is open-read-only. For more information, see Working with read replicas for Amazon RDS for Db2 and Working with read replicas for Amazon RDS for Oracle in the Amazon RDS User Guide.

                              This attribute is only supported in RDS for Db2, RDS for Oracle, and RDS Custom for Oracle.

                              " }, "LicenseModel":{ "shape":"String", @@ -12704,7 +12704,7 @@ }, "ReplicaMode":{ "shape":"ReplicaMode", - "documentation":"

                              A value that sets the open mode of a replica database to either mounted or read-only.

                              Currently, this parameter is only supported for Oracle DB instances.

                              Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

                              This setting doesn't apply to RDS Custom DB instances.

                              " + "documentation":"

                              The open mode of a replica database.

                              This parameter is only supported for Db2 DB instances and Oracle DB instances.

                              Db2

                              Standby DB replicas are included in Db2 Advanced Edition (AE) and Db2 Standard Edition (SE). The main use case for standby replicas is cross-Region disaster recovery. Because it doesn't accept user connections, a standby replica can't serve a read-only workload.

                              You can create a combination of standby and read-only DB replicas for the same primary DB instance. For more information, see Working with read replicas for Amazon RDS for Db2 in the Amazon RDS User Guide.

                              To create standby DB replicas for RDS for Db2, set this parameter to mounted.

                              Oracle

                              Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload.

                              You can create a combination of mounted and read-only DB replicas for the same primary DB instance. For more information, see Working with read replicas for Amazon RDS for Oracle in the Amazon RDS User Guide.

                              For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. After replica creation, you can manage the open mode manually.

                              " }, "EnableCustomerOwnedIp":{ "shape":"BooleanOptional", diff --git a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json index ade1acb5e20..be427deb1a6 100644 --- a/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json +++ b/tools/code-generation/api-descriptions/s3-2006-03-01.normal.json @@ -50,7 +50,7 @@ "errors":[ {"shape":"ObjectNotInActiveTierError"} ], - "documentation":"

                              Creates a copy of an object that is already stored in Amazon S3.

                              You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

                              You can copy individual objects between general purpose buckets, between directory buckets, and between general purpose buckets and directory buckets.

                              • Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when using the Multi-Region Access Point ARN.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              • VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.

                              Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services Account Management Guide.

                              Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

                              Authentication and authorization

                              All CopyObject requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. For more information, see REST Authentication.

                              Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject API operation, instead of using the temporary security credentials through the CreateSession API operation.

                              Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

                              Permissions

                              You must have read access to the source object and write access to the destination bucket.

                              • General purpose bucket permissions - You must have permissions in an IAM policy based on the source and destination bucket types in a CopyObject operation.

                                • If the source object is in a general purpose bucket, you must have s3:GetObject permission to read the source object that is being copied.

                                • If the destination bucket is a general purpose bucket, you must have s3:PutObject permission to write the object copy to the destination bucket.

                              • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in a CopyObject operation.

                                • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

                                • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key can't be set to ReadOnly on the copy destination bucket.

                                If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                                For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

                              Response and special errors

                              When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. You always need to read the entire response body to check if the copy succeeds.

                              • If the copy is successful, you receive a response with information about the copied object.

                              • A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. A 200 OK response can contain either a success or an error.

                                • If the error occurs before the copy action starts, you receive a standard Amazon S3 error.

                                • If the error occurs during the copy operation, the error response is embedded in the 200 OK response. For example, in a cross-region copy, you may encounter throttling and receive a 200 OK response. For more information, see Resolve the Error 200 response when copying objects to Amazon S3. The 200 OK status code means the copy was accepted, but it doesn't mean the copy is complete. Another example is when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. You must stay connected to Amazon S3 until the entire response is successfully received and processed.

                                  If you call this API operation directly, make sure to design your application to parse the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

                              Charge

                              The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

                              HTTP Host header syntax
                              • Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              • Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

                              The following operations are related to CopyObject:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              Creates a copy of an object that is already stored in Amazon S3.

                              You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

                              You can copy individual objects between general purpose buckets, between directory buckets, and between general purpose buckets and directory buckets.

                              • Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when using the Multi-Region Access Point ARN.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              • VPC endpoints don't support cross-Region requests (including copies). If you're using VPC endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC endpoint.

                              Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services Account Management Guide.

                              Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

                              Authentication and authorization

                              All CopyObject requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. For more information, see REST Authentication.

                              Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject API operation, instead of using the temporary security credentials through the CreateSession API operation.

                              Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

                              Permissions

                              You must have read access to the source object and write access to the destination bucket.

                              • General purpose bucket permissions - You must have permissions in an IAM policy based on the source and destination bucket types in a CopyObject operation.

                                • If the source object is in a general purpose bucket, you must have s3:GetObject permission to read the source object that is being copied.

                                • If the destination bucket is a general purpose bucket, you must have s3:PutObject permission to write the object copy to the destination bucket.

                              • Directory bucket permissions - You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types in a CopyObject operation.

                                • If the source object that you want to copy is in a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to read the object. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

                                • If the copy destination is a directory bucket, you must have the s3express:CreateSession permission in the Action element of a policy to write the object to the destination. The s3express:SessionMode condition key can't be set to ReadOnly on the copy destination bucket.

                                If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                                For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.

                              Response and special errors

                              When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. You always need to read the entire response body to check if the copy succeeds.

                              • If the copy is successful, you receive a response with information about the copied object.

                              • A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. A 200 OK response can contain either a success or an error.

                                • If the error occurs before the copy action starts, you receive a standard Amazon S3 error.

                                • If the error occurs during the copy operation, the error response is embedded in the 200 OK response. For example, in a cross-region copy, you may encounter throttling and receive a 200 OK response. For more information, see Resolve the Error 200 response when copying objects to Amazon S3. The 200 OK status code means the copy was accepted, but it doesn't mean the copy is complete. Another example is when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. You must stay connected to Amazon S3 until the entire response is successfully received and processed.

                                  If you call this API operation directly, make sure to design your application to parse the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use exceptions, they return an error).

                              Charge

                              The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

                              HTTP Host header syntax
                              • Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              • Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

                              The following operations are related to CopyObject:

                              ", "staticContextParams":{ "DisableS3ExpressSessionAuth":{"value":true} } @@ -67,7 +67,7 @@ {"shape":"BucketAlreadyExists"}, {"shape":"BucketAlreadyOwnedByYou"} ], - "documentation":"

                              This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket .

                              Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

                              There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see Creating, configuring, and working with Amazon S3 buckets in the Amazon S3 User Guide.

                              • General purpose buckets - If you send your CreateBucket request to the s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets in the Amazon S3 User Guide.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are required in a policy when your CreateBucket request includes specific headers:

                                • Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) and set it to public-read, public-read-write, authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, or if you don't specify any ACLs, only the s3:CreateBucket permission is required.

                                • Object Lock - In your CreateBucket request, if you set x-amz-bucket-object-lock-enabled to true, the s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                                • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required.

                                  To set an ACL on a bucket as part of a CreateBucket request, you must explicitly set S3 Object Ownership for the bucket to a different value than the default, BucketOwnerEnforced. Additionally, if your desired bucket ACL grants public access, you must first create the bucket (without the bucket ACL) and then explicitly disable Block Public Access on the bucket before using PutBucketAcl to set the ACL. If you try to create a bucket with a public ACL, the request will fail.

                                  For the majority of modern use cases in S3, we recommend that you keep all Block Public Access settings enabled and keep ACLs disabled. If you would like to share data with users outside of your account, you can use bucket policies as needed. For more information, see Controlling ownership of objects and disabling ACLs for your bucket and Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                                • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. Specifically, you can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                              • Directory bucket permissions - You must have the s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

                                The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.

                                For more information about permissions for creating and working with directory buckets, see Directory buckets in the Amazon S3 User Guide. For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

                              The following operations are related to CreateBucket:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket .

                              Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

                              There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see Creating, configuring, and working with Amazon S3 buckets in the Amazon S3 User Guide.

                              • General purpose buckets - If you send your CreateBucket request to the s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets in the Amazon S3 User Guide.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are required in a policy when your CreateBucket request includes specific headers:

                                • Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) and set it to public-read, public-read-write, authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, or if you don't specify any ACLs, only the s3:CreateBucket permission is required.

                                • Object Lock - In your CreateBucket request, if you set x-amz-bucket-object-lock-enabled to true, the s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

                                • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required.

                                  To set an ACL on a bucket as part of a CreateBucket request, you must explicitly set S3 Object Ownership for the bucket to a different value than the default, BucketOwnerEnforced. Additionally, if your desired bucket ACL grants public access, you must first create the bucket (without the bucket ACL) and then explicitly disable Block Public Access on the bucket before using PutBucketAcl to set the ACL. If you try to create a bucket with a public ACL, the request will fail.

                                  For the majority of modern use cases in S3, we recommend that you keep all Block Public Access settings enabled and keep ACLs disabled. If you would like to share data with users outside of your account, you can use bucket policies as needed. For more information, see Controlling ownership of objects and disabling ACLs for your bucket and Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                                • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. Specifically, you can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

                              • Directory bucket permissions - You must have the s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

                                The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.

                                For more information about permissions for creating and working with directory buckets, see Directory buckets in the Amazon S3 User Guide. For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

                              The following operations are related to CreateBucket:

                              ", "staticContextParams":{ "DisableAccessPoints":{"value":true}, "UseS3ExpressControlEndpoint":{"value":true} @@ -97,7 +97,7 @@ }, "input":{"shape":"CreateMultipartUploadRequest"}, "output":{"shape":"CreateMultipartUploadOutput"}, - "documentation":"

                              This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview in the Amazon S3 User Guide.

                              After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stops charging you for storing them only after you either complete or abort a multipart upload.

                              If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart upload must be completed within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

                              • Directory buckets - S3 Lifecycle is not supported by directory buckets.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Request signing

                              For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                              Encryption
                              • General purpose buckets - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key, or a customer-provided key). When the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the CreateMultipartUpload request.

                                • Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request.

                                  • x-amz-server-side-encryption

                                  • x-amz-server-side-encryption-aws-kms-key-id

                                  • x-amz-server-side-encryption-context

                                  • If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

                                  • To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                                  • If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role is in a different account from the key, then you must have the permissions on both the key policy and your IAM user or role.

                                  • All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

                                  For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys in the Amazon S3 User Guide.

                                • Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request.

                                  • x-amz-server-side-encryption-customer-algorithm

                                  • x-amz-server-side-encryption-customer-key

                                  • x-amz-server-side-encryption-customer-key-MD5

                                  For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) in the Amazon S3 User Guide.

                              • Directory buckets - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your CreateSession requests or PUT object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

                                In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket.

                                When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), the encryption request headers must match the default encryption configuration of the directory bucket.

                                For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              The following operations are related to CreateMultipartUpload:

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see Multipart Upload Overview in the Amazon S3 User Guide.

                              After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stops charging you for storing them only after you either complete or abort a multipart upload.

                              If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart upload must be completed within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

                              • Directory buckets - S3 Lifecycle is not supported by directory buckets.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Request signing

                              For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - To perform a multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key. The requester must also have permissions for the kms:GenerateDataKey action for the CreateMultipartUpload API. Then, the requester needs permissions for the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                              Encryption
                              • General purpose buckets - Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key, or a customer-provided key). When the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the CreateMultipartUpload request.

                                • Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data, specify the following headers in the request.

                                  • x-amz-server-side-encryption

                                  • x-amz-server-side-encryption-aws-kms-key-id

                                  • x-amz-server-side-encryption-context

                                  • If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

                                  • To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

                                  • If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role is in a different account from the key, then you must have the permissions on both the key policy and your IAM user or role.

                                  • All GET and PUT requests for an object protected by KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version 4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

                                  For more information about server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side Encryption with KMS keys in the Amazon S3 User Guide.

                                • Use customer-provided encryption keys (SSE-C) – If you want to manage your own encryption keys, provide all the following headers in the request.

                                  • x-amz-server-side-encryption-customer-algorithm

                                  • x-amz-server-side-encryption-customer-key

                                  • x-amz-server-side-encryption-customer-key-MD5

                                  For more information about server-side encryption with customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with customer-provided encryption keys (SSE-C) in the Amazon S3 User Guide.

                              • Directory buckets - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your CreateSession requests or PUT object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

                                In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket.

                                When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), the encryption request headers must match the default encryption configuration of the directory bucket.

                                For directory buckets, when you perform a CreateMultipartUpload operation and an UploadPartCopy operation, the request headers you provide in the CreateMultipartUpload request must match the default encryption configuration of the destination bucket.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              The following operations are related to CreateMultipartUpload:

                              " }, "CreateSession":{ "name":"CreateSession", @@ -367,7 +367,7 @@ }, "input":{"shape":"GetBucketAclRequest"}, "output":{"shape":"GetBucketAclOutput"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

                              When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

                              When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

                              The following operations are related to GetBucketAcl:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

                              When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

                              When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see List of Error Codes.

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

                              The following operations are related to GetBucketAcl:

                              ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -485,7 +485,7 @@ }, "input":{"shape":"GetBucketLoggingRequest"}, "output":{"shape":"GetBucketLoggingOutput"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              Returns the logging status of a bucket and the permissions users have to view and modify that status.

                              The following operations are related to GetBucketLogging:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              Returns the logging status of a bucket and the permissions users have to view and modify that status.

                              The following operations are related to GetBucketLogging:

                              ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -551,7 +551,7 @@ }, "input":{"shape":"GetBucketOwnershipControlsRequest"}, "output":{"shape":"GetBucketOwnershipControlsOutput"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

                              For information about Amazon S3 Object Ownership, see Using Object Ownership.

                              The following operations are related to GetBucketOwnershipControls:

                              ", + "documentation":"

                              This operation is not supported for directory buckets.

                              Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

                              A bucket doesn't have OwnershipControls settings in the following cases:

                              • The bucket was created before the BucketOwnerEnforced ownership setting was introduced and you've never explicitly applied this value

                              • You've manually deleted the bucket ownership control value using the DeleteBucketOwnershipControls API operation.

                              By default, Amazon S3 sets OwnershipControls for all newly created buckets.

                              For information about Amazon S3 Object Ownership, see Using Object Ownership.

                              The following operations are related to GetBucketOwnershipControls:

                              ", "staticContextParams":{ "UseS3ExpressControlEndpoint":{"value":true} } @@ -843,7 +843,7 @@ }, "input":{"shape":"ListBucketsRequest"}, "output":{"shape":"ListBucketsOutput"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

                              For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

                              We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota greater than 10,000.

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

                              For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

                              We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota greater than 10,000.

                              " }, "ListDirectoryBuckets":{ "name":"ListDirectoryBuckets", @@ -866,7 +866,7 @@ }, "input":{"shape":"ListMultipartUploadsRequest"}, "output":{"shape":"ListMultipartUploadsOutput"}, - "documentation":"

                              This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted.

                              Directory buckets - If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload operation to abort all the in-progress multipart uploads.

                              The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response.

                              Directory buckets - The upload-id-marker element and the NextUploadIdMarker element aren't supported by directory buckets. To list the additional multipart uploads, you only need to set the value of key-marker to the NextKeyMarker value from the previous response.

                              For more information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                              Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                              Sorting of multipart uploads in response
                              • General purpose bucket - In the ListMultipartUploads response, the multipart uploads are sorted based on two criteria:

                                • Key-based sorting - Multipart uploads are initially sorted in ascending order based on their object keys.

                                • Time-based sorting - For uploads that share the same object key, they are further sorted in ascending order based on the upload initiation time. Among uploads with the same key, the one that was initiated first will appear before the ones that were initiated later.

                              • Directory bucket - In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically based on the object keys.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              The following operations are related to ListMultipartUploads:

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted.

                              Directory buckets - If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload operation to abort all the in-progress multipart uploads.

                              The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response.

                              Directory buckets - The upload-id-marker element and the NextUploadIdMarker element aren't supported by directory buckets. To list the additional multipart uploads, you only need to set the value of key-marker to the NextKeyMarker value from the previous response.

                              For more information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                              Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                              Sorting of multipart uploads in response
                              • General purpose bucket - In the ListMultipartUploads response, the multipart uploads are sorted based on two criteria:

                                • Key-based sorting - Multipart uploads are initially sorted in ascending order based on their object keys.

                                • Time-based sorting - For uploads that share the same object key, they are further sorted in ascending order based on the upload initiation time. Among uploads with the same key, the one that was initiated first will appear before the ones that were initiated later.

                              • Directory bucket - In the ListMultipartUploads response, the multipart uploads aren't sorted lexicographically based on the object keys.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              The following operations are related to ListMultipartUploads:

                              " }, "ListObjectVersions":{ "name":"ListObjectVersions", @@ -876,7 +876,7 @@ }, "input":{"shape":"ListObjectVersionsRequest"}, "output":{"shape":"ListObjectVersionsOutput"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

                              To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference.

                              A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

                              To use this operation, you must have READ access to the bucket.

                              The following operations are related to ListObjectVersions:

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

                              To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference.

                              A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

                              To use this operation, you must have READ access to the bucket.

                              The following operations are related to ListObjectVersions:

                              " }, "ListObjects":{ "name":"ListObjects", @@ -889,7 +889,7 @@ "errors":[ {"shape":"NoSuchBucket"} ], - "documentation":"

                              This operation is not supported for directory buckets.

                              Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately.

                              This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

                              The following operations are related to ListObjects:

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately.

                              This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

                              The following operations are related to ListObjects:

                              " }, "ListObjectsV2":{ "name":"ListObjectsV2", @@ -912,7 +912,7 @@ }, "input":{"shape":"ListPartsRequest"}, "output":{"shape":"ListPartsOutput"}, - "documentation":"

                              Lists the parts that have been uploaded for a specific multipart upload.

                              To use this operation, you must provide the upload ID in the request. You obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

                              The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000 parts is also the default value. You can restrict the number of parts in a response by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

                              For more information on multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                              Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                                If the upload was created using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the kms:Decrypt action for the ListParts request to succeed.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              The following operations are related to ListParts:

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              Lists the parts that have been uploaded for a specific multipart upload.

                              To use this operation, you must provide the upload ID in the request. You obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

                              The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000 parts is also the default value. You can restrict the number of parts in a response by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

                              For more information on multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon S3 User Guide.

                              Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Permissions
                              • General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions in the Amazon S3 User Guide.

                                If the upload was created using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the kms:Decrypt action for the ListParts request to succeed.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              The following operations are related to ListParts:

                              " }, "PutBucketAccelerateConfiguration":{ "name":"PutBucketAccelerateConfiguration", @@ -937,7 +937,7 @@ "requestUri":"/{Bucket}?acl" }, "input":{"shape":"PutBucketAclRequest"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have the WRITE_ACP permission.

                              You can use one of the following two ways to set a bucket's permissions:

                              • Specify the ACL in the request body

                              • Specify permissions using request headers

                              You cannot specify access permission using both the body and the request headers.

                              Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                              Permissions

                              You can set access permissions by using one of the following methods:

                              • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                              • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                                You specify each grantee as a type=value pair, where the type is one of the following:

                                • id – if the value specified is the canonical user ID of an Amazon Web Services account

                                • uri – if you are granting permissions to a predefined group

                                • emailAddress – if the value specified is the email address of an Amazon Web Services account

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  • US East (N. Virginia)

                                  • US West (N. California)

                                  • US West (Oregon)

                                  • Asia Pacific (Singapore)

                                  • Asia Pacific (Sydney)

                                  • Asia Pacific (Tokyo)

                                  • Europe (Ireland)

                                  • South America (São Paulo)

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses.

                                x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\", id=\"555566667777\"

                              You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                              Grantee Values

                              You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

                              • By the person's ID:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                                DisplayName is optional and ignored in the request

                              • By URI:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                              • By Email address:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>

                                The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                • US East (N. Virginia)

                                • US West (N. California)

                                • US West (Oregon)

                                • Asia Pacific (Singapore)

                                • Asia Pacific (Sydney)

                                • Asia Pacific (Tokyo)

                                • Europe (Ireland)

                                • South America (São Paulo)

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                              The following operations are related to PutBucketAcl:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have the WRITE_ACP permission.

                              You can use one of the following two ways to set a bucket's permissions:

                              • Specify the ACL in the request body

                              • Specify permissions using request headers

                              You cannot specify access permission using both the body and the request headers.

                              Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                              Permissions

                              You can set access permissions by using one of the following methods:

                              • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                              • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                                You specify each grantee as a type=value pair, where the type is one of the following:

                                • id – if the value specified is the canonical user ID of an Amazon Web Services account

                                • uri – if you are granting permissions to a predefined group

                                • emailAddress – if the value specified is the email address of an Amazon Web Services account

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  • US East (N. Virginia)

                                  • US West (N. California)

                                  • US West (Oregon)

                                  • Asia Pacific (Singapore)

                                  • Asia Pacific (Sydney)

                                  • Asia Pacific (Tokyo)

                                  • Europe (Ireland)

                                  • South America (São Paulo)

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts identified by their email addresses.

                                x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\", id=\"555566667777\"

                              You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                              Grantee Values

                              You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in Enabling Amazon S3 server access logging in the Amazon S3 User Guide.

                              • By the person's ID:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                                DisplayName is optional and ignored in the request

                              • By URI:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                              • By Email address:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>

                                The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                • US East (N. Virginia)

                                • US West (N. California)

                                • US West (Oregon)

                                • Asia Pacific (Singapore)

                                • Asia Pacific (Sydney)

                                • Asia Pacific (Tokyo)

                                • Europe (Ireland)

                                • South America (São Paulo)

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                              The following operations are related to PutBucketAcl:

                              ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1055,7 +1055,7 @@ "requestUri":"/{Bucket}?logging" }, "input":{"shape":"PutBucketLoggingRequest"}, - "documentation":"

                              This operation is not supported for directory buckets.

                              Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

                              The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

                              If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

                              Grantee Values

                              You can specify the person (grantee) to whom you're assigning access rights (by using request elements) in the following ways:

                              • By the person's ID:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                                DisplayName is optional and ignored in the request.

                              • By Email address:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>

                                The grantee is resolved to the CanonicalUser and, in a response to a GETObjectAcl request, appears as the CanonicalUser.

                              • By URI:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                              To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

                              <BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

                              For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

                              For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

                              The following operations are related to PutBucketLogging:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              This operation is not supported for directory buckets.

                              Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

                              The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

                              If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

                              Grantee Values

                              You can specify the person (grantee) to whom you're assigning access rights (by using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in Enabling Amazon S3 server access logging in the Amazon S3 User Guide.

                              • By the person's ID:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                                DisplayName is optional and ignored in the request.

                              • By Email address:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>

                                The grantee is resolved to the CanonicalUser and, in a response to a GETObjectAcl request, appears as the CanonicalUser.

                              • By URI:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                              To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

                              <BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

                              For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

                              For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

                              The following operations are related to PutBucketLogging:

                              ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1231,7 +1231,7 @@ {"shape":"TooManyParts"}, {"shape":"EncryptionTypeMismatch"} ], - "documentation":"

                              Adds an object to a bucket.

                              • Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values.

                              • If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All objects written to the bucket by any account will be owned by the bucket owner.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

                              • S3 Object Lock - To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

                                This functionality is not supported for directory buckets.

                              • If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

                                Expects the * character (asterisk).

                                For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.

                                This functionality is not supported for S3 on Outposts.

                              • S3 Versioning - When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any version of the object. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

                                This functionality is not supported for directory buckets.

                              Permissions
                              • General purpose bucket permissions - The following permissions are required in your policies when your PutObject request includes specific headers.

                                • s3:PutObject - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object to it.

                                • s3:PutObjectAcl - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

                                • s3:PutObjectTagging - To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                                If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                              Data integrity with Content-MD5
                              • General purpose bucket - To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

                              • Directory bucket - This functionality is not supported for directory buckets.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              For more information about related Amazon S3 APIs, see the following:

                              ", + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              Adds an object to a bucket.

                              • Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values.

                              • If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All objects written to the bucket by any account will be owned by the bucket owner.

                              • Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the Amazon S3 User Guide.

                              Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

                              • S3 Object Lock - To prevent objects from being deleted or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

                                This functionality is not supported for directory buckets.

                              • If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

                                Expects the * character (asterisk).

                                For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.

                                This functionality is not supported for S3 on Outposts.

                              • S3 Versioning - When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any version of the object. For more information about versioning, see Adding Objects to Versioning-Enabled Buckets in the Amazon S3 User Guide. For information about returning the versioning state of a bucket, see GetBucketVersioning.

                                This functionality is not supported for directory buckets.

                              Permissions
                              • General purpose bucket permissions - The following permissions are required in your policies when your PutObject request includes specific headers.

                                • s3:PutObject - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object to it.

                                • s3:PutObjectAcl - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

                                • s3:PutObjectTagging - To successfully set the tag-set with your PutObject request, you must have the s3:PutObjectTagging.

                              • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession .

                                If the object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key.

                              Data integrity with Content-MD5
                              • General purpose bucket - To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

                              • Directory bucket - This functionality is not supported for directory buckets.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              For more information about related Amazon S3 APIs, see the following:

                              ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":false @@ -1248,7 +1248,7 @@ "errors":[ {"shape":"NoSuchKey"} ], - "documentation":"

                              This operation is not supported for directory buckets.

                              Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

                              This functionality is not supported for Amazon S3 on Outposts.

                              Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                              Permissions

                              You can set access permissions using one of the following methods:

                              • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                              • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                                You specify each grantee as a type=value pair, where the type is one of the following:

                                • id – if the value specified is the canonical user ID of an Amazon Web Services account

                                • uri – if you are granting permissions to a predefined group

                                • emailAddress – if the value specified is the email address of an Amazon Web Services account

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  • US East (N. Virginia)

                                  • US West (N. California)

                                  • US West (Oregon)

                                  • Asia Pacific (Singapore)

                                  • Asia Pacific (Sydney)

                                  • Asia Pacific (Tokyo)

                                  • Europe (Ireland)

                                  • South America (São Paulo)

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                For example, the following x-amz-grant-read header grants list objects permission to the two Amazon Web Services accounts identified by their email addresses.

                                x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"

                              You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                              Grantee Values

                              You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

                              • By the person's ID:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                                DisplayName is optional and ignored in the request.

                              • By URI:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                              • By Email address:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>

                                The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                • US East (N. Virginia)

                                • US West (N. California)

                                • US West (Oregon)

                                • Asia Pacific (Singapore)

                                • Asia Pacific (Sydney)

                                • Asia Pacific (Tokyo)

                                • Europe (Ireland)

                                • South America (São Paulo)

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                              Versioning

                              The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

                              The following operations are related to PutObjectAcl:

                              ", + "documentation":"

                              This operation is not supported for directory buckets.

                              Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

                              This functionality is not supported for Amazon S3 on Outposts.

                              Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

                              Permissions

                              You can set access permissions using one of the following methods:

                              • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

                              • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

                                You specify each grantee as a type=value pair, where the type is one of the following:

                                • id – if the value specified is the canonical user ID of an Amazon Web Services account

                                • uri – if you are granting permissions to a predefined group

                                • emailAddress – if the value specified is the email address of an Amazon Web Services account

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  • US East (N. Virginia)

                                  • US West (N. California)

                                  • US West (Oregon)

                                  • Asia Pacific (Singapore)

                                  • Asia Pacific (Sydney)

                                  • Asia Pacific (Tokyo)

                                  • Europe (Ireland)

                                  • South America (São Paulo)

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                For example, the following x-amz-grant-read header grants list objects permission to the two Amazon Web Services accounts identified by their email addresses.

                                x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"

                              You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

                              Grantee Values

                              You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in Enabling Amazon S3 server access logging in the Amazon S3 User Guide.

                              • By the person's ID:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

                                DisplayName is optional and ignored in the request.

                              • By URI:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

                              • By Email address:

                                <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>

                                The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                • US East (N. Virginia)

                                • US West (N. California)

                                • US West (Oregon)

                                • Asia Pacific (Singapore)

                                • Asia Pacific (Sydney)

                                • Asia Pacific (Tokyo)

                                • Europe (Ireland)

                                • South America (São Paulo)

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                              Versioning

                              The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

                              The following operations are related to PutObjectAcl:

                              ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1326,6 +1326,19 @@ "UseS3ExpressControlEndpoint":{"value":true} } }, + "RenameObject":{ + "name":"RenameObject", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}/{Key+}?renameObject" + }, + "input":{"shape":"RenameObjectRequest"}, + "output":{"shape":"RenameObjectOutput"}, + "errors":[ + {"shape":"IdempotencyParameterMismatch"} + ], + "documentation":"

                              Renames an existing object in a directory bucket that uses the S3 Express One Zone storage class. You can use RenameObject by specifying an existing object’s name as the source and the new name of the object as the destination within the same directory bucket.

                              RenameObject is only supported for objects stored in the S3 Express One Zone storage class.

                              To prevent overwriting an object, you can use the If-None-Match conditional header.

                              • If-None-Match - Renames the object only if an object with the specified name does not already exist in the directory bucket. If you don't want to overwrite an existing object, you can add the If-None-Match conditional header with the value ‘*’ in the RenameObject request. Amazon S3 then returns a 412 Precondition Failed error if the object with the specified name already exists. For more information, see RFC 7232.

                              Permissions

                              To grant access to the RenameObject operation on a directory bucket, we recommend that you use the CreateSession operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the directory bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including refreshing the session token automatically to avoid service interruptions when a session expires. In your bucket policy, you can specify the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. A ReadWrite session is required for executing all the Zonal endpoint API operations, including RenameObject. For more information about authorization, see CreateSession . To learn more about Zonal endpoint APT operations, see Authorizing Zonal endpoint API operations with CreateSession in the Amazon S3 User Guide.

                              HTTP Host header syntax

                              Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              " + }, "RestoreObject":{ "name":"RestoreObject", "http":{ @@ -1994,6 +2007,7 @@ "FULL_OBJECT" ] }, + "ClientToken":{"type":"string"}, "CloudFunction":{"type":"string"}, "CloudFunctionConfiguration":{ "type":"structure", @@ -3374,6 +3388,12 @@ "documentation":"

                              The ID used to identify the S3 Intelligent-Tiering configuration.

                              ", "location":"querystring", "locationName":"id" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" } } }, @@ -4362,6 +4382,12 @@ "documentation":"

                              The ID used to identify the S3 Intelligent-Tiering configuration.

                              ", "location":"querystring", "locationName":"id" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" } } }, @@ -5004,7 +5030,7 @@ }, "Parts":{ "shape":"PartsList", - "documentation":"

                              A container for elements related to a particular part. A response can contain zero or more Parts elements.

                              • General purpose buckets - For GetObjectAttributes, if a additional checksum (including x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't applied to the object specified in the request, the response doesn't return Part.

                              • Directory buckets - For GetObjectAttributes, no matter whether a additional checksum is applied to the object specified in the request, the response returns Part.

                              ", + "documentation":"

                              A container for elements related to a particular part. A response can contain zero or more Parts elements.

                              • General purpose buckets - For GetObjectAttributes, if an additional checksum (including x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't applied to the object specified in the request, the response doesn't return the Part element.

                              • Directory buckets - For GetObjectAttributes, regardless of whether an additional checksum is applied to the object specified in the request, the response returns the Part element.

                              ", "locationName":"Part" } }, @@ -6044,6 +6070,12 @@ "location":"header", "locationName":"x-amz-mp-parts-count" }, + "TagCount":{ + "shape":"TagCount", + "documentation":"

                              The number of tags, if any, on the object, when you have the relevant permission to read object tags.

                              You can use GetObjectTagging to retrieve the tag set associated with an object.

                              This functionality is not supported for directory buckets.

                              ", + "location":"header", + "locationName":"x-amz-tagging-count" + }, "ObjectLockMode":{ "shape":"ObjectLockMode", "documentation":"

                              The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the s3:GetObjectRetention permission. For more information about S3 Object Lock, see Object Lock.

                              This functionality is not supported for directory buckets.

                              ", @@ -6204,6 +6236,13 @@ "HttpErrorCodeReturnedEquals":{"type":"string"}, "HttpRedirectCode":{"type":"string"}, "ID":{"type":"string"}, + "IdempotencyParameterMismatch":{ + "type":"structure", + "members":{}, + "documentation":"

                              Parameters on this idempotent request are inconsistent with parameters used in previous request(s).

                              For a list of error codes and more information on Amazon S3 errors, see Error codes.

                              Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                              ", + "error":{"httpStatusCode":400}, + "exception":true + }, "IfMatch":{"type":"string"}, "IfMatchInitiatedTime":{ "type":"timestamp", @@ -6841,6 +6880,12 @@ "documentation":"

                              The ContinuationToken that represents a placeholder from where this request should begin.

                              ", "location":"querystring", "locationName":"continuation-token" + }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" } } }, @@ -7419,7 +7464,7 @@ }, "ContinuationToken":{ "shape":"Token", - "documentation":"

                              If ContinuationToken was sent with the request, it is included in the response. You can use the returned ContinuationToken for pagination of the list response. You can use this ContinuationToken for pagination of the list results.

                              " + "documentation":"

                              If ContinuationToken was sent with the request, it is included in the response. You can use the returned ContinuationToken for pagination of the list response.

                              " }, "NextContinuationToken":{ "shape":"NextToken", @@ -8431,7 +8476,7 @@ "documentation":"

                              Container for the ID of the owner.

                              " } }, - "documentation":"

                              Container for the owner's display name and ID.

                              " + "documentation":"

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              Container for the owner's display name and ID.

                              " }, "OwnerOverride":{ "type":"string", @@ -8887,6 +8932,12 @@ "location":"querystring", "locationName":"id" }, + "ExpectedBucketOwner":{ + "shape":"AccountId", + "documentation":"

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "location":"header", + "locationName":"x-amz-expected-bucket-owner" + }, "IntelligentTieringConfiguration":{ "shape":"IntelligentTieringConfiguration", "documentation":"

                              Container for S3 Intelligent-Tiering configuration.

                              ", @@ -10373,6 +10424,109 @@ "max":20, "min":0 }, + "RenameObjectOutput":{ + "type":"structure", + "members":{} + }, + "RenameObjectRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key", + "RenameSource" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

                              The bucket name of the directory bucket containing the object.

                              You must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

                              ", + "contextParam":{"name":"Bucket"}, + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

                              Key name of the object to rename.

                              ", + "contextParam":{"name":"Key"}, + "location":"uri", + "locationName":"Key" + }, + "RenameSource":{ + "shape":"RenameSource", + "documentation":"

                              Specifies the source for the rename operation. The value must be URL encoded.

                              ", + "location":"header", + "locationName":"x-amz-rename-source" + }, + "DestinationIfMatch":{ + "shape":"IfMatch", + "documentation":"

                              Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The If-Match header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a 412 Precondition Failed error.

                              Expects the ETag value as a string.

                              ", + "location":"header", + "locationName":"If-Match" + }, + "DestinationIfNoneMatch":{ + "shape":"IfNoneMatch", + "documentation":"

                              Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with If-None-Match:*, the S3 API will return a 412 Precondition Failed error, preventing an overwrite. The If-None-Match header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.

                              Expects the * character (asterisk).

                              ", + "location":"header", + "locationName":"If-None-Match" + }, + "DestinationIfModifiedSince":{ + "shape":"IfModifiedSince", + "documentation":"

                              Renames the object if the destination exists and if it has been modified since the specified time.

                              ", + "location":"header", + "locationName":"If-Modified-Since" + }, + "DestinationIfUnmodifiedSince":{ + "shape":"IfUnmodifiedSince", + "documentation":"

                              Renames the object if it hasn't been modified since the specified time.

                              ", + "location":"header", + "locationName":"If-Unmodified-Since" + }, + "SourceIfMatch":{ + "shape":"RenameSourceIfMatch", + "documentation":"

                              Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.

                              ", + "location":"header", + "locationName":"x-amz-rename-source-if-match" + }, + "SourceIfNoneMatch":{ + "shape":"RenameSourceIfNoneMatch", + "documentation":"

                              Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk (*) character is provided, the operation will fail and return a 412 Precondition Failed error.

                              ", + "location":"header", + "locationName":"x-amz-rename-source-if-none-match" + }, + "SourceIfModifiedSince":{ + "shape":"RenameSourceIfModifiedSince", + "documentation":"

                              Renames the object if the source exists and if it has been modified since the specified time.

                              ", + "location":"header", + "locationName":"x-amz-rename-source-if-modified-since" + }, + "SourceIfUnmodifiedSince":{ + "shape":"RenameSourceIfUnmodifiedSince", + "documentation":"

                              Renames the object if the source exists and hasn't been modified since the specified time.

                              ", + "location":"header", + "locationName":"x-amz-rename-source-if-unmodified-since" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

                              A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. RenameObject supports idempotency using a client token. To make an idempotent API request using RenameObject, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an IdempotentParameterMismatch error is returned.

                              ", + "idempotencyToken":true, + "location":"header", + "locationName":"x-amz-client-token" + } + } + }, + "RenameSource":{ + "type":"string", + "pattern":"\\/?.+\\/.+" + }, + "RenameSourceIfMatch":{"type":"string"}, + "RenameSourceIfModifiedSince":{ + "type":"timestamp", + "timestampFormat":"rfc822" + }, + "RenameSourceIfNoneMatch":{"type":"string"}, + "RenameSourceIfUnmodifiedSince":{ + "type":"timestamp", + "timestampFormat":"rfc822" + }, "ReplaceKeyPrefixWith":{"type":"string"}, "ReplaceKeyWith":{"type":"string"}, "ReplicaKmsKeyID":{"type":"string"}, diff --git a/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json b/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json index 281f0dcbdac..9683f46bab6 100644 --- a/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json +++ b/tools/code-generation/api-descriptions/s3tables-2018-05-10.normal.json @@ -337,7 +337,7 @@ {"shape":"ConflictException"}, {"shape":"BadRequestException"} ], - "documentation":"

                              Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

                              Permissions

                              You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

                              " + "documentation":"

                              Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

                              Permissions
                              • You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

                              • You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder.

                              " }, "GetTableMaintenanceJobStatus":{ "name":"GetTableMaintenanceJobStatus", @@ -1413,10 +1413,23 @@ "targetFileSizeMB":{ "shape":"PositiveInteger", "documentation":"

                              The target file size for the table in MB.

                              " + }, + "strategy":{ + "shape":"IcebergCompactionStrategy", + "documentation":"

                              The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.

                              " } }, "documentation":"

                              Contains details about the compaction settings for an Iceberg table.

                              " }, + "IcebergCompactionStrategy":{ + "type":"string", + "enum":[ + "auto", + "binpack", + "sort", + "z-order" + ] + }, "IcebergMetadata":{ "type":"structure", "required":["schema"], diff --git a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json index 293cdc07e63..ff6e83029ce 100644 --- a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json @@ -7204,6 +7204,208 @@ "min":0 }, "CertifyForMarketplace":{"type":"boolean"}, + "CfnCreateTemplateProvider":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateURL" + ], + "members":{ + "TemplateName":{ + "shape":"CfnTemplateName", + "documentation":"

                              A unique identifier for the template within the project.

                              " + }, + "TemplateURL":{ + "shape":"CfnTemplateURL", + "documentation":"

                              The Amazon S3 URL of the CloudFormation template.

                              " + }, + "RoleARN":{ + "shape":"RoleArn", + "documentation":"

                              The IAM role that CloudFormation assumes when creating the stack.

                              " + }, + "Parameters":{ + "shape":"CfnStackCreateParameters", + "documentation":"

                              An array of CloudFormation stack parameters.

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

                              The CloudFormation template provider configuration for creating infrastructure resources.

                              " + }, + "CfnStackCreateParameter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"CfnStackParameterKey", + "documentation":"

                              The name of the CloudFormation parameter.

                              " + }, + "Value":{ + "shape":"CfnStackParameterValue", + "documentation":"

                              The value of the CloudFormation parameter.

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

                              A key-value pair that represents a parameter for the CloudFormation stack.

                              " + }, + "CfnStackCreateParameters":{ + "type":"list", + "member":{"shape":"CfnStackCreateParameter"}, + "max":180, + "min":0 + }, + "CfnStackDetail":{ + "type":"structure", + "required":["StatusMessage"], + "members":{ + "Name":{ + "shape":"CfnStackName", + "documentation":"

                              The name of the CloudFormation stack.

                              " + }, + "Id":{ + "shape":"CfnStackId", + "documentation":"

                              The unique identifier of the CloudFormation stack.

                              " + }, + "StatusMessage":{ + "shape":"CfnStackStatusMessage", + "documentation":"

                              A human-readable message about the stack's current status.

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

                              Details about the CloudFormation stack.

                              " + }, + "CfnStackId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"(?=.{1,256}$)arn:aws[a-z\\-]*:cloudformation:[a-z0-9\\-]*:[0-9]{12}:stack/[a-zA-Z][a-zA-Z0-9-]{0,127}/.*" + }, + "CfnStackName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[A-Za-z][A-Za-z0-9-]{0,127}" + }, + "CfnStackParameter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"CfnStackParameterKey", + "documentation":"

                              The name of the CloudFormation parameter.

                              " + }, + "Value":{ + "shape":"CfnStackParameterValue", + "documentation":"

                              The value of the CloudFormation parameter.

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

                              A key-value pair representing a parameter used in the CloudFormation stack.

                              " + }, + "CfnStackParameterKey":{ + "type":"string", + "max":255, + "min":1, + "pattern":".{1,255}" + }, + "CfnStackParameterValue":{ + "type":"string", + "max":4096, + "min":0, + "pattern":".{0,4096}" + }, + "CfnStackParameters":{ + "type":"list", + "member":{"shape":"CfnStackParameter"}, + "max":180, + "min":0 + }, + "CfnStackStatusMessage":{ + "type":"string", + "max":4096, + "min":1, + "pattern":".{1,4096}" + }, + "CfnStackUpdateParameter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"CfnStackParameterKey", + "documentation":"

                              The name of the CloudFormation parameter.

                              " + }, + "Value":{ + "shape":"CfnStackParameterValue", + "documentation":"

                              The value of the CloudFormation parameter.

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

                              A key-value pair representing a parameter used in the CloudFormation stack.

                              " + }, + "CfnStackUpdateParameters":{ + "type":"list", + "member":{"shape":"CfnStackUpdateParameter"}, + "max":180, + "min":0 + }, + "CfnTemplateName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"(?=.{1,32}$)[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "CfnTemplateProviderDetail":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateURL" + ], + "members":{ + "TemplateName":{ + "shape":"CfnTemplateName", + "documentation":"

                              The unique identifier of the template within the project.

                              " + }, + "TemplateURL":{ + "shape":"CfnTemplateURL", + "documentation":"

                              The Amazon S3 URL of the CloudFormation template.

                              " + }, + "RoleARN":{ + "shape":"RoleArn", + "documentation":"

                              The IAM role used by CloudFormation to create the stack.

                              " + }, + "Parameters":{ + "shape":"CfnStackParameters", + "documentation":"

                              An array of CloudFormation stack parameters.

                              " + }, + "StackDetail":{ + "shape":"CfnStackDetail", + "documentation":"

                              Information about the CloudFormation stack created by the template provider.

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

                              Details about a CloudFormation template provider configuration and associated provisioning information.

                              " + }, + "CfnTemplateURL":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"(?=.{1,1024}$)(https)://([^/]+)/(.+)" + }, + "CfnUpdateTemplateProvider":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateURL" + ], + "members":{ + "TemplateName":{ + "shape":"CfnTemplateName", + "documentation":"

                              The unique identifier of the template to update within the project.

                              " + }, + "TemplateURL":{ + "shape":"CfnTemplateURL", + "documentation":"

                              The Amazon S3 URL of the CloudFormation template.

                              " + }, + "Parameters":{ + "shape":"CfnStackUpdateParameters", + "documentation":"

                              An array of CloudFormation stack parameters.

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

                              Contains configuration details for updating an existing CloudFormation template provider in the project.

                              " + }, "Channel":{ "type":"structure", "required":[ @@ -7983,6 +8185,7 @@ "ml.g6e.48xlarge", "ml.p5e.48xlarge", "ml.p5en.48xlarge", + "ml.p6-b200.48xlarge", "ml.trn2.48xlarge", "ml.c6i.large", "ml.c6i.xlarge", @@ -11771,6 +11974,10 @@ "Tags":{ "shape":"TagList", "documentation":"

                              An array of key-value pairs that you want to use to organize and track your Amazon Web Services resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

                              " + }, + "TemplateProviders":{ + "shape":"CreateTemplateProviderList", + "documentation":"

                              An array of template provider configurations for creating infrastructure resources for the project.

                              " } } }, @@ -11872,6 +12079,22 @@ } } }, + "CreateTemplateProvider":{ + "type":"structure", + "members":{ + "CfnTemplateProvider":{ + "shape":"CfnCreateTemplateProvider", + "documentation":"

                              The CloudFormation template provider configuration for creating infrastructure resources.

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

                              Contains configuration details for a template provider. Only one type of template provider can be specified.

                              " + }, + "CreateTemplateProviderList":{ + "type":"list", + "member":{"shape":"CreateTemplateProvider"}, + "max":1, + "min":1 + }, "CreateTrainingJobRequest":{ "type":"structure", "required":[ @@ -17842,6 +18065,10 @@ "shape":"ProjectStatus", "documentation":"

                              The status of the project.

                              " }, + "TemplateProviderDetails":{ + "shape":"TemplateProviderDetailList", + "documentation":"

                              An array of template providers associated with the project.

                              " + }, "CreatedBy":{"shape":"UserContext"}, "CreationTime":{ "shape":"Timestamp", @@ -33927,7 +34154,34 @@ "ml.c6i.12xlarge", "ml.c6i.16xlarge", "ml.c6i.24xlarge", - "ml.c6i.32xlarge" + "ml.c6i.32xlarge", + "ml.m7i.large", + "ml.m7i.xlarge", + "ml.m7i.2xlarge", + "ml.m7i.4xlarge", + "ml.m7i.8xlarge", + "ml.m7i.12xlarge", + "ml.m7i.16xlarge", + "ml.m7i.24xlarge", + "ml.m7i.48xlarge", + "ml.c7i.large", + "ml.c7i.xlarge", + "ml.c7i.2xlarge", + "ml.c7i.4xlarge", + "ml.c7i.8xlarge", + "ml.c7i.12xlarge", + "ml.c7i.16xlarge", + "ml.c7i.24xlarge", + "ml.c7i.48xlarge", + "ml.r7i.large", + "ml.r7i.xlarge", + "ml.r7i.2xlarge", + "ml.r7i.4xlarge", + "ml.r7i.8xlarge", + "ml.r7i.12xlarge", + "ml.r7i.16xlarge", + "ml.r7i.24xlarge", + "ml.r7i.48xlarge" ] }, "ProcessingJob":{ @@ -34661,7 +34915,46 @@ "ml.r7i.12xlarge", "ml.r7i.16xlarge", "ml.r7i.24xlarge", - "ml.r7i.48xlarge" + "ml.r7i.48xlarge", + "ml.c8g.medium", + "ml.c8g.large", + "ml.c8g.xlarge", + "ml.c8g.2xlarge", + "ml.c8g.4xlarge", + "ml.c8g.8xlarge", + "ml.c8g.12xlarge", + "ml.c8g.16xlarge", + "ml.c8g.24xlarge", + "ml.c8g.48xlarge", + "ml.r7gd.medium", + "ml.r7gd.large", + "ml.r7gd.xlarge", + "ml.r7gd.2xlarge", + "ml.r7gd.4xlarge", + "ml.r7gd.8xlarge", + "ml.r7gd.12xlarge", + "ml.r7gd.16xlarge", + "ml.m8g.medium", + "ml.m8g.large", + "ml.m8g.xlarge", + "ml.m8g.2xlarge", + "ml.m8g.4xlarge", + "ml.m8g.8xlarge", + "ml.m8g.12xlarge", + "ml.m8g.16xlarge", + "ml.m8g.24xlarge", + "ml.m8g.48xlarge", + "ml.c6in.large", + "ml.c6in.xlarge", + "ml.c6in.2xlarge", + "ml.c6in.4xlarge", + "ml.c6in.8xlarge", + "ml.c6in.12xlarge", + "ml.c6in.16xlarge", + "ml.c6in.24xlarge", + "ml.c6in.32xlarge", + "ml.p6-b200.48xlarge", + "ml.p6e-gb200.36xlarge" ] }, "ProductionVariantList":{ @@ -35016,6 +35309,10 @@ "shape":"Timestamp", "documentation":"

                              A timestamp specifying when the project was created.

                              " }, + "TemplateProviderDetails":{ + "shape":"TemplateProviderDetailList", + "documentation":"

                              An array of template providers associated with the project.

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

                              An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

                              " @@ -36384,7 +36681,7 @@ "members":{ "InstanceType":{ "shape":"TrainingInstanceType", - "documentation":"

                              The ML compute instance type.

                              SageMaker Training on Amazon Elastic Compute Cloud (EC2) P4de instances is in preview release starting December 9th, 2022.

                              Amazon EC2 P4de instances (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB high-performance HBM2e GPU memory, which accelerate the speed of training ML models that need to be trained on large datasets of high-resolution data. In this preview release, Amazon SageMaker supports ML training jobs on P4de instances (ml.p4de.24xlarge) to reduce model training time. The ml.p4de.24xlarge instances are available in the following Amazon Web Services Regions.

                              • US East (N. Virginia) (us-east-1)

                              • US West (Oregon) (us-west-2)

                              To request quota limit increase and start using P4de instances, contact the SageMaker Training service team through your account team.

                              " + "documentation":"

                              The ML compute instance type.

                              " }, "InstanceCount":{ "shape":"TrainingInstanceCount", @@ -36735,7 +37032,7 @@ "members":{ "S3DataType":{ "shape":"S3DataType", - "documentation":"

                              If you choose S3Prefix, S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.

                              If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.

                              If you choose AugmentedManifestFile, S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile can only be used if the Channel's input mode is Pipe.

                              " + "documentation":"

                              If you choose S3Prefix, S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.

                              If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.

                              If you choose AugmentedManifestFile, S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile can only be used if the Channel's input mode is Pipe.

                              If you choose Converse, S3Uri identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.

                              " }, "S3Uri":{ "shape":"S3Uri", @@ -36766,7 +37063,8 @@ "enum":[ "ManifestFile", "S3Prefix", - "AugmentedManifestFile" + "AugmentedManifestFile", + "Converse" ] }, "S3ModelDataSource":{ @@ -38932,6 +39230,22 @@ "max":128000, "min":1 }, + "TemplateProviderDetail":{ + "type":"structure", + "members":{ + "CfnTemplateProviderDetail":{ + "shape":"CfnTemplateProviderDetail", + "documentation":"

                              Details about a CloudFormation template provider configuration and associated provisioning information.

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

                              Details about a template provider configuration and associated provisioning information.

                              " + }, + "TemplateProviderDetailList":{ + "type":"list", + "member":{"shape":"TemplateProviderDetail"}, + "max":1, + "min":1 + }, "TemplateUrl":{ "type":"string", "max":2048, @@ -39575,7 +39889,34 @@ "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", - "ml.p6-b200.48xlarge" + "ml.p6-b200.48xlarge", + "ml.m7i.large", + "ml.m7i.xlarge", + "ml.m7i.2xlarge", + "ml.m7i.4xlarge", + "ml.m7i.8xlarge", + "ml.m7i.12xlarge", + "ml.m7i.16xlarge", + "ml.m7i.24xlarge", + "ml.m7i.48xlarge", + "ml.c7i.large", + "ml.c7i.xlarge", + "ml.c7i.2xlarge", + "ml.c7i.4xlarge", + "ml.c7i.8xlarge", + "ml.c7i.12xlarge", + "ml.c7i.16xlarge", + "ml.c7i.24xlarge", + "ml.c7i.48xlarge", + "ml.r7i.large", + "ml.r7i.xlarge", + "ml.r7i.2xlarge", + "ml.r7i.4xlarge", + "ml.r7i.8xlarge", + "ml.r7i.12xlarge", + "ml.r7i.16xlarge", + "ml.r7i.24xlarge", + "ml.r7i.48xlarge" ] }, "TrainingInstanceTypes":{ @@ -42599,6 +42940,10 @@ "Tags":{ "shape":"TagList", "documentation":"

                              An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. In addition, the project must have tag update constraints set in order to include this parameter in the request. For more information, see Amazon Web Services Service Catalog Tag Update Constraints.

                              " + }, + "TemplateProvidersToUpdate":{ + "shape":"UpdateTemplateProviderList", + "documentation":"

                              The template providers to update in the project.

                              " } } }, @@ -42646,6 +42991,22 @@ } } }, + "UpdateTemplateProvider":{ + "type":"structure", + "members":{ + "CfnTemplateProvider":{ + "shape":"CfnUpdateTemplateProvider", + "documentation":"

                              The CloudFormation template provider configuration to update.

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

                              Contains configuration details for updating an existing template provider in the project.

                              " + }, + "UpdateTemplateProviderList":{ + "type":"list", + "member":{"shape":"UpdateTemplateProvider"}, + "max":1, + "min":1 + }, "UpdateTrainingJobRequest":{ "type":"structure", "required":["TrainingJobName"], diff --git a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json index 6e295fd52b1..c8bf3a2018b 100644 --- a/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json +++ b/tools/code-generation/api-descriptions/securityhub-2018-10-26.normal.json @@ -216,7 +216,24 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidAccessException"} ], - "documentation":"

                              Used by Security Hub customers to update information about their investigation into a finding. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

                              Updates from BatchUpdateFindings don't affect the value of UpdatedAt for a finding.

                              Administrator and member accounts can use BatchUpdateFindings to update the following finding fields and objects.

                              • Confidence

                              • Criticality

                              • Note

                              • RelatedFindings

                              • Severity

                              • Types

                              • UserDefinedFields

                              • VerificationState

                              • Workflow

                              You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the Security Hub User Guide.

                              " + "documentation":"

                              Used by Security Hub customers to update information about their investigation into one or more findings. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. A member account can update findings only for their own account. Administrator and member accounts can use this operation to update the following fields and objects for one or more findings:

                              • Confidence

                              • Criticality

                              • Note

                              • RelatedFindings

                              • Severity

                              • Types

                              • UserDefinedFields

                              • VerificationState

                              • Workflow

                              If you use this operation to update a finding, your updates don’t affect the value for the UpdatedAt field of the finding. Also note that it can take several minutes for Security Hub to process your request and update each finding specified in the request.

                              You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. For more information see Configuring access to BatchUpdateFindings in the Security Hub User Guide.

                              " + }, + "BatchUpdateFindingsV2":{ + "name":"BatchUpdateFindingsV2", + "http":{ + "method":"PATCH", + "requestUri":"/findingsv2/batchupdatev2" + }, + "input":{"shape":"BatchUpdateFindingsV2Request"}, + "output":{"shape":"BatchUpdateFindingsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Used by customers to update information about their investigation into a finding. Requested by delegated administrator accounts or member accounts. Delegated administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:BatchUpdateFindings action. Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in private preview and subject to change.

                              " }, "BatchUpdateStandardsControlAssociations":{ "name":"BatchUpdateStandardsControlAssociations", @@ -235,6 +252,24 @@ ], "documentation":"

                              For a batch of security controls and standards, this operation updates the enablement status of a control in a standard.

                              " }, + "ConnectorRegistrationsV2":{ + "name":"ConnectorRegistrationsV2", + "http":{ + "method":"POST", + "requestUri":"/connectorsv2/registrations" + }, + "input":{"shape":"ConnectorRegistrationsV2Request"}, + "output":{"shape":"ConnectorRegistrationsV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to complete the authorization based on input parameters. This API is in preview release and subject to change.

                              " + }, "CreateActionTarget":{ "name":"CreateActionTarget", "http":{ @@ -252,6 +287,24 @@ ], "documentation":"

                              Creates a custom action target in Security Hub.

                              You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events.

                              " }, + "CreateAggregatorV2":{ + "name":"CreateAggregatorV2", + "http":{ + "method":"POST", + "requestUri":"/aggregatorv2/create" + }, + "input":{"shape":"CreateAggregatorV2Request"}, + "output":{"shape":"CreateAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Enables aggregation across Amazon Web Services Regions. This API is in private preview and subject to change.

                              " + }, "CreateAutomationRule":{ "name":"CreateAutomationRule", "http":{ @@ -269,6 +322,23 @@ ], "documentation":"

                              Creates an automation rule based on input parameters.

                              " }, + "CreateAutomationRuleV2":{ + "name":"CreateAutomationRuleV2", + "http":{ + "method":"POST", + "requestUri":"/automationrulesv2/create" + }, + "input":{"shape":"CreateAutomationRuleV2Request"}, + "output":{"shape":"CreateAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Creates a V2 automation rule. This API is in private preview and subject to change.

                              " + }, "CreateConfigurationPolicy":{ "name":"CreateConfigurationPolicy", "http":{ @@ -287,6 +357,24 @@ ], "documentation":"

                              Creates a configuration policy with the defined configuration. Only the Security Hub delegated administrator can invoke this operation from the home Region.

                              " }, + "CreateConnectorV2":{ + "name":"CreateConnectorV2", + "http":{ + "method":"POST", + "requestUri":"/connectorsv2" + }, + "input":{"shape":"CreateConnectorV2Request"}, + "output":{"shape":"CreateConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to create a connectorV2 based on input parameters. This API is in preview release and subject to change.

                              " + }, "CreateFindingAggregator":{ "name":"CreateFindingAggregator", "http":{ @@ -339,6 +427,24 @@ ], "documentation":"

                              Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the administrator account. If you are integrated with Organizations, then the administrator account is designated by the organization management account.

                              CreateMembers is always used to add accounts that are not organization members.

                              For accounts that are managed using Organizations, CreateMembers is only used in the following cases:

                              • Security Hub is not configured to automatically add new organization accounts.

                              • The account was disassociated or deleted in Security Hub.

                              This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

                              For accounts that are not organization members, you create the account association and then send an invitation to the member account. To send the invitation, you use the InviteMembers operation. If the account owner accepts the invitation, the account becomes a member account in Security Hub.

                              Accounts that are managed using Organizations don't receive an invitation. They automatically become a member account in Security Hub.

                              • If the organization account does not have Security Hub enabled, then Security Hub and the default standards are automatically enabled. Note that Security Hub cannot be enabled automatically for the organization management account. The organization management account must enable Security Hub before the administrator account enables it as a member account.

                              • For organization accounts that already have Security Hub enabled, Security Hub does not make any other changes to those accounts. It does not change their enabled standards or controls.

                              A permissions policy is added that permits the administrator account to view the findings generated in the member account.

                              To remove the association between the administrator and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

                              " }, + "CreateTicketV2":{ + "name":"CreateTicketV2", + "http":{ + "method":"POST", + "requestUri":"/ticketsv2" + }, + "input":{"shape":"CreateTicketV2Request"}, + "output":{"shape":"CreateTicketV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to create a ticket in the chosen ITSM based on finding information for the provided finding metadata UID. This API is in preview release and subject to change.

                              " + }, "DeclineInvitations":{ "name":"DeclineInvitations", "http":{ @@ -371,6 +477,42 @@ ], "documentation":"

                              Deletes a custom action target from Security Hub.

                              Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action.

                              " }, + "DeleteAggregatorV2":{ + "name":"DeleteAggregatorV2", + "http":{ + "method":"DELETE", + "requestUri":"/aggregatorv2/delete/{AggregatorV2Arn+}" + }, + "input":{"shape":"DeleteAggregatorV2Request"}, + "output":{"shape":"DeleteAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Deletes the Aggregator V2. This API is in private preview and subject to change.

                              " + }, + "DeleteAutomationRuleV2":{ + "name":"DeleteAutomationRuleV2", + "http":{ + "method":"DELETE", + "requestUri":"/automationrulesv2/{Identifier}" + }, + "input":{"shape":"DeleteAutomationRuleV2Request"}, + "output":{"shape":"DeleteAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Deletes a V2 automation rule. This API is in private preview and subject to change.

                              " + }, "DeleteConfigurationPolicy":{ "name":"DeleteConfigurationPolicy", "http":{ @@ -390,6 +532,24 @@ ], "documentation":"

                              Deletes a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region. For the deletion to succeed, you must first disassociate a configuration policy from target accounts, organizational units, or the root by invoking the StartConfigurationPolicyDisassociation operation.

                              " }, + "DeleteConnectorV2":{ + "name":"DeleteConnectorV2", + "http":{ + "method":"DELETE", + "requestUri":"/connectorsv2/{ConnectorId+}" + }, + "input":{"shape":"DeleteConnectorV2Request"}, + "output":{"shape":"DeleteConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to delete a connectorV2. This API is in preview release and subject to change.

                              " + }, "DeleteFindingAggregator":{ "name":"DeleteFindingAggregator", "http":{ @@ -524,6 +684,39 @@ ], "documentation":"

                              Returns information about product integrations in Security Hub.

                              You can optionally provide an integration ARN. If you provide an integration ARN, then the results only include that integration.

                              If you don't provide an integration ARN, then the results include all of the available product integrations.

                              " }, + "DescribeProductsV2":{ + "name":"DescribeProductsV2", + "http":{ + "method":"GET", + "requestUri":"/productsV2" + }, + "input":{"shape":"DescribeProductsV2Request"}, + "output":{"shape":"DescribeProductsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Gets information about the product integration. This API is in private preview and subject to change.

                              " + }, + "DescribeSecurityHubV2":{ + "name":"DescribeSecurityHubV2", + "http":{ + "method":"GET", + "requestUri":"/hubv2" + }, + "input":{"shape":"DescribeSecurityHubV2Request"}, + "output":{"shape":"DescribeSecurityHubV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

                              Returns details about the service resource in your account. This API is in private preview and subject to change.

                              " + }, "DescribeStandards":{ "name":"DescribeStandards", "http":{ @@ -606,6 +799,22 @@ ], "documentation":"

                              Disables Security Hub in your account only in the current Amazon Web Services Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub.

                              You can't disable Security Hub in an account that is currently the Security Hub administrator.

                              When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your administrator and member account associations are removed.

                              If you want to save your existing findings, you must export them before you disable Security Hub.

                              " }, + "DisableSecurityHubV2":{ + "name":"DisableSecurityHubV2", + "http":{ + "method":"DELETE", + "requestUri":"/hubv2" + }, + "input":{"shape":"DisableSecurityHubV2Request"}, + "output":{"shape":"DisableSecurityHubV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

                              Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

                              " + }, "DisassociateFromAdministratorAccount":{ "name":"DisassociateFromAdministratorAccount", "http":{ @@ -711,6 +920,22 @@ ], "documentation":"

                              Enables Security Hub for your account in the current Region or the Region you specify in the request.

                              When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub.

                              When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards:

                              • Center for Internet Security (CIS) Amazon Web Services Foundations Benchmark v1.2.0

                              • Amazon Web Services Foundational Security Best Practices

                              Other standards are not automatically enabled.

                              To opt out of automatically enabled standards, set EnableDefaultStandards to false.

                              After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation.

                              To learn more, see the setup information in the Security Hub User Guide.

                              " }, + "EnableSecurityHubV2":{ + "name":"EnableSecurityHubV2", + "http":{ + "method":"POST", + "requestUri":"/hubv2" + }, + "input":{"shape":"EnableSecurityHubV2Request"}, + "output":{"shape":"EnableSecurityHubV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

                              Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

                              " + }, "GetAdministratorAccount":{ "name":"GetAdministratorAccount", "http":{ @@ -728,6 +953,42 @@ ], "documentation":"

                              Provides the details for the Security Hub administrator account for the current member account.

                              Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.

                              " }, + "GetAggregatorV2":{ + "name":"GetAggregatorV2", + "http":{ + "method":"GET", + "requestUri":"/aggregatorv2/get/{AggregatorV2Arn+}" + }, + "input":{"shape":"GetAggregatorV2Request"}, + "output":{"shape":"GetAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Returns the configuration of the specified Aggregator V2. This API is in private preview and subject to change.

                              " + }, + "GetAutomationRuleV2":{ + "name":"GetAutomationRuleV2", + "http":{ + "method":"GET", + "requestUri":"/automationrulesv2/{Identifier}" + }, + "input":{"shape":"GetAutomationRuleV2Request"}, + "output":{"shape":"GetAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Returns an automation rule for the V2 service. This API is in private preview and subject to change.

                              " + }, "GetConfigurationPolicy":{ "name":"GetConfigurationPolicy", "http":{ @@ -764,6 +1025,24 @@ ], "documentation":"

                              Returns the association between a configuration and a target account, organizational unit, or the root. The configuration can be a configuration policy or self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.

                              " }, + "GetConnectorV2":{ + "name":"GetConnectorV2", + "http":{ + "method":"GET", + "requestUri":"/connectorsv2/{ConnectorId+}" + }, + "input":{"shape":"GetConnectorV2Request"}, + "output":{"shape":"GetConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to retrieve details for a connectorV2 based on connector id. This API is in preview release and subject to change.

                              " + }, "GetEnabledStandards":{ "name":"GetEnabledStandards", "http":{ @@ -812,7 +1091,24 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

                              Returns history for a Security Hub finding in the last 90 days. The history includes changes made to any fields in the Amazon Web Services Security Finding Format (ASFF).

                              " + "documentation":"

                              Returns the history of a Security Hub finding for the past 90 days. The history includes changes made to any fields in the Amazon Web Services Security Finding Format (ASFF) except top-level timestamp fields, such as the CreatedAt and UpdatedAt fields.

                              This operation might return fewer results than the maximum number of results (MaxResults) specified in a request, even when more results are available. If this occurs, the response includes a NextToken value, which you should use to retrieve the next set of results in the response. The presence of a NextToken value in a response doesn't necessarily indicate that the results are incomplete. However, you should continue to specify a NextToken value until you receive a response that doesn't include this value.

                              " + }, + "GetFindingStatisticsV2":{ + "name":"GetFindingStatisticsV2", + "http":{ + "method":"POST", + "requestUri":"/findingsv2/statistics" + }, + "input":{"shape":"GetFindingStatisticsV2Request"}, + "output":{"shape":"GetFindingStatisticsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Returns aggregated statistical data about findings. GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. You must have permission to perform the s action. This API is in private preview and subject to change.

                              " }, "GetFindings":{ "name":"GetFindings", @@ -830,6 +1126,23 @@ ], "documentation":"

                              Returns a list of findings that match the specified criteria.

                              If cross-Region aggregation is enabled, then when you call GetFindings from the home Region, the results include all of the matching findings from both the home Region and linked Regions.

                              " }, + "GetFindingsV2":{ + "name":"GetFindingsV2", + "http":{ + "method":"POST", + "requestUri":"/findingsv2" + }, + "input":{"shape":"GetFindingsV2Request"}, + "output":{"shape":"GetFindingsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Return a list of findings that match the specified criteria. GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:GetFindings action. This API is in private preview and subject to change.

                              " + }, "GetInsightResults":{ "name":"GetInsightResults", "http":{ @@ -916,6 +1229,42 @@ ], "documentation":"

                              Returns the details for the Security Hub member accounts for the specified account IDs.

                              An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually.

                              The results include both member accounts that are managed using Organizations and accounts that were invited manually.

                              " }, + "GetResourcesStatisticsV2":{ + "name":"GetResourcesStatisticsV2", + "http":{ + "method":"POST", + "requestUri":"/resourcesv2/statistics" + }, + "input":{"shape":"GetResourcesStatisticsV2Request"}, + "output":{"shape":"GetResourcesStatisticsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in private preview and subject to change.

                              " + }, + "GetResourcesV2":{ + "name":"GetResourcesV2", + "http":{ + "method":"POST", + "requestUri":"/resourcesv2" + }, + "input":{"shape":"GetResourcesV2Request"}, + "output":{"shape":"GetResourcesV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Returns a list of resources. This API is in private preview and subject to change.

                              " + }, "GetSecurityControlDefinition":{ "name":"GetSecurityControlDefinition", "http":{ @@ -950,6 +1299,24 @@ ], "documentation":"

                              We recommend using Organizations instead of Security Hub invitations to manage your member accounts. For information, see Managing Security Hub administrator and member accounts with Organizations in the Security Hub User Guide.

                              Invites other Amazon Web Services accounts to become member accounts for the Security Hub administrator account that the invitation is sent from.

                              This operation is only used to invite accounts that don't belong to an Amazon Web Services organization. Organization accounts don't receive invitations.

                              Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

                              When the account owner enables Security Hub and accepts the invitation to become a member account, the administrator account can view the findings generated in the member account.

                              " }, + "ListAggregatorsV2":{ + "name":"ListAggregatorsV2", + "http":{ + "method":"GET", + "requestUri":"/aggregatorv2/list" + }, + "input":{"shape":"ListAggregatorsV2Request"}, + "output":{"shape":"ListAggregatorsV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Retrieves a list of V2 aggregators. This API is in private preview and subject to change.

                              " + }, "ListAutomationRules":{ "name":"ListAutomationRules", "http":{ @@ -967,6 +1334,23 @@ ], "documentation":"

                              A list of automation rules and their metadata for the calling account.

                              " }, + "ListAutomationRulesV2":{ + "name":"ListAutomationRulesV2", + "http":{ + "method":"GET", + "requestUri":"/automationrulesv2/list" + }, + "input":{"shape":"ListAutomationRulesV2Request"}, + "output":{"shape":"ListAutomationRulesV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Returns a list of automation rules and metadata for the calling account. This API is in private preview and subject to change.

                              " + }, "ListConfigurationPolicies":{ "name":"ListConfigurationPolicies", "http":{ @@ -1002,6 +1386,24 @@ ], "documentation":"

                              Provides information about the associations for your configuration policies and self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.

                              " }, + "ListConnectorsV2":{ + "name":"ListConnectorsV2", + "http":{ + "method":"GET", + "requestUri":"/connectorsv2" + }, + "input":{"shape":"ListConnectorsV2Request"}, + "output":{"shape":"ListConnectorsV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to retrieve a list of connectorsV2 and their metadata for the calling account. This API is in preview release and subject to change.

                              " + }, "ListEnabledProductsForImport":{ "name":"ListEnabledProductsForImport", "http":{ @@ -1212,6 +1614,42 @@ ], "documentation":"

                              Updates the name and description of a custom action target in Security Hub.

                              " }, + "UpdateAggregatorV2":{ + "name":"UpdateAggregatorV2", + "http":{ + "method":"PATCH", + "requestUri":"/aggregatorv2/update/{AggregatorV2Arn+}" + }, + "input":{"shape":"UpdateAggregatorV2Request"}, + "output":{"shape":"UpdateAggregatorV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Udpates the configuration for the Aggregator V2. This API is in private preview and subject to change.

                              " + }, + "UpdateAutomationRuleV2":{ + "name":"UpdateAutomationRuleV2", + "http":{ + "method":"PATCH", + "requestUri":"/automationrulesv2/{Identifier}" + }, + "input":{"shape":"UpdateAutomationRuleV2Request"}, + "output":{"shape":"UpdateAutomationRuleV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

                              Updates a V2 automation rule. This API is in private preview and subject to change.

                              " + }, "UpdateConfigurationPolicy":{ "name":"UpdateConfigurationPolicy", "http":{ @@ -1231,6 +1669,24 @@ ], "documentation":"

                              Updates a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region.

                              " }, + "UpdateConnectorV2":{ + "name":"UpdateConnectorV2", + "http":{ + "method":"PATCH", + "requestUri":"/connectorsv2/{ConnectorId+}" + }, + "input":{"shape":"UpdateConnectorV2Request"}, + "output":{"shape":"UpdateConnectorV2Response"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

                              Grants permission to update a connectorV2 based on its id and input parameters. This API is in preview release and subject to change.

                              " + }, "UpdateFindingAggregator":{ "name":"UpdateFindingAggregator", "http":{ @@ -1379,8 +1835,7 @@ }, "AcceptAdministratorInvitationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "AcceptInvitationRequest":{ "type":"structure", @@ -1401,8 +1856,7 @@ }, "AcceptInvitationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "AccessDeniedException":{ "type":"structure", @@ -1690,6 +2144,27 @@ "max":10, "min":1 }, + "AggregatorV2":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the aggregatorV2.

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

                              Specifies a cross-Region data aggregation configuration, including the aggregation Region and any linked Regions.

                              " + }, + "AggregatorV2List":{ + "type":"list", + "member":{"shape":"AggregatorV2"} + }, + "AllowedOperators":{ + "type":"string", + "enum":[ + "AND", + "OR" + ] + }, "AlphaNumericNonEmptyString":{ "type":"string", "pattern":"^([^\\u0000-\\u007F]|[-_ a-zA-Z0-9])+$" @@ -1813,10 +2288,56 @@ }, "documentation":"

                              One or more actions that Security Hub takes when a finding matches the defined criteria of a rule.

                              " }, + "AutomationRulesActionListV2":{ + "type":"list", + "member":{"shape":"AutomationRulesActionV2"}, + "max":1, + "min":1 + }, "AutomationRulesActionType":{ "type":"string", "enum":["FINDING_FIELDS_UPDATE"] }, + "AutomationRulesActionTypeListV2":{ + "type":"list", + "member":{"shape":"AutomationRulesActionTypeObjectV2"} + }, + "AutomationRulesActionTypeObjectV2":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"AutomationRulesActionTypeV2", + "documentation":"

                              The category of action to be executed by the automation rule.

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

                              Allows you to customize security response workflows.

                              " + }, + "AutomationRulesActionTypeV2":{ + "type":"string", + "enum":[ + "FINDING_FIELDS_UPDATE", + "EXTERNAL_INTEGRATION" + ] + }, + "AutomationRulesActionV2":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"AutomationRulesActionTypeV2", + "documentation":"

                              The category of action to be executed by the automation rule.

                              " + }, + "FindingFieldsUpdate":{ + "shape":"AutomationRulesFindingFieldsUpdateV2", + "documentation":"

                              The changes to be applied to fields in a security finding when an automation rule is triggered.

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

                              The settings for integrating automation rule actions with external systems or service.

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

                              Allows you to configure automated responses.

                              " + }, "AutomationRulesArnsList":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -1910,6 +2431,24 @@ }, "documentation":"

                              Identifies the finding fields that the automation rule action updates when a finding matches the defined criteria.

                              " }, + "AutomationRulesFindingFieldsUpdateV2":{ + "type":"structure", + "members":{ + "SeverityId":{ + "shape":"Integer", + "documentation":"

                              The severity level to be assigned to findings that match the automation rule criteria.

                              " + }, + "Comment":{ + "shape":"NonEmptyString", + "documentation":"

                              Notes or contextual information for findings that are modified by the automation rule.

                              " + }, + "StatusId":{ + "shape":"Integer", + "documentation":"

                              The status to be applied to findings that match automation rule criteria.

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

                              Allows you to define the structure for modifying specific fields in security findings.

                              " + }, "AutomationRulesFindingFilters":{ "type":"structure", "members":{ @@ -2114,10 +2653,56 @@ "type":"list", "member":{"shape":"AutomationRulesMetadata"} }, - "AvailabilityZone":{ + "AutomationRulesMetadataListV2":{ + "type":"list", + "member":{"shape":"AutomationRulesMetadataV2"} + }, + "AutomationRulesMetadataV2":{ "type":"structure", "members":{ - "ZoneName":{ + "RuleArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the automation rule.

                              " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

                              The ID of the automation rule.

                              " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

                              The value for the rule priority.

                              " + }, + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the automation rule.

                              " + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

                              The status of the automation rule.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              An explanation for the purpose and funcitonality of the automation rule.

                              " + }, + "Actions":{ + "shape":"AutomationRulesActionTypeListV2", + "documentation":"

                              The list of action to be performed when the rule criteria is met.

                              " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp for when the automation rule was created.

                              " + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp for the most recent modification to the automation rule.

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

                              Includes essential metadata information about automation rules.

                              " + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "ZoneName":{ "shape":"NonEmptyString", "documentation":"

                              The name of the Availability Zone.

                              " }, @@ -15733,6 +16318,101 @@ "type":"list", "member":{"shape":"BatchUpdateFindingsUnprocessedFinding"} }, + "BatchUpdateFindingsV2ProcessedFinding":{ + "type":"structure", + "members":{ + "FindingIdentifier":{ + "shape":"OcsfFindingIdentifier", + "documentation":"

                              The finding identifier of a processed finding.

                              " + }, + "MetadataUid":{ + "shape":"NonEmptyString", + "documentation":"

                              The metadata.uid of a processed finding.

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

                              The list of findings that were updated.

                              " + }, + "BatchUpdateFindingsV2ProcessedFindingsList":{ + "type":"list", + "member":{"shape":"BatchUpdateFindingsV2ProcessedFinding"} + }, + "BatchUpdateFindingsV2Request":{ + "type":"structure", + "members":{ + "MetadataUids":{ + "shape":"MetadataUidList", + "documentation":"

                              The list of finding metadata.uid to indicate findings to update. Finding metadata.uid is a globally unique identifier associated with the finding. Customers cannot use MetadataUids together with FindingIdentifiers.

                              " + }, + "FindingIdentifiers":{ + "shape":"OcsfFindingIdentifierList", + "documentation":"

                              Provides information to identify a specific V2 finding.

                              " + }, + "Comment":{ + "shape":"NonEmptyString", + "documentation":"

                              The updated value for a user provided comment about the finding. Minimum character length 1. Maximum character length 512.

                              " + }, + "SeverityId":{ + "shape":"Integer", + "documentation":"

                              The updated value for the normalized severity identifier. The severity ID is an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 99]. When customer provides the updated severity ID, the string sibling severity will automatically be updated in the finding.

                              " + }, + "StatusId":{ + "shape":"Integer", + "documentation":"

                              The updated value for the normalized status identifier. The status ID is an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 6, 99]. When customer provides the updated status ID, the string sibling status will automatically be updated in the finding.

                              " + } + } + }, + "BatchUpdateFindingsV2Response":{ + "type":"structure", + "required":[ + "ProcessedFindings", + "UnprocessedFindings" + ], + "members":{ + "ProcessedFindings":{ + "shape":"BatchUpdateFindingsV2ProcessedFindingsList", + "documentation":"

                              The list of findings that were updated successfully.

                              " + }, + "UnprocessedFindings":{ + "shape":"BatchUpdateFindingsV2UnprocessedFindingsList", + "documentation":"

                              The list of V2 findings that were not updated.

                              " + } + } + }, + "BatchUpdateFindingsV2UnprocessedFinding":{ + "type":"structure", + "members":{ + "FindingIdentifier":{ + "shape":"OcsfFindingIdentifier", + "documentation":"

                              The finding identifier of an unprocessed finding.

                              " + }, + "MetadataUid":{ + "shape":"NonEmptyString", + "documentation":"

                              The metadata.uid of an unprocessed finding.

                              " + }, + "ErrorCode":{ + "shape":"BatchUpdateFindingsV2UnprocessedFindingErrorCode", + "documentation":"

                              Indicates the specific type of error preventing successful processing of a finding during a batch update operation.

                              " + }, + "ErrorMessage":{ + "shape":"NonEmptyString", + "documentation":"

                              A detailed description of why a finding could not be processed during a batch update operation.

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

                              The list of findings that were not updated.

                              " + }, + "BatchUpdateFindingsV2UnprocessedFindingErrorCode":{ + "type":"string", + "enum":[ + "ResourceNotFoundException", + "ValidationException", + "InternalServerException", + "ConflictException" + ] + }, + "BatchUpdateFindingsV2UnprocessedFindingsList":{ + "type":"list", + "member":{"shape":"BatchUpdateFindingsV2UnprocessedFinding"} + }, "BatchUpdateStandardsControlAssociationsRequest":{ "type":"structure", "required":["StandardsControlAssociationUpdates"], @@ -15883,6 +16563,12 @@ }, "documentation":"

                              Provides details about the current status of the sensitive data detection.

                              " }, + "ClientToken":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[\\x21-\\x7E]{1,64}$" + }, "CloudWatchLogsLogGroupArnConfigDetails":{ "type":"structure", "members":{ @@ -15962,6 +16648,40 @@ "NOT_AVAILABLE" ] }, + "CompositeFilter":{ + "type":"structure", + "members":{ + "StringFilters":{ + "shape":"OcsfStringFilterList", + "documentation":"

                              Enables filtering based on string field values.

                              " + }, + "DateFilters":{ + "shape":"OcsfDateFilterList", + "documentation":"

                              Enables filtering based on date and timestamp fields.

                              " + }, + "BooleanFilters":{ + "shape":"OcsfBooleanFilterList", + "documentation":"

                              Enables filtering based on boolean field values.

                              " + }, + "NumberFilters":{ + "shape":"OcsfNumberFilterList", + "documentation":"

                              Enables filtering based on numerical field values.

                              " + }, + "MapFilters":{ + "shape":"OcsfMapFilterList", + "documentation":"

                              Enables filtering based on map field values.

                              " + }, + "Operator":{ + "shape":"AllowedOperators", + "documentation":"

                              The logical operator used to combine multiple filter conditions.

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

                              Enables the creation of filtering criteria for security findings.

                              " + }, + "CompositeFilterList":{ + "type":"list", + "member":{"shape":"CompositeFilter"} + }, "ConfigurationOptions":{ "type":"structure", "members":{ @@ -16099,6 +16819,16 @@ "type":"list", "member":{"shape":"ConfigurationPolicySummary"} }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

                              The request causes conflict with the current state of the service resource.

                              ", + "error":{"httpStatusCode":409}, + "exception":true + }, "ConnectionDirection":{ "type":"string", "enum":[ @@ -16106,6 +16836,100 @@ "OUTBOUND" ] }, + "ConnectorAuthStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "FAILED" + ] + }, + "ConnectorProviderName":{ + "type":"string", + "enum":[ + "JIRA_CLOUD", + "SERVICENOW" + ] + }, + "ConnectorRegistrationsV2Request":{ + "type":"structure", + "required":[ + "AuthCode", + "AuthState" + ], + "members":{ + "AuthCode":{ + "shape":"NonEmptyString", + "documentation":"

                              The authCode retrieved from authUrl to complete the OAuth 2.0 authorization code flow.

                              " + }, + "AuthState":{ + "shape":"NonEmptyString", + "documentation":"

                              The authState retrieved from authUrl to complete the OAuth 2.0 authorization code flow.

                              " + } + } + }, + "ConnectorRegistrationsV2Response":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              " + } + } + }, + "ConnectorStatus":{ + "type":"string", + "enum":[ + "CONNECTED", + "FAILED_TO_CONNECT", + "PENDING_CONFIGURATION", + "PENDING_AUTHORIZATION" + ] + }, + "ConnectorSummary":{ + "type":"structure", + "required":[ + "ConnectorId", + "Name", + "ProviderSummary", + "CreatedAt" + ], + "members":{ + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

                              The Name field contains the user-defined name assigned to the integration connector. This helps identify and manage multiple connectors within Security Hub.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              The description of the connectorV2.

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

                              The connectorV2 third party provider configuration summary.

                              " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

                              ISO 8601 UTC timestamp for the time create the connectorV2.

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

                              A condensed overview of the connectorV2..

                              " + }, + "ConnectorSummaryList":{ + "type":"list", + "member":{"shape":"ConnectorSummary"} + }, "ContainerDetails":{ "type":"structure", "members":{ @@ -16200,6 +17024,50 @@ } } }, + "CreateAggregatorV2Request":{ + "type":"structure", + "required":["RegionLinkingMode"], + "members":{ + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

                              Determines how Regions are linked to an Aggregator V2.

                              " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

                              The list of Regions that are linked to the aggregation Region.

                              " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                              A list of key-value pairs to be applied to the AggregatorV2.

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

                              A unique identifier used to ensure idempotency.

                              ", + "idempotencyToken":true + } + } + }, + "CreateAggregatorV2Response":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the AggregatorV2.

                              " + }, + "AggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Web Services Region where data is aggregated.

                              " + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

                              Determines how Regions are linked to an Aggregator V2.

                              " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

                              The list of Regions that are linked to the aggregation Region.

                              " + } + } + }, "CreateAutomationRuleRequest":{ "type":"structure", "required":[ @@ -16253,6 +17121,64 @@ } } }, + "CreateAutomationRuleV2Request":{ + "type":"structure", + "required":[ + "RuleName", + "Description", + "RuleOrder", + "Criteria", + "Actions" + ], + "members":{ + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the V2 automation rule.

                              " + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

                              The status of the V2 automation rule.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              A description of the V2 automation rule.

                              " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

                              The value for the rule priority.

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

                              The filtering type and configuration of the automation rule.

                              " + }, + "Actions":{ + "shape":"AutomationRulesActionListV2", + "documentation":"

                              A list of actions to be performed when the rule criteria is met.

                              " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                              A list of key-value pairs associated with the V2 automation rule.

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

                              A unique identifier used to ensure idempotency.

                              ", + "idempotencyToken":true + } + } + }, + "CreateAutomationRuleV2Response":{ + "type":"structure", + "members":{ + "RuleArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the V2 automation rule.

                              " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

                              The ID of the V2 automation rule.

                              " + } + } + }, "CreateConfigurationPolicyRequest":{ "type":"structure", "required":[ @@ -16311,26 +17237,78 @@ } } }, - "CreateFindingAggregatorRequest":{ + "CreateConnectorV2Request":{ "type":"structure", - "required":["RegionLinkingMode"], + "required":[ + "Name", + "Provider" + ], "members":{ - "RegionLinkingMode":{ + "Name":{ "shape":"NonEmptyString", - "documentation":"

                              Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.

                              The selected option also determines how to use the Regions provided in the Regions list.

                              The options are as follows:

                              • ALL_REGIONS - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

                              • ALL_REGIONS_EXCEPT_SPECIFIED - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the Regions parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

                              • SPECIFIED_REGIONS - Aggregates findings only from the Regions listed in the Regions parameter. Security Hub does not automatically aggregate findings from new Regions.

                              • NO_REGIONS - Aggregates no data because no Regions are selected as linked Regions.

                              " + "documentation":"

                              The unique name of the connectorV2.

                              " }, - "Regions":{ - "shape":"StringList", - "documentation":"

                              If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.

                              If RegionLinkingMode is SPECIFIED_REGIONS, then this is a space-separated list of Regions that do replicate and send findings to the home Region.

                              An InvalidInputException error results if you populate this field while RegionLinkingMode is NO_REGIONS.

                              " + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              The description of the connectorV2.

                              " + }, + "Provider":{ + "shape":"ProviderConfiguration", + "documentation":"

                              The third-party provider’s service configuration.

                              " + }, + "KmsKeyArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Resource Name (ARN) of KMS key used to encrypt secrets for the connectorV2.

                              " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

                              The tags to add to the connectorV2 when you create.

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

                              A unique identifier used to ensure idempotency.

                              ", + "idempotencyToken":true } } }, - "CreateFindingAggregatorResponse":{ + "CreateConnectorV2Response":{ "type":"structure", + "required":["ConnectorId"], "members":{ - "FindingAggregatorArn":{ + "ConnectorArn":{ "shape":"NonEmptyString", - "documentation":"

                              The ARN of the finding aggregator. You use the finding aggregator ARN to retrieve details for, update, and stop cross-Region aggregation.

                              " + "documentation":"

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              " + }, + "AuthUrl":{ + "shape":"NonEmptyString", + "documentation":"

                              The Url provide to customers for OAuth auth code flow.

                              " + } + } + }, + "CreateFindingAggregatorRequest":{ + "type":"structure", + "required":["RegionLinkingMode"], + "members":{ + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

                              Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.

                              The selected option also determines how to use the Regions provided in the Regions list.

                              The options are as follows:

                              • ALL_REGIONS - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

                              • ALL_REGIONS_EXCEPT_SPECIFIED - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the Regions parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them.

                              • SPECIFIED_REGIONS - Aggregates findings only from the Regions listed in the Regions parameter. Security Hub does not automatically aggregate findings from new Regions.

                              • NO_REGIONS - Aggregates no data because no Regions are selected as linked Regions.

                              " + }, + "Regions":{ + "shape":"StringList", + "documentation":"

                              If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.

                              If RegionLinkingMode is SPECIFIED_REGIONS, then this is a space-separated list of Regions that do replicate and send findings to the home Region.

                              An InvalidInputException error results if you populate this field while RegionLinkingMode is NO_REGIONS.

                              " + } + } + }, + "CreateFindingAggregatorResponse":{ + "type":"structure", + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the finding aggregator. You use the finding aggregator ARN to retrieve details for, update, and stop cross-Region aggregation.

                              " }, "FindingAggregationRegion":{ "shape":"NonEmptyString", @@ -16397,6 +17375,53 @@ } } }, + "CreateTicketV2Request":{ + "type":"structure", + "required":[ + "ConnectorId", + "FindingMetadataUid" + ], + "members":{ + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              " + }, + "FindingMetadataUid":{ + "shape":"NonEmptyString", + "documentation":"

                              The the unique ID for the finding.

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

                              The client idempotency token.

                              ", + "idempotencyToken":true + } + } + }, + "CreateTicketV2Response":{ + "type":"structure", + "required":["TicketId"], + "members":{ + "TicketId":{ + "shape":"NonEmptyString", + "documentation":"

                              The ID for the ticketv2.

                              " + }, + "TicketSrcUrl":{ + "shape":"NonEmptyString", + "documentation":"

                              The url to the created ticket.

                              " + } + } + }, + "Criteria":{ + "type":"structure", + "members":{ + "OcsfFindingCriteria":{ + "shape":"OcsfFindingFilters", + "documentation":"

                              The filtering conditions that align with OCSF standards.

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

                              Defines the parameters and conditions used to evaluate and filter security findings.

                              ", + "union":true + }, "CrossAccountMaxResults":{ "type":"integer", "max":50, @@ -16571,6 +17596,38 @@ } } }, + "DeleteAggregatorV2Request":{ + "type":"structure", + "required":["AggregatorV2Arn"], + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the Aggregator V2.

                              ", + "location":"uri", + "locationName":"AggregatorV2Arn" + } + } + }, + "DeleteAggregatorV2Response":{ + "type":"structure", + "members":{} + }, + "DeleteAutomationRuleV2Request":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the V2 automation rule.

                              ", + "location":"uri", + "locationName":"Identifier" + } + } + }, + "DeleteAutomationRuleV2Response":{ + "type":"structure", + "members":{} + }, "DeleteConfigurationPolicyRequest":{ "type":"structure", "required":["Identifier"], @@ -16585,9 +17642,24 @@ }, "DeleteConfigurationPolicyResponse":{ "type":"structure", + "members":{} + }, + "DeleteConnectorV2Request":{ + "type":"structure", + "required":["ConnectorId"], "members":{ + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "location":"uri", + "locationName":"ConnectorId" + } } }, + "DeleteConnectorV2Response":{ + "type":"structure", + "members":{} + }, "DeleteFindingAggregatorRequest":{ "type":"structure", "required":["FindingAggregatorArn"], @@ -16602,8 +17674,7 @@ }, "DeleteFindingAggregatorResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DeleteInsightRequest":{ "type":"structure", @@ -16730,8 +17801,7 @@ }, "DescribeOrganizationConfigurationRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DescribeOrganizationConfigurationResponse":{ "type":"structure", @@ -16788,6 +17858,54 @@ } } }, + "DescribeProductsV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

                              The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of results to return.

                              ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeProductsV2Response":{ + "type":"structure", + "required":["ProductsV2"], + "members":{ + "ProductsV2":{ + "shape":"ProductsV2List", + "documentation":"

                              Gets information about the product integration.

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

                              The pagination token to use to request the next page of results. Otherwise, this parameter is null.

                              " + } + } + }, + "DescribeSecurityHubV2Request":{ + "type":"structure", + "members":{} + }, + "DescribeSecurityHubV2Response":{ + "type":"structure", + "members":{ + "HubV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the service resource.

                              " + }, + "SubscribedAt":{ + "shape":"NonEmptyString", + "documentation":"

                              The date and time when the service was enabled in the account.

                              " + } + } + }, "DescribeStandardsControlsRequest":{ "type":"structure", "required":["StandardsSubscriptionArn"], @@ -16879,8 +17997,7 @@ }, "DisableImportFindingsForProductResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisableOrganizationAdminAccountRequest":{ "type":"structure", @@ -16889,23 +18006,32 @@ "AdminAccountId":{ "shape":"NonEmptyString", "documentation":"

                              The Amazon Web Services account identifier of the Security Hub administrator account.

                              " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

                              The feature for which the delegated admin account is disabled. Defaults to Security Hub if not specified.

                              " } } }, "DisableOrganizationAdminAccountResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisableSecurityHubRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DisableSecurityHubResponse":{ "type":"structure", - "members":{ - } + "members":{} + }, + "DisableSecurityHubV2Request":{ + "type":"structure", + "members":{} + }, + "DisableSecurityHubV2Response":{ + "type":"structure", + "members":{} }, "DisabledSecurityControlIdentifierList":{ "type":"list", @@ -16913,23 +18039,19 @@ }, "DisassociateFromAdministratorAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateFromAdministratorAccountResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateFromMasterAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateFromMasterAccountResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DisassociateMembersRequest":{ "type":"structure", @@ -16943,8 +18065,7 @@ }, "DisassociateMembersResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "DnsRequestAction":{ "type":"structure", @@ -17009,12 +18130,24 @@ "AdminAccountId":{ "shape":"NonEmptyString", "documentation":"

                              The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.

                              " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

                              The feature for which the delegated admin account is enabled. Defaults to Security Hub if not specified.

                              " } } }, "EnableOrganizationAdminAccountResponse":{ "type":"structure", "members":{ + "AdminAccountId":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.

                              " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

                              The feature where the delegated administrator is enabled. The default is Security Hub CSPM if no delegated administrator is specified in the request.

                              " + } } }, "EnableSecurityHubRequest":{ @@ -17035,8 +18168,25 @@ } }, "EnableSecurityHubResponse":{ + "type":"structure", + "members":{} + }, + "EnableSecurityHubV2Request":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

                              The tags to add to the hub V2 resource when you enable Security Hub.

                              " + } + } + }, + "EnableSecurityHubV2Response":{ "type":"structure", "members":{ + "HubV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the V2 resource that was created.

                              " + } } }, "EnabledSecurityControlIdentifierList":{ @@ -17079,6 +18229,16 @@ }, "documentation":"

                              The options for customizing a security control parameter that is a list of enums.

                              " }, + "ExternalIntegrationConfiguration":{ + "type":"structure", + "members":{ + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the connector that establishes the integration.

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

                              Defines the settings and parameters required for integrating external security tools and services.

                              " + }, "FieldMap":{ "type":"map", "key":{"shape":"NonEmptyString"}, @@ -17348,8 +18508,7 @@ }, "GetAdministratorAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetAdministratorAccountResponse":{ "type":"structure", @@ -17357,6 +18516,96 @@ "Administrator":{"shape":"Invitation"} } }, + "GetAggregatorV2Request":{ + "type":"structure", + "required":["AggregatorV2Arn"], + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the Aggregator V2.

                              ", + "location":"uri", + "locationName":"AggregatorV2Arn" + } + } + }, + "GetAggregatorV2Response":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the Aggregator V2.

                              " + }, + "AggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Web Services Region where data is aggregated.

                              " + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

                              Determines how Regions are linked to an Aggregator V2.

                              " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

                              The list of Regions that are linked to the aggregation Region.

                              " + } + } + }, + "GetAutomationRuleV2Request":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the V2 automation rule.

                              ", + "location":"uri", + "locationName":"Identifier" + } + } + }, + "GetAutomationRuleV2Response":{ + "type":"structure", + "members":{ + "RuleArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the V2 automation rule.

                              " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

                              The ID of the V2 automation rule.

                              " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

                              The value for the rule priority.

                              " + }, + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the V2 automation rule.

                              " + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

                              The status of the V2 automation automation rule.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              A description of the automation rule.

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

                              The filtering type and configuration of the V2 automation rule.

                              " + }, + "Actions":{ + "shape":"AutomationRulesActionListV2", + "documentation":"

                              A list of actions performed when the rule criteria is met.

                              " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the V2 automation rule was created.

                              " + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

                              The timestamp when the V2 automation rule was updated.

                              " + } + } + }, "GetConfigurationPolicyAssociationRequest":{ "type":"structure", "required":["Target"], @@ -17445,36 +18694,97 @@ } } }, - "GetEnabledStandardsRequest":{ + "GetConnectorV2Request":{ "type":"structure", + "required":["ConnectorId"], "members":{ - "StandardsSubscriptionArns":{ - "shape":"StandardsSubscriptionArns", - "documentation":"

                              The list of the standards subscription ARNs for the standards to retrieve.

                              " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

                              The token that is required for pagination. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL.

                              For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

                              " - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

                              The maximum number of results to return in the response.

                              " + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "location":"uri", + "locationName":"ConnectorId" } } }, - "GetEnabledStandardsResponse":{ + "GetConnectorV2Response":{ "type":"structure", + "required":[ + "ConnectorId", + "Name", + "CreatedAt", + "LastUpdatedAt", + "Health", + "ProviderDetail" + ], "members":{ - "StandardsSubscriptions":{ - "shape":"StandardsSubscriptions", - "documentation":"

                              The list of StandardsSubscriptions objects that include information about the enabled standards.

                              " + "ConnectorArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

                              The pagination token to use to request the next page of results.

                              " - } - } - }, + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the connectorV2.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              The description of the connectorV2.

                              " + }, + "KmsKeyArn":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Resource Name (ARN) of KMS key used for the connectorV2.

                              " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

                              ISO 8601 UTC timestamp for the time create the connectorV2.

                              " + }, + "LastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

                              ISO 8601 UTC timestamp for the time update the connectorV2 connectorStatus.

                              " + }, + "Health":{ + "shape":"HealthCheck", + "documentation":"

                              The current health status for connectorV2

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

                              The third-party provider detail for a service configuration.

                              " + } + } + }, + "GetEnabledStandardsRequest":{ + "type":"structure", + "members":{ + "StandardsSubscriptionArns":{ + "shape":"StandardsSubscriptionArns", + "documentation":"

                              The list of the standards subscription ARNs for the standards to retrieve.

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

                              The token that is required for pagination. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL.

                              For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

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

                              The maximum number of results to return in the response.

                              " + } + } + }, + "GetEnabledStandardsResponse":{ + "type":"structure", + "members":{ + "StandardsSubscriptions":{ + "shape":"StandardsSubscriptions", + "documentation":"

                              The list of StandardsSubscriptions objects that include information about the enabled standards.

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

                              The pagination token to use to request the next page of results.

                              " + } + } + }, "GetFindingAggregatorRequest":{ "type":"structure", "required":["FindingAggregatorArn"], @@ -17544,6 +18854,33 @@ } } }, + "GetFindingStatisticsV2Request":{ + "type":"structure", + "required":["GroupByRules"], + "members":{ + "GroupByRules":{ + "shape":"GroupByRules", + "documentation":"

                              Specifies how security findings should be aggregated and organized in the statistical analysis. It can accept up to 5 groupBy fields in a single call.

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

                              Orders the aggregation count in descending or ascending order. Descending order is the default.

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

                              The maximum number of results to be returned.

                              " + } + } + }, + "GetFindingStatisticsV2Response":{ + "type":"structure", + "members":{ + "GroupByResults":{ + "shape":"GroupByResults", + "documentation":"

                              Aggregated statistics about security findings based on specified grouping criteria.

                              " + } + } + }, "GetFindingsRequest":{ "type":"structure", "members":{ @@ -17579,6 +18916,40 @@ } } }, + "GetFindingsV2Request":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"OcsfFindingFilters", + "documentation":"

                              The finding attributes used to define a condition to filter the returned OCSF findings. You can filter up to 10 composite filters. For each filter type inside of a composite filter, you can provide up to 20 filters.

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

                              The finding attributes used to sort the list of returned findings.

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

                              The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

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

                              The maximum number of results to return.

                              " + } + } + }, + "GetFindingsV2Response":{ + "type":"structure", + "members":{ + "Findings":{ + "shape":"OcsfFindingsList", + "documentation":"

                              An array of security findings returned by the operation.

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

                              The pagination token to use to request the next page of results. Otherwise, this parameter is null.

                              " + } + } + }, "GetInsightResultsRequest":{ "type":"structure", "required":["InsightArn"], @@ -17634,8 +19005,7 @@ }, "GetInvitationsCountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetInvitationsCountResponse":{ "type":"structure", @@ -17648,8 +19018,7 @@ }, "GetMasterAccountRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetMasterAccountResponse":{ "type":"structure", @@ -17683,6 +19052,69 @@ } } }, + "GetResourcesStatisticsV2Request":{ + "type":"structure", + "required":["GroupByRules"], + "members":{ + "GroupByRules":{ + "shape":"ResourceGroupByRules", + "documentation":"

                              How resource statistics should be aggregated and organized in the response.

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

                              Sorts aggregated statistics.

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

                              The maximum number of results to be returned.

                              " + } + } + }, + "GetResourcesStatisticsV2Response":{ + "type":"structure", + "required":["GroupByResults"], + "members":{ + "GroupByResults":{ + "shape":"GroupByResults", + "documentation":"

                              The aggregated statistics about resources based on the specified grouping rule.

                              " + } + } + }, + "GetResourcesV2Request":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ResourcesFilters", + "documentation":"

                              Filters resources based on a set of criteria.

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

                              The finding attributes used to sort the list of returned findings.

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

                              The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

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

                              The maximum number of results to return.

                              " + } + } + }, + "GetResourcesV2Response":{ + "type":"structure", + "required":["Resources"], + "members":{ + "Resources":{ + "shape":"Resources", + "documentation":"

                              Filters resources based on a set of criteria.

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

                              The pagination token to use to request the next page of results. Otherwise, this parameter is null.

                              " + } + } + }, "GetSecurityControlDefinitionRequest":{ "type":"structure", "required":["SecurityControlId"], @@ -17702,6 +19134,105 @@ "SecurityControlDefinition":{"shape":"SecurityControlDefinition"} } }, + "GroupByField":{ + "type":"string", + "enum":[ + "activity_name", + "cloud.account.uid", + "cloud.provider", + "cloud.region", + "compliance.assessments.name", + "compliance.status", + "compliance.control", + "finding_info.title", + "finding_info.types", + "metadata.product.name", + "metadata.product.uid", + "resources.type", + "resources.uid", + "severity", + "status", + "vulnerabilities.fix_coverage", + "class_name" + ] + }, + "GroupByResult":{ + "type":"structure", + "members":{ + "GroupByField":{ + "shape":"NonEmptyString", + "documentation":"

                              The attribute by which filtered security findings should be grouped.

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

                              An array of grouped values and their respective counts for each GroupByField.

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

                              Represents finding statistics grouped by GroupedByField.

                              " + }, + "GroupByResults":{ + "type":"list", + "member":{"shape":"GroupByResult"} + }, + "GroupByRule":{ + "type":"structure", + "required":["GroupByField"], + "members":{ + "Filters":{ + "shape":"OcsfFindingFilters", + "documentation":"

                              The criteria used to select which security findings should be included in the grouping operation.

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

                              The attribute by which filtered findings should be grouped.

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

                              Defines the how the finding attribute should be grouped.

                              " + }, + "GroupByRules":{ + "type":"list", + "member":{"shape":"GroupByRule"} + }, + "GroupByValue":{ + "type":"structure", + "members":{ + "FieldValue":{ + "shape":"NonEmptyString", + "documentation":"

                              The value of the field by which findings are grouped.

                              " + }, + "Count":{ + "shape":"Integer", + "documentation":"

                              The number of findings for a specific FieldValue and GroupByField.

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

                              Represents individual aggregated results when grouping security findings for each GroupByField.

                              " + }, + "GroupByValues":{ + "type":"list", + "member":{"shape":"GroupByValue"} + }, + "HealthCheck":{ + "type":"structure", + "required":[ + "ConnectorStatus", + "LastCheckedAt" + ], + "members":{ + "ConnectorStatus":{ + "shape":"ConnectorStatus", + "documentation":"

                              The status of the connectorV2.

                              " + }, + "Message":{ + "shape":"NonEmptyString", + "documentation":"

                              The message for the reason of connectorStatus change.

                              " + }, + "LastCheckedAt":{ + "shape":"Timestamp", + "documentation":"

                              ISO 8601 UTC timestamp for the time check the health status of the connectorV2.

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

                              Information about the operational status and health of a connectorV2.

                              " + }, "IcmpTypeCode":{ "type":"structure", "members":{ @@ -17905,6 +19436,18 @@ "type":"list", "member":{"shape":"IntegrationType"} }, + "IntegrationV2Type":{ + "type":"string", + "enum":[ + "SEND_FINDINGS_TO_SECURITY_HUB", + "RECEIVE_FINDINGS_FROM_SECURITY_HUB", + "UPDATE_FINDINGS_IN_SECURITY_HUB" + ] + }, + "IntegrationV2TypeList":{ + "type":"list", + "member":{"shape":"IntegrationV2Type"} + }, "InternalException":{ "type":"structure", "members":{ @@ -17915,6 +19458,16 @@ "error":{"httpStatusCode":500}, "exception":true }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

                              The request has failed due to an internal failure of the service.

                              ", + "error":{"httpStatusCode":500}, + "exception":true + }, "InvalidAccessException":{ "type":"structure", "members":{ @@ -18038,6 +19591,53 @@ "type":"list", "member":{"shape":"Ipv6CidrBlockAssociation"} }, + "JiraCloudDetail":{ + "type":"structure", + "members":{ + "CloudId":{ + "shape":"NonEmptyString", + "documentation":"

                              The cloud id of the Jira Cloud.

                              " + }, + "ProjectKey":{ + "shape":"NonEmptyString", + "documentation":"

                              The projectKey of Jira Cloud.

                              " + }, + "Domain":{ + "shape":"NonEmptyString", + "documentation":"

                              The URL domain of your Jira Cloud instance.

                              " + }, + "AuthUrl":{ + "shape":"NonEmptyString", + "documentation":"

                              The URL to provide to customers for OAuth auth code flow.

                              " + }, + "AuthStatus":{ + "shape":"ConnectorAuthStatus", + "documentation":"

                              The status of the authorization between Jira Cloud and the service.

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

                              Information about the configuration and status of a Jira Cloud integration.

                              " + }, + "JiraCloudProviderConfiguration":{ + "type":"structure", + "members":{ + "ProjectKey":{ + "shape":"NonEmptyString", + "documentation":"

                              The project key for a JiraCloud instance.

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

                              The initial configuration settings required to establish an integration between Security Hub and Jira Cloud.

                              " + }, + "JiraCloudUpdateConfiguration":{ + "type":"structure", + "required":["ProjectKey"], + "members":{ + "ProjectKey":{ + "shape":"NonEmptyString", + "documentation":"

                              The project key for a JiraCloud instance.

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

                              The parameters used to modify an existing Jira Cloud integration.

                              " + }, "KeywordFilter":{ "type":"structure", "members":{ @@ -18062,6 +19662,36 @@ "error":{"httpStatusCode":429}, "exception":true }, + "ListAggregatorsV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

                              The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of results to return.

                              ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListAggregatorsV2Response":{ + "type":"structure", + "members":{ + "AggregatorsV2":{ + "shape":"AggregatorV2List", + "documentation":"

                              An array of aggregators.

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

                              The pagination token to use to request the next page of results. Otherwise, this parameter is null.

                              " + } + } + }, "ListAutomationRulesRequest":{ "type":"structure", "members":{ @@ -18092,6 +19722,36 @@ } } }, + "ListAutomationRulesV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

                              The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of results to return.

                              ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListAutomationRulesV2Response":{ + "type":"structure", + "members":{ + "Rules":{ + "shape":"AutomationRulesMetadataListV2", + "documentation":"

                              An array of automation rules.

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

                              The pagination token to use to request the next page of results. Otherwise, this parameter is null.

                              " + } + } + }, "ListConfigurationPoliciesRequest":{ "type":"structure", "members":{ @@ -18152,6 +19812,49 @@ } } }, + "ListConnectorsV2Request":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

                              The pagination token per the Amazon Web Services Pagination standard

                              ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              The maximum number of results to be returned.

                              ", + "location":"querystring", + "locationName":"MaxResults" + }, + "ProviderName":{ + "shape":"ConnectorProviderName", + "documentation":"

                              The name of the third-party provider.

                              ", + "location":"querystring", + "locationName":"ProviderName" + }, + "ConnectorStatus":{ + "shape":"ConnectorStatus", + "documentation":"

                              The status for the connectorV2.

                              ", + "location":"querystring", + "locationName":"ConnectorStatus" + } + } + }, + "ListConnectorsV2Response":{ + "type":"structure", + "required":["Connectors"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

                              The pagination token to use to request the next page of results. Otherwise, this parameter is null.

                              " + }, + "Connectors":{ + "shape":"ConnectorSummaryList", + "documentation":"

                              An array of connectorV2 summaries.

                              " + } + } + }, "ListEnabledProductsForImportRequest":{ "type":"structure", "members":{ @@ -18292,6 +19995,12 @@ "documentation":"

                              The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts operation, set the value of this parameter to NULL. For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

                              ", "location":"querystring", "locationName":"NextToken" + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

                              The feature where the delegated administrator account is listed. Defaults to Security Hub if not specified.

                              ", + "location":"querystring", + "locationName":"Feature" } } }, @@ -18305,6 +20014,10 @@ "NextToken":{ "shape":"NextToken", "documentation":"

                              The pagination token to use to request the next page of results.

                              " + }, + "Feature":{ + "shape":"SecurityHubFeature", + "documentation":"

                              The feature where the delegated administrator account is listed. Defaults to Security Hub CSPM if not specified.

                              " } } }, @@ -18510,6 +20223,11 @@ "max":100, "min":1 }, + "MaxStatisticResults":{ + "type":"integer", + "max":400, + "min":1 + }, "Member":{ "type":"structure", "members":{ @@ -18550,6 +20268,12 @@ "type":"list", "member":{"shape":"Member"} }, + "MetadataUidList":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":0 + }, "Network":{ "type":"structure", "members":{ @@ -18835,61 +20559,257 @@ }, "documentation":"

                              The updated note.

                              " }, - "NumberFilter":{ + "NumberFilter":{ + "type":"structure", + "members":{ + "Gte":{ + "shape":"Double", + "documentation":"

                              The greater-than-equal condition to be applied to a single field when querying for findings.

                              " + }, + "Lte":{ + "shape":"Double", + "documentation":"

                              The less-than-equal condition to be applied to a single field when querying for findings.

                              " + }, + "Eq":{ + "shape":"Double", + "documentation":"

                              The equal-to condition to be applied to a single field when querying for findings.

                              " + }, + "Gt":{ + "shape":"Double", + "documentation":"

                              The greater-than condition to be applied to a single field when querying for findings.

                              " + }, + "Lt":{ + "shape":"Double", + "documentation":"

                              The less-than condition to be applied to a single field when querying for findings.

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

                              A number filter for querying findings.

                              " + }, + "NumberFilterList":{ + "type":"list", + "member":{"shape":"NumberFilter"} + }, + "Occurrences":{ + "type":"structure", + "members":{ + "LineRanges":{ + "shape":"Ranges", + "documentation":"

                              Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files.

                              " + }, + "OffsetRanges":{ + "shape":"Ranges", + "documentation":"

                              Occurrences of sensitive data detected in a binary text file.

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

                              Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file.

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

                              Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file.

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

                              Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files.

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

                              The detected occurrences of sensitive data.

                              " + }, + "OcsfBooleanField":{ + "type":"string", + "enum":[ + "compliance.assessments.meets_criteria", + "vulnerabilities.is_exploit_available", + "vulnerabilities.is_fix_available" + ] + }, + "OcsfBooleanFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"OcsfBooleanField", + "documentation":"

                              The name of the field.

                              " + }, + "Filter":{"shape":"BooleanFilter"} + }, + "documentation":"

                              Enables filtering of security findings based on boolean field values in OCSF.

                              " + }, + "OcsfBooleanFilterList":{ + "type":"list", + "member":{"shape":"OcsfBooleanFilter"} + }, + "OcsfDateField":{ + "type":"string", + "enum":[ + "finding_info.created_time_dt", + "finding_info.first_seen_time_dt", + "finding_info.last_seen_time_dt", + "finding_info.modified_time_dt" + ] + }, + "OcsfDateFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"OcsfDateField", + "documentation":"

                              The name of the field.

                              " + }, + "Filter":{"shape":"DateFilter"} + }, + "documentation":"

                              Enables filtering of security findings based on date and timestamp fields in OCSF.

                              " + }, + "OcsfDateFilterList":{ + "type":"list", + "member":{"shape":"OcsfDateFilter"} + }, + "OcsfFinding":{ + "type":"structure", + "members":{}, + "document":true + }, + "OcsfFindingFilters":{ + "type":"structure", + "members":{ + "CompositeFilters":{ + "shape":"CompositeFilterList", + "documentation":"

                              Enables the creation of complex filtering conditions by combining filter criteria.

                              " + }, + "CompositeOperator":{ + "shape":"AllowedOperators", + "documentation":"

                              The logical operators used to combine the filtering on multiple CompositeFilters.

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

                              Specifies the filtering criteria for security findings using OCSF.

                              " + }, + "OcsfFindingIdentifier":{ + "type":"structure", + "required":[ + "CloudAccountUid", + "FindingInfoUid", + "MetadataProductUid" + ], + "members":{ + "CloudAccountUid":{ + "shape":"NonEmptyString", + "documentation":"

                              Finding cloud.account.uid, which is a unique identifier in the Amazon Web Services account..

                              " + }, + "FindingInfoUid":{ + "shape":"NonEmptyString", + "documentation":"

                              Finding finding_info.uid, which is a unique identifier for the finding from the finding provider.

                              " + }, + "MetadataProductUid":{ + "shape":"NonEmptyString", + "documentation":"

                              Finding metadata.product.uid, which is a unique identifier for the product.

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

                              Provides a standard to identify security findings using OCSF.

                              " + }, + "OcsfFindingIdentifierList":{ + "type":"list", + "member":{"shape":"OcsfFindingIdentifier"}, + "max":100, + "min":0 + }, + "OcsfFindingsList":{ + "type":"list", + "member":{"shape":"OcsfFinding"} + }, + "OcsfMapField":{ + "type":"string", + "enum":["resources.tags"] + }, + "OcsfMapFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"OcsfMapField", + "documentation":"

                              The name of the field.

                              " + }, + "Filter":{"shape":"MapFilter"} + }, + "documentation":"

                              Enables filtering of security findings based on map field values in OCSF.

                              " + }, + "OcsfMapFilterList":{ + "type":"list", + "member":{"shape":"OcsfMapFilter"} + }, + "OcsfNumberField":{ + "type":"string", + "enum":[ + "activity_id", + "compliance.status_id", + "confidence_score", + "severity_id", + "status_id", + "finding_info.related_events_count" + ] + }, + "OcsfNumberFilter":{ "type":"structure", "members":{ - "Gte":{ - "shape":"Double", - "documentation":"

                              The greater-than-equal condition to be applied to a single field when querying for findings.

                              " - }, - "Lte":{ - "shape":"Double", - "documentation":"

                              The less-than-equal condition to be applied to a single field when querying for findings.

                              " - }, - "Eq":{ - "shape":"Double", - "documentation":"

                              The equal-to condition to be applied to a single field when querying for findings.

                              " - }, - "Gt":{ - "shape":"Double", - "documentation":"

                              The greater-than condition to be applied to a single field when querying for findings.

                              " + "FieldName":{ + "shape":"OcsfNumberField", + "documentation":"

                              The name of the field.

                              " }, - "Lt":{ - "shape":"Double", - "documentation":"

                              The less-than condition to be applied to a single field when querying for findings.

                              " - } + "Filter":{"shape":"NumberFilter"} }, - "documentation":"

                              A number filter for querying findings.

                              " + "documentation":"

                              Enables filtering of security findings based on numerical field values in OCSF.

                              " }, - "NumberFilterList":{ + "OcsfNumberFilterList":{ "type":"list", - "member":{"shape":"NumberFilter"} + "member":{"shape":"OcsfNumberFilter"} }, - "Occurrences":{ + "OcsfStringField":{ + "type":"string", + "enum":[ + "metadata.uid", + "activity_name", + "cloud.account.uid", + "cloud.provider", + "cloud.region", + "compliance.assessments.category", + "compliance.assessments.name", + "compliance.control", + "compliance.status", + "compliance.standards", + "finding_info.desc", + "finding_info.src_url", + "finding_info.title", + "finding_info.types", + "finding_info.uid", + "finding_info.related_events.uid", + "finding_info.related_events.product.uid", + "finding_info.related_events.title", + "metadata.product.name", + "metadata.product.uid", + "metadata.product.vendor_name", + "remediation.desc", + "remediation.references", + "resources.cloud_partition", + "resources.region", + "resources.type", + "resources.uid", + "severity", + "status", + "comment", + "vulnerabilities.fix_coverage", + "class_name" + ] + }, + "OcsfStringFilter":{ "type":"structure", "members":{ - "LineRanges":{ - "shape":"Ranges", - "documentation":"

                              Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files.

                              " - }, - "OffsetRanges":{ - "shape":"Ranges", - "documentation":"

                              Occurrences of sensitive data detected in a binary text file.

                              " - }, - "Pages":{ - "shape":"Pages", - "documentation":"

                              Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file.

                              " - }, - "Records":{ - "shape":"Records", - "documentation":"

                              Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file.

                              " + "FieldName":{ + "shape":"OcsfStringField", + "documentation":"

                              The name of the field.

                              " }, - "Cells":{ - "shape":"Cells", - "documentation":"

                              Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files.

                              " - } + "Filter":{"shape":"StringFilter"} }, - "documentation":"

                              The detected occurrences of sensitive data.

                              " + "documentation":"

                              Enables filtering of security findings based on string field values in OCSF.

                              " + }, + "OcsfStringFilterList":{ + "type":"list", + "member":{"shape":"OcsfStringFilter"} }, "OrganizationConfiguration":{ "type":"structure", @@ -19250,10 +21170,48 @@ "type":"list", "member":{"shape":"NonEmptyString"} }, + "ProductV2":{ + "type":"structure", + "members":{ + "ProductV2Name":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the productV2.

                              " + }, + "CompanyName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the organization or vendor that provides the productV2.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              Detailed information about the productV2.

                              " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

                              The domains or functional areas the productV2 addresses.

                              " + }, + "IntegrationV2Types":{ + "shape":"IntegrationV2TypeList", + "documentation":"

                              The type of integration.

                              " + }, + "MarketplaceUrl":{ + "shape":"NonEmptyString", + "documentation":"

                              The console URL where you can purchase or subscribe to products.

                              " + }, + "ActivationUrl":{ + "shape":"NonEmptyString", + "documentation":"

                              The URL to the serviceV@ or productV2 documentation about the integration, which includes how to activate the integration.

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

                              Defines the structure for the productV2.

                              " + }, "ProductsList":{ "type":"list", "member":{"shape":"Product"} }, + "ProductsV2List":{ + "type":"list", + "member":{"shape":"ProductV2"} + }, "PropagatingVgwSetDetails":{ "type":"structure", "members":{ @@ -19268,6 +21226,61 @@ "type":"list", "member":{"shape":"PropagatingVgwSetDetails"} }, + "ProviderConfiguration":{ + "type":"structure", + "members":{ + "JiraCloud":{ + "shape":"JiraCloudProviderConfiguration", + "documentation":"

                              The configuration settings required to establish an integration with Jira Cloud.

                              " + }, + "ServiceNow":{ + "shape":"ServiceNowProviderConfiguration", + "documentation":"

                              The configuration settings required to establish an integration with ServiceNow ITSM.

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

                              The initial configuration settings required to establish an integration between Security Hub and third-party provider.

                              ", + "union":true + }, + "ProviderDetail":{ + "type":"structure", + "members":{ + "JiraCloud":{ + "shape":"JiraCloudDetail", + "documentation":"

                              Details about a Jira Cloud integration.

                              " + }, + "ServiceNow":{ + "shape":"ServiceNowDetail", + "documentation":"

                              Details about a ServiceNow ITSM integration.

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

                              The third-party provider detail for a service configuration.

                              ", + "union":true + }, + "ProviderSummary":{ + "type":"structure", + "members":{ + "ProviderName":{ + "shape":"ConnectorProviderName", + "documentation":"

                              The name of the provider.

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

                              The status for the connectorV2.

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

                              The connectorV2 third-party provider configuration summary.

                              " + }, + "ProviderUpdateConfiguration":{ + "type":"structure", + "members":{ + "JiraCloud":{ + "shape":"JiraCloudUpdateConfiguration", + "documentation":"

                              The parameters required to update the configuration for a Jira Cloud integration.

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

                              The parameters required to update the configuration of an integration provider.

                              ", + "union":true + }, "Range":{ "type":"structure", "members":{ @@ -19431,6 +21444,24 @@ "type":"string", "pattern":"^arn:aws:securityhub:.*" }, + "ResourceCategory":{ + "type":"string", + "enum":[ + "Compute", + "Database", + "Storage", + "Code", + "AI/ML", + "Identity", + "Network", + "Other" + ] + }, + "ResourceConfig":{ + "type":"structure", + "members":{}, + "document":true + }, "ResourceConflictException":{ "type":"structure", "members":{ @@ -19776,84 +21807,413 @@ "shape":"AwsAppSyncGraphQlApiDetails", "documentation":"

                              Provides details about an AppSync Graph QL API, which lets you query multiple databases, microservices, and APIs from a single GraphQL endpoint.

                              " }, - "AwsEventSchemasRegistry":{ - "shape":"AwsEventSchemasRegistryDetails", - "documentation":"

                              A schema defines the structure of events that are sent to Amazon EventBridge. Schema registries are containers for schemas. They collect and organize schemas so that your schemas are in logical groups.

                              " + "AwsEventSchemasRegistry":{ + "shape":"AwsEventSchemasRegistryDetails", + "documentation":"

                              A schema defines the structure of events that are sent to Amazon EventBridge. Schema registries are containers for schemas. They collect and organize schemas so that your schemas are in logical groups.

                              " + }, + "AwsGuardDutyDetector":{ + "shape":"AwsGuardDutyDetectorDetails", + "documentation":"

                              Provides details about an Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector is required for GuardDuty to become operational.

                              " + }, + "AwsStepFunctionStateMachine":{ + "shape":"AwsStepFunctionStateMachineDetails", + "documentation":"

                              Provides details about an Step Functions state machine, which is a workflow consisting of a series of event-driven steps.

                              " + }, + "AwsAthenaWorkGroup":{ + "shape":"AwsAthenaWorkGroupDetails", + "documentation":"

                              Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, applications, or workloads. It also helps you set limits on data processing and track costs.

                              " + }, + "AwsEventsEventbus":{ + "shape":"AwsEventsEventbusDetails", + "documentation":"

                              Provides details about Amazon EventBridge event bus for an endpoint. An event bus is a router that receives events and delivers them to zero or more destinations, or targets.

                              " + }, + "AwsDmsEndpoint":{ + "shape":"AwsDmsEndpointDetails", + "documentation":"

                              Provides details about an Database Migration Service (DMS) endpoint. An endpoint provides connection, data store type, and location information about your data store.

                              " + }, + "AwsEventsEndpoint":{ + "shape":"AwsEventsEndpointDetails", + "documentation":"

                              Provides details about an Amazon EventBridge global endpoint. The endpoint can improve your application’s availability by making it Regional-fault tolerant.

                              " + }, + "AwsDmsReplicationTask":{ + "shape":"AwsDmsReplicationTaskDetails", + "documentation":"

                              Provides details about an DMS replication task. A replication task moves a set of data from the source endpoint to the target endpoint.

                              " + }, + "AwsDmsReplicationInstance":{ + "shape":"AwsDmsReplicationInstanceDetails", + "documentation":"

                              Provides details about an DMS replication instance. DMS uses a replication instance to connect to your source data store, read the source data, and format the data for consumption by the target data store.

                              " + }, + "AwsRoute53HostedZone":{ + "shape":"AwsRoute53HostedZoneDetails", + "documentation":"

                              Provides details about an Amazon Route 53 hosted zone, including the four name servers assigned to the hosted zone. A hosted zone represents a collection of records that can be managed together, belonging to a single parent domain name.

                              " + }, + "AwsMskCluster":{ + "shape":"AwsMskClusterDetails", + "documentation":"

                              Provides details about an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster.

                              " + }, + "AwsS3AccessPoint":{ + "shape":"AwsS3AccessPointDetails", + "documentation":"

                              Provides details about an Amazon Simple Storage Service (Amazon S3) access point. S3 access points are named network endpoints that are attached to S3 buckets that you can use to perform S3 object operations.

                              " + }, + "AwsEc2ClientVpnEndpoint":{ + "shape":"AwsEc2ClientVpnEndpointDetails", + "documentation":"

                              Provides details about an Client VPN endpoint. A Client VPN endpoint is the resource that you create and configure to enable and manage client VPN sessions. It's the termination point for all client VPN sessions.

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

                              Additional details about a resource related to a finding.

                              To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

                              If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

                              You also use the Other object to populate the details when the selected type does not have a corresponding object.

                              " + }, + "ResourceFindingsSummary":{ + "type":"structure", + "required":[ + "FindingType", + "ProductName", + "TotalFindings" + ], + "members":{ + "FindingType":{ + "shape":"NonEmptyString", + "documentation":"

                              The category or classification of the security finding.

                              " + }, + "ProductName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the product associated with the security finding.

                              " + }, + "TotalFindings":{ + "shape":"Integer", + "documentation":"

                              The total count of security findings.

                              " + }, + "Severities":{ + "shape":"ResourceSeverityBreakdown", + "documentation":"

                              A breakdown of security findings by their severity levels.

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

                              A list of summaries for all finding types on a resource.

                              " + }, + "ResourceFindingsSummaryList":{ + "type":"list", + "member":{"shape":"ResourceFindingsSummary"} + }, + "ResourceGroupByField":{ + "type":"string", + "enum":[ + "account_id", + "region", + "resource_category", + "resource_type", + "resource_name", + "findings_summary.finding_type" + ] + }, + "ResourceGroupByRule":{ + "type":"structure", + "required":["GroupByField"], + "members":{ + "GroupByField":{ + "shape":"ResourceGroupByField", + "documentation":"

                              Specifies the attribute that resources should be grouped by.

                              " + }, + "Filters":{ + "shape":"ResourcesFilters", + "documentation":"

                              The criteria used to select resources and associated security findings.

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

                              Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings.

                              " + }, + "ResourceGroupByRules":{ + "type":"list", + "member":{"shape":"ResourceGroupByRule"} + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

                              The request was rejected because it conflicts with the resource's availability. For example, you tried to update a security control that's currently in the UPDATING state.

                              ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

                              The request was rejected because we can't find the specified resource.

                              ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceResult":{ + "type":"structure", + "required":[ + "ResourceId", + "AccountId", + "Region", + "ResourceDetailCaptureTimeDt", + "ResourceConfig" + ], + "members":{ + "ResourceArn":{ + "shape":"NonEmptyString", + "documentation":"

                              Specifies the ARN that uniquely identifies a resource.

                              " + }, + "ResourceId":{ + "shape":"NonEmptyString", + "documentation":"

                              The unique identifier for a resource.

                              " + }, + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Web Services account that owns the resource.

                              " + }, + "Region":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Web Services Region where the resource is located.

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

                              The grouping where the resource belongs.

                              " + }, + "ResourceType":{ + "shape":"NonEmptyString", + "documentation":"

                              The type of resource.

                              " + }, + "ResourceName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the resource.

                              " + }, + "ResourceCreationTimeDt":{ + "shape":"NonEmptyString", + "documentation":"

                              The time when the resource was created.

                              " + }, + "ResourceDetailCaptureTimeDt":{ + "shape":"NonEmptyString", + "documentation":"

                              The timestamp when information about the resource was captured.

                              " + }, + "FindingsSummary":{ + "shape":"ResourceFindingsSummaryList", + "documentation":"

                              An aggregated view of security findings associated with a resource.

                              " + }, + "ResourceTags":{ + "shape":"ResourceTagList", + "documentation":"

                              The key-value pairs associated with a resource.

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

                              The configuration details of a resource.

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

                              Provides comprehensive details about an Amazon Web Services resource and its associated security findings.

                              " + }, + "ResourceSeverityBreakdown":{ + "type":"structure", + "members":{ + "Other":{ + "shape":"Integer", + "documentation":"

                              The number of findings not in any of the severity categories.

                              " + }, + "Fatal":{ + "shape":"Integer", + "documentation":"

                              The number of findings with a severity level of fatal.

                              " }, - "AwsGuardDutyDetector":{ - "shape":"AwsGuardDutyDetectorDetails", - "documentation":"

                              Provides details about an Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector is required for GuardDuty to become operational.

                              " + "Critical":{ + "shape":"Integer", + "documentation":"

                              The number of findings with a severity level of critical.

                              " }, - "AwsStepFunctionStateMachine":{ - "shape":"AwsStepFunctionStateMachineDetails", - "documentation":"

                              Provides details about an Step Functions state machine, which is a workflow consisting of a series of event-driven steps.

                              " + "High":{ + "shape":"Integer", + "documentation":"

                              The number of findings with a severity level of high.

                              " }, - "AwsAthenaWorkGroup":{ - "shape":"AwsAthenaWorkGroupDetails", - "documentation":"

                              Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, applications, or workloads. It also helps you set limits on data processing and track costs.

                              " + "Medium":{ + "shape":"Integer", + "documentation":"

                              The number of findings with a severity level of medium.

                              " }, - "AwsEventsEventbus":{ - "shape":"AwsEventsEventbusDetails", - "documentation":"

                              Provides details about Amazon EventBridge event bus for an endpoint. An event bus is a router that receives events and delivers them to zero or more destinations, or targets.

                              " + "Low":{ + "shape":"Integer", + "documentation":"

                              The number of findings with a severity level of low.

                              " }, - "AwsDmsEndpoint":{ - "shape":"AwsDmsEndpointDetails", - "documentation":"

                              Provides details about an Database Migration Service (DMS) endpoint. An endpoint provides connection, data store type, and location information about your data store.

                              " + "Informational":{ + "shape":"Integer", + "documentation":"

                              The number of findings that provide security-related information.

                              " }, - "AwsEventsEndpoint":{ - "shape":"AwsEventsEndpointDetails", - "documentation":"

                              Provides details about an Amazon EventBridge global endpoint. The endpoint can improve your application’s availability by making it Regional-fault tolerant.

                              " + "Unknown":{ + "shape":"Integer", + "documentation":"

                              The number of findings with a severity level cannot be determined.

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

                              A comprehensive distribution of security findings by severity level for Amazon Web Services resources.

                              " + }, + "ResourceTag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

                              The identifier or name of the tag.

                              " }, - "AwsDmsReplicationTask":{ - "shape":"AwsDmsReplicationTaskDetails", - "documentation":"

                              Provides details about an DMS replication task. A replication task moves a set of data from the source endpoint to the target endpoint.

                              " + "Value":{ + "shape":"NonEmptyString", + "documentation":"

                              The data associated with the tag key.

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

                              Represents tag information associated with Amazon Web Services resources.

                              " + }, + "ResourceTagList":{ + "type":"list", + "member":{"shape":"ResourceTag"} + }, + "Resources":{ + "type":"list", + "member":{"shape":"ResourceResult"} + }, + "ResourcesCompositeFilter":{ + "type":"structure", + "members":{ + "StringFilters":{ + "shape":"ResourcesStringFilterList", + "documentation":"

                              Enables filtering based on string field values.

                              " }, - "AwsDmsReplicationInstance":{ - "shape":"AwsDmsReplicationInstanceDetails", - "documentation":"

                              Provides details about an DMS replication instance. DMS uses a replication instance to connect to your source data store, read the source data, and format the data for consumption by the target data store.

                              " + "DateFilters":{ + "shape":"ResourcesDateFilterList", + "documentation":"

                              Enables filtering based on date and timestamp field values.

                              " }, - "AwsRoute53HostedZone":{ - "shape":"AwsRoute53HostedZoneDetails", - "documentation":"

                              Provides details about an Amazon Route 53 hosted zone, including the four name servers assigned to the hosted zone. A hosted zone represents a collection of records that can be managed together, belonging to a single parent domain name.

                              " + "NumberFilters":{ + "shape":"ResourcesNumberFilterList", + "documentation":"

                              Enables filtering based on numerical field values.

                              " }, - "AwsMskCluster":{ - "shape":"AwsMskClusterDetails", - "documentation":"

                              Provides details about an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster.

                              " + "MapFilters":{ + "shape":"ResourcesMapFilterList", + "documentation":"

                              Enables filtering based on map-based field values.

                              " }, - "AwsS3AccessPoint":{ - "shape":"AwsS3AccessPointDetails", - "documentation":"

                              Provides details about an Amazon Simple Storage Service (Amazon S3) access point. S3 access points are named network endpoints that are attached to S3 buckets that you can use to perform S3 object operations.

                              " + "Operator":{ + "shape":"AllowedOperators", + "documentation":"

                              The logical operator used to combine multiple filter conditions.

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

                              Enables the creation of criteria for Amazon Web Services resources in Security Hub.

                              " + }, + "ResourcesCompositeFilterList":{ + "type":"list", + "member":{"shape":"ResourcesCompositeFilter"} + }, + "ResourcesDateField":{ + "type":"string", + "enum":[ + "resource_detail_capture_time_dt", + "resource_creation_time_dt" + ] + }, + "ResourcesDateFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"ResourcesDateField", + "documentation":"

                              The name of the field.

                              " }, - "AwsEc2ClientVpnEndpoint":{ - "shape":"AwsEc2ClientVpnEndpointDetails", - "documentation":"

                              Provides details about an Client VPN endpoint. A Client VPN endpoint is the resource that you create and configure to enable and manage client VPN sessions. It's the termination point for all client VPN sessions.

                              " + "Filter":{"shape":"DateFilter"} + }, + "documentation":"

                              Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

                              " + }, + "ResourcesDateFilterList":{ + "type":"list", + "member":{"shape":"ResourcesDateFilter"} + }, + "ResourcesFilters":{ + "type":"structure", + "members":{ + "CompositeFilters":{ + "shape":"ResourcesCompositeFilterList", + "documentation":"

                              A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

                              " + }, + "CompositeOperator":{ + "shape":"AllowedOperators", + "documentation":"

                              The logical operator used to combine multiple filter conditions in the structure.

                              " } }, - "documentation":"

                              Additional details about a resource related to a finding.

                              To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

                              If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

                              You also use the Other object to populate the details when the selected type does not have a corresponding object.

                              " + "documentation":"

                              Enables filtering of Amazon Web Services resources based on data.

                              " }, - "ResourceInUseException":{ + "ResourcesMapField":{ + "type":"string", + "enum":["tags"] + }, + "ResourcesMapFilter":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"}, - "Code":{"shape":"NonEmptyString"} + "FieldName":{ + "shape":"ResourcesMapField", + "documentation":"

                              The name of the field.

                              " + }, + "Filter":{"shape":"MapFilter"} }, - "documentation":"

                              The request was rejected because it conflicts with the resource's availability. For example, you tried to update a security control that's currently in the UPDATING state.

                              ", - "error":{"httpStatusCode":400}, - "exception":true + "documentation":"

                              Enables filtering of Amazon Web Services resources based on key-value map attributes.

                              " }, - "ResourceList":{ + "ResourcesMapFilterList":{ "type":"list", - "member":{"shape":"Resource"} + "member":{"shape":"ResourcesMapFilter"} }, - "ResourceNotFoundException":{ + "ResourcesNumberField":{ + "type":"string", + "enum":[ + "findings_summary.total_findings", + "findings_summary.severities.other", + "findings_summary.severities.fatal", + "findings_summary.severities.critical", + "findings_summary.severities.high", + "findings_summary.severities.medium", + "findings_summary.severities.low", + "findings_summary.severities.informational", + "findings_summary.severities.unknown" + ] + }, + "ResourcesNumberFilter":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"}, - "Code":{"shape":"NonEmptyString"} + "FieldName":{ + "shape":"ResourcesNumberField", + "documentation":"

                              The name of the field.

                              " + }, + "Filter":{"shape":"NumberFilter"} }, - "documentation":"

                              The request was rejected because we can't find the specified resource.

                              ", - "error":{"httpStatusCode":404}, - "exception":true + "documentation":"

                              Enables filtering of Amazon Web Services resources based on numerical values.

                              " + }, + "ResourcesNumberFilterList":{ + "type":"list", + "member":{"shape":"ResourcesNumberFilter"} + }, + "ResourcesStringField":{ + "type":"string", + "enum":[ + "resource_arn", + "resource_id", + "account_id", + "region", + "resource_category", + "resource_type", + "resource_name", + "findings_summary.finding_type", + "findings_summary.product_name" + ] + }, + "ResourcesStringFilter":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"ResourcesStringField", + "documentation":"

                              The name of the field.

                              " + }, + "Filter":{"shape":"StringFilter"} + }, + "documentation":"

                              Enables filtering of Amazon Web Services resources based on string field values.

                              " + }, + "ResourcesStringFilterList":{ + "type":"list", + "member":{"shape":"ResourcesStringFilter"} }, "Result":{ "type":"structure", @@ -20294,6 +22654,11 @@ "max":1000, "min":1 }, + "RuleOrderValueV2":{ + "type":"float", + "max":1000.0, + "min":1.0 + }, "RuleStatus":{ "type":"string", "enum":[ @@ -20301,6 +22666,13 @@ "DISABLED" ] }, + "RuleStatusV2":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "SecurityControl":{ "type":"structure", "required":[ @@ -20472,6 +22844,13 @@ "type":"list", "member":{"shape":"NonEmptyString"} }, + "SecurityHubFeature":{ + "type":"string", + "enum":[ + "SecurityHub", + "SecurityHubV2" + ] + }, "SecurityHubPolicy":{ "type":"structure", "members":{ @@ -20534,6 +22913,11 @@ "type":"list", "member":{"shape":"SensitiveDataResult"} }, + "SensitiveNonEmptyString":{ + "type":"string", + "pattern":".*\\S.*", + "sensitive":true + }, "Sequence":{ "type":"structure", "members":{ @@ -20560,6 +22944,48 @@ }, "documentation":"

                              Contains information about an Amazon GuardDuty Extended Threat Detection attack sequence finding. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

                              " }, + "ServiceNowDetail":{ + "type":"structure", + "required":["AuthStatus"], + "members":{ + "InstanceName":{ + "shape":"NonEmptyString", + "documentation":"

                              The instanceName of ServiceNow ITSM.

                              " + }, + "ClientId":{ + "shape":"NonEmptyString", + "documentation":"

                              The clientId of ServiceNow ITSM.

                              " + }, + "AuthStatus":{ + "shape":"ConnectorAuthStatus", + "documentation":"

                              The status of the authorization between Jira Cloud and the service.

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

                              Information about a ServiceNow ITSM integration.

                              " + }, + "ServiceNowProviderConfiguration":{ + "type":"structure", + "required":[ + "InstanceName", + "ClientId", + "ClientSecret" + ], + "members":{ + "InstanceName":{ + "shape":"NonEmptyString", + "documentation":"

                              The instance name of ServiceNow ITSM.

                              " + }, + "ClientId":{ + "shape":"NonEmptyString", + "documentation":"

                              The client ID of ServiceNow ITSM.

                              " + }, + "ClientSecret":{ + "shape":"SensitiveNonEmptyString", + "documentation":"

                              The client secret of ServiceNow ITSM.

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

                              The initial configuration settings required to establish an integration between Security Hub and ServiceNow ITSM.

                              " + }, "Severity":{ "type":"structure", "members":{ @@ -21196,8 +23622,7 @@ }, "StartConfigurationPolicyDisassociationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "StatelessCustomActionDefinition":{ "type":"structure", @@ -21287,7 +23712,7 @@ }, "Comparison":{ "shape":"StringFilterComparison", - "documentation":"

                              The condition to apply to a string value when filtering Security Hub findings.

                              To search for values that have the filter value, use one of the following comparison operators:

                              • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                              • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                              • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                              CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                              To search for values that don’t have the filter value, use one of the following comparison operators:

                              • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                              • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                              • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                              NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                              You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                              For example, for the following filters, Security Hub first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                              • ResourceType PREFIX AwsIam

                              • ResourceType PREFIX AwsEc2

                              • ResourceType NOT_EQUALS AwsIamPolicy

                              • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                              CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, see Automation rules in the Security Hub User Guide.

                              " + "documentation":"

                              The condition to apply to a string value when filtering Security Hub findings.

                              To search for values that have the filter value, use one of the following comparison operators:

                              • To search for values that include the filter value, use CONTAINS. For example, the filter Title CONTAINS CloudFront matches findings that have a Title that includes the string CloudFront.

                              • To search for values that exactly match the filter value, use EQUALS. For example, the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of 123456789012.

                              • To search for values that start with the filter value, use PREFIX. For example, the filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts with us. A ResourceRegion that starts with a different value, such as af, ap, or ca, doesn't match.

                              CONTAINS, EQUALS, and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR Title CONTAINS CloudWatch match a finding that includes either CloudFront, CloudWatch, or both strings in the title.

                              To search for values that don’t have the filter value, use one of the following comparison operators:

                              • To search for values that exclude the filter value, use NOT_CONTAINS. For example, the filter Title NOT_CONTAINS CloudFront matches findings that have a Title that excludes the string CloudFront.

                              • To search for values other than the filter value, use NOT_EQUALS. For example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account ID other than 123456789012.

                              • To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a ResourceRegion that starts with a value other than us.

                              NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and CloudWatch in the title.

                              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, you can't provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with other NOT_CONTAINS filters.

                              You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                              For example, for the following filters, Security Hub first identifies findings that have resource types that start with either AwsIam or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                              • ResourceType PREFIX AwsIam

                              • ResourceType PREFIX AwsEc2

                              • ResourceType NOT_EQUALS AwsIamPolicy

                              • ResourceType NOT_EQUALS AwsEc2NetworkInterface

                              CONTAINS and NOT_CONTAINS operators can be used only with automation rules V1. CONTAINS_WORD operator is only supported in GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourceStatisticsV2 APIs. For more information, see Automation rules in the Security Hub User Guide.

                              " } }, "documentation":"

                              A string filter for filtering Security Hub findings.

                              " @@ -21300,7 +23725,8 @@ "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", - "NOT_CONTAINS" + "NOT_CONTAINS", + "CONTAINS_WORD" ] }, "StringFilterList":{ @@ -21373,8 +23799,7 @@ }, "TagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "TagValue":{ "type":"string", @@ -21494,6 +23919,16 @@ "type":"list", "member":{"shape":"Threat"} }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

                              The limit on the number of requests per second was exceeded.

                              ", + "error":{"httpStatusCode":429}, + "exception":true + }, "Timestamp":{ "type":"timestamp", "timestampFormat":"iso8601" @@ -21656,8 +24091,7 @@ }, "UntagResourceResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateActionTargetRequest":{ "type":"structure", @@ -21681,9 +24115,92 @@ }, "UpdateActionTargetResponse":{ "type":"structure", + "members":{} + }, + "UpdateAggregatorV2Request":{ + "type":"structure", + "required":[ + "AggregatorV2Arn", + "RegionLinkingMode" + ], + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the Aggregator V2.

                              ", + "location":"uri", + "locationName":"AggregatorV2Arn" + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

                              Determines how Amazon Web Services Regions should be linked to the Aggregator V2.

                              " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

                              A list of Amazon Web Services Regions linked to the aggegation Region.

                              " + } + } + }, + "UpdateAggregatorV2Response":{ + "type":"structure", + "members":{ + "AggregatorV2Arn":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the Aggregator V2.

                              " + }, + "AggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

                              The Amazon Web Services Region where data is aggregated.

                              " + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

                              Determines how Amazon Web Services Regions should be linked to the Aggregator V2.

                              " + }, + "LinkedRegions":{ + "shape":"StringList", + "documentation":"

                              A list of Amazon Web Services Regions linked to the aggegation Region.

                              " + } + } + }, + "UpdateAutomationRuleV2Request":{ + "type":"structure", + "required":["Identifier"], "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

                              The ARN of the automation rule.

                              ", + "location":"uri", + "locationName":"Identifier" + }, + "RuleStatus":{ + "shape":"RuleStatusV2", + "documentation":"

                              The status of the automation rule.

                              " + }, + "RuleOrder":{ + "shape":"RuleOrderValueV2", + "documentation":"

                              Represents a value for the rule priority.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              A description of the automation rule.

                              " + }, + "RuleName":{ + "shape":"NonEmptyString", + "documentation":"

                              The name of the automation rule.

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

                              The filtering type and configuration of the automation rule.

                              " + }, + "Actions":{ + "shape":"AutomationRulesActionListV2", + "documentation":"

                              A list of actions to be performed when the rule criteria is met.

                              " + } } }, + "UpdateAutomationRuleV2Response":{ + "type":"structure", + "members":{} + }, "UpdateAutomationRulesRequestItem":{ "type":"structure", "required":["RuleArn"], @@ -21790,6 +24307,34 @@ } } }, + "UpdateConnectorV2Request":{ + "type":"structure", + "required":["ConnectorId"], + "members":{ + "ConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "location":"uri", + "locationName":"ConnectorId" + }, + "ClientSecret":{ + "shape":"SensitiveNonEmptyString", + "documentation":"

                              The clientSecret of ServiceNow.

                              " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

                              The description of the connectorV2.

                              " + }, + "Provider":{ + "shape":"ProviderUpdateConfiguration", + "documentation":"

                              The third-party provider’s service configuration.

                              " + } + } + }, + "UpdateConnectorV2Response":{ + "type":"structure", + "members":{} + }, "UpdateFindingAggregatorRequest":{ "type":"structure", "required":[ @@ -21852,8 +24397,7 @@ }, "UpdateFindingsResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateInsightRequest":{ "type":"structure", @@ -21881,8 +24425,7 @@ }, "UpdateInsightResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateOrganizationConfigurationRequest":{ "type":"structure", @@ -21901,8 +24444,7 @@ }, "UpdateOrganizationConfigurationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateSecurityControlRequest":{ "type":"structure", @@ -21927,8 +24469,7 @@ }, "UpdateSecurityControlResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateSecurityHubConfigurationRequest":{ "type":"structure", @@ -21945,8 +24486,7 @@ }, "UpdateSecurityHubConfigurationResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateStandardsControlRequest":{ "type":"structure", @@ -21970,8 +24510,7 @@ }, "UpdateStandardsControlResponse":{ "type":"structure", - "members":{ - } + "members":{} }, "UpdateStatus":{ "type":"string", @@ -21994,6 +24533,16 @@ }, "documentation":"

                              Provides Amazon Web Services account information of the user involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you must have GuardDuty enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.

                              " }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

                              The request has failed validation because it's missing required fields or has invalid inputs.

                              ", + "error":{"httpStatusCode":400}, + "exception":true + }, "VerificationState":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json b/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json index a3fabadccb8..a91e98c4af3 100644 --- a/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json +++ b/tools/code-generation/api-descriptions/sts-2011-06-15.normal.json @@ -53,7 +53,9 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

                              Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

                              The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

                              Session Duration

                              By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

                              Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

                              Permissions

                              The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

                              (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

                              Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

                              Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

                              Tags

                              (Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

                              You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

                              An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

                              You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

                              An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

                              You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

                              SAML Configuration

                              Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

                              For more information, see the following resources:

                              " + "documentation":"

                              Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

                              The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

                              Session Duration

                              By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

                              Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

                              Permissions

                              The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

                              (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

                              Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

                              Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

                              Tags

                              (Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

                              You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

                              An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

                              You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

                              An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

                              You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

                              SAML Configuration

                              Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

                              For more information, see the following resources:

                              ", + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "AssumeRoleWithWebIdentity":{ "name":"AssumeRoleWithWebIdentity", @@ -75,7 +77,9 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

                              Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include the OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible identity provider such as Google or Amazon Cognito federated identities.

                              For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

                              To learn more about Amazon Cognito, see Amazon Cognito identity pools in Amazon Cognito Developer Guide.

                              Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

                              The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

                              Session Duration

                              By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see Update the maximum session duration for a role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

                              Permissions

                              The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

                              (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

                              Tags

                              (Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

                              You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

                              An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

                              You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

                              An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

                              You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

                              Identities

                              Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

                              Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

                              For more information about how to use OIDC federation and the AssumeRoleWithWebIdentity API, see the following resources:

                              " + "documentation":"

                              Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include the OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible identity provider such as Google or Amazon Cognito federated identities.

                              For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

                              To learn more about Amazon Cognito, see Amazon Cognito identity pools in Amazon Cognito Developer Guide.

                              Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Compare STS credentials in the IAM User Guide.

                              The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

                              Session Duration

                              By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see Update the maximum session duration for a role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

                              Permissions

                              The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

                              (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

                              Tags

                              (Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

                              You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

                              An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

                              You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

                              An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

                              You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

                              Identities

                              Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

                              Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

                              For more information about how to use OIDC federation and the AssumeRoleWithWebIdentity API, see the following resources:

                              ", + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "AssumeRoot":{ "name":"AssumeRoot", @@ -552,8 +556,7 @@ }, "GetCallerIdentityRequest":{ "type":"structure", - "members":{ - } + "members":{} }, "GetCallerIdentityResponse":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json b/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json index 701ed3b506a..cfe9f24360a 100644 --- a/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json +++ b/tools/code-generation/api-descriptions/wafv2-2019-07-29.normal.json @@ -1031,7 +1031,7 @@ "documentation":"

                              Allow the use of regular expressions in the registration page path and the account creation path.

                              " } }, - "documentation":"

                              Details for your use of the account creation fraud prevention managed rule group, AWSManagedRulesACFPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              " + "documentation":"

                              Details for your use of the account creation fraud prevention managed rule group, AWSManagedRulesACFPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              For additional information about this and the other intelligent threat mitigation rule groups, see Intelligent threat mitigation in WAF and Amazon Web Services Managed Rules rule groups list in the WAF Developer Guide.

                              " }, "AWSManagedRulesATPRuleSet":{ "type":"structure", @@ -1054,7 +1054,22 @@ "documentation":"

                              Allow the use of regular expressions in the login page path.

                              " } }, - "documentation":"

                              Details for your use of the account takeover prevention managed rule group, AWSManagedRulesATPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              " + "documentation":"

                              Details for your use of the account takeover prevention managed rule group, AWSManagedRulesATPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              For additional information about this and the other intelligent threat mitigation rule groups, see Intelligent threat mitigation in WAF and Amazon Web Services Managed Rules rule groups list in the WAF Developer Guide.

                              " + }, + "AWSManagedRulesAntiDDoSRuleSet":{ + "type":"structure", + "required":["ClientSideActionConfig"], + "members":{ + "ClientSideActionConfig":{ + "shape":"ClientSideActionConfig", + "documentation":"

                              Configures the request handling that's applied by the managed rule group rules ChallengeAllDuringEvent and ChallengeDDoSRequests during a distributed denial of service (DDoS) attack.

                              " + }, + "SensitivityToBlock":{ + "shape":"SensitivityToAct", + "documentation":"

                              The sensitivity that the rule group rule DDoSRequests uses when matching against the DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the DDoSRequests rule runs.

                              The higher the sensitivity, the more levels of labeling that the rule matches:

                              • Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request.

                              • Medium sensitivity causes the rule to match on the medium and high suspicion labels.

                              • High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.

                              Default: LOW

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

                              Configures the use of the anti-DDoS managed rule group, AWSManagedRulesAntiDDoSRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              The configuration that you provide here determines whether and how the rules in the rule group are used.

                              For additional information about this and the other intelligent threat mitigation rule groups, see Intelligent threat mitigation in WAF and Amazon Web Services Managed Rules rule groups list in the WAF Developer Guide.

                              " }, "AWSManagedRulesBotControlRuleSet":{ "type":"structure", @@ -1069,7 +1084,7 @@ "documentation":"

                              Applies only to the targeted inspection level.

                              Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules TGT_ML_CoordinatedActivityLow and TGT_ML_CoordinatedActivityMedium, which inspect for anomalous behavior that might indicate distributed, coordinated bot activity.

                              For more information about this choice, see the listing for these rules in the table at Bot Control rules listing in the WAF Developer Guide.

                              Default: TRUE

                              " } }, - "documentation":"

                              Details for your use of the Bot Control managed rule group, AWSManagedRulesBotControlRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              " + "documentation":"

                              Details for your use of the Bot Control managed rule group, AWSManagedRulesBotControlRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              For additional information about this and the other intelligent threat mitigation rule groups, see Intelligent threat mitigation in WAF and Amazon Web Services Managed Rules rule groups list in the WAF Developer Guide.

                              " }, "Action":{"type":"string"}, "ActionCondition":{ @@ -1140,6 +1155,36 @@ }, "documentation":"

                              A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

                              " }, + "ApplicationAttribute":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

                              Specifies the attribute name.

                              " + }, + "Values":{ + "shape":"AttributeValues", + "documentation":"

                              Specifies the attribute value.

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

                              Application details defined during the web ACL creation process. Application attributes help WAF give recommendations for protection packs.

                              " + }, + "ApplicationAttributes":{ + "type":"list", + "member":{"shape":"ApplicationAttribute"}, + "max":10, + "min":1 + }, + "ApplicationConfig":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"ApplicationAttributes", + "documentation":"

                              Contains the attribute name and a list of values for that attribute.

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

                              A list of ApplicationAttributes that contains information about the application.

                              " + }, "AsnList":{ "type":"list", "member":{"shape":"ASN"}, @@ -1202,6 +1247,23 @@ }, "documentation":"

                              Specifies custom configurations for the associations between the web ACL and protected resources.

                              Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

                              You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

                              For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

                              " }, + "AttributeName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w\\-]+$" + }, + "AttributeValue":{ + "type":"string", + "max":64, + "min":1 + }, + "AttributeValues":{ + "type":"list", + "member":{"shape":"AttributeValue"}, + "max":10, + "min":1 + }, "BlockAction":{ "type":"structure", "members":{ @@ -1365,6 +1427,36 @@ } } }, + "ClientSideAction":{ + "type":"structure", + "required":["UsageOfAction"], + "members":{ + "UsageOfAction":{ + "shape":"UsageOfAction", + "documentation":"

                              Determines whether to use the AWSManagedRulesAntiDDoSRuleSet rules ChallengeAllDuringEvent and ChallengeDDoSRequests in the rule group evaluation and the related label awswaf:managed:aws:anti-ddos:challengeable-request.

                              • If usage is enabled:

                                • The managed rule group adds the label awswaf:managed:aws:anti-ddos:challengeable-request to any web request whose URL does NOT match the regular expressions provided in the ClientSideAction setting ExemptUriRegularExpressions.

                                • The two rules are evaluated against web requests for protected resources that are experiencing a DDoS attack. The two rules only apply their action to matching requests that have the label awswaf:managed:aws:anti-ddos:challengeable-request.

                              • If usage is disabled:

                                • The managed rule group doesn't add the label awswaf:managed:aws:anti-ddos:challengeable-request to any web requests.

                                • The two rules are not evaluated.

                                • None of the other ClientSideAction settings have any effect.

                              This setting only enables or disables the use of the two anti-DDOS rules ChallengeAllDuringEvent and ChallengeDDoSRequests in the anti-DDoS managed rule group.

                              This setting doesn't alter the action setting in the two rules. To override the actions used by the rules ChallengeAllDuringEvent and ChallengeDDoSRequests, enable this setting, and then override the rule actions in the usual way, in your managed rule group configuration.

                              " + }, + "Sensitivity":{ + "shape":"SensitivityToAct", + "documentation":"

                              The sensitivity that the rule group rule ChallengeDDoSRequests uses when matching against the DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the ChallengeDDoSRequests rule runs.

                              The higher the sensitivity, the more levels of labeling that the rule matches:

                              • Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request.

                              • Medium sensitivity causes the rule to match on the medium and high suspicion labels.

                              • High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.

                              Default: HIGH

                              " + }, + "ExemptUriRegularExpressions":{ + "shape":"RegularExpressionList", + "documentation":"

                              The regular expression to match against the web request URI, used to identify requests that can't handle a silent browser challenge. When the ClientSideAction setting UsageOfAction is enabled, the managed rule group uses this setting to determine which requests to label with awswaf:managed:aws:anti-ddos:challengeable-request. If UsageOfAction is disabled, this setting has no effect and the managed rule group doesn't add the label to any requests.

                              The anti-DDoS managed rule group doesn't evaluate the rules ChallengeDDoSRequests or ChallengeAllDuringEvent for web requests whose URIs match this regex. This is true regardless of whether you override the rule action for either of the rules in your web ACL configuration.

                              Amazon Web Services recommends using a regular expression.

                              This setting is required if UsageOfAction is set to ENABLED. If required, you can provide between 1 and 5 regex objects in the array of settings.

                              Amazon Web Services recommends starting with the following setting. Review and update it for your application's needs:

                              \\/api\\/|\\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$

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

                              This is part of the AWSManagedRulesAntiDDoSRuleSet ClientSideActionConfig configuration in ManagedRuleGroupConfig.

                              " + }, + "ClientSideActionConfig":{ + "type":"structure", + "required":["Challenge"], + "members":{ + "Challenge":{ + "shape":"ClientSideAction", + "documentation":"

                              Configuration for the use of the AWSManagedRulesAntiDDoSRuleSet rules ChallengeAllDuringEvent and ChallengeDDoSRequests.

                              This setting isn't related to the configuration of the Challenge action itself. It only configures the use of the two anti-DDoS rules named here.

                              You can enable or disable the use of these rules, and you can configure how to use them when they are enabled.

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

                              This is part of the configuration for the managed rules AWSManagedRulesAntiDDoSRuleSet in ManagedRuleGroupConfig.

                              " + }, "ComparisonOperator":{ "type":"string", "enum":[ @@ -1938,6 +2030,14 @@ "AssociationConfig":{ "shape":"AssociationConfig", "documentation":"

                              Specifies custom configurations for the associations between the web ACL and protected resources.

                              Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

                              You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

                              For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

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

                              Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, ACTIVE_UNDER_DDOS. If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.

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

                              Configures the ability for the WAF console to store and retrieve application attributes during the web ACL creation process. Application attributes help WAF give recommendations for protection packs.

                              " } } }, @@ -4074,6 +4174,13 @@ "min":1, "pattern":".*\\S.*" }, + "LowReputationMode":{ + "type":"string", + "enum":[ + "ACTIVE_UNDER_DDOS", + "ALWAYS_ON" + ] + }, "ManagedProductDescriptor":{ "type":"structure", "members":{ @@ -4158,9 +4265,13 @@ "AWSManagedRulesACFPRuleSet":{ "shape":"AWSManagedRulesACFPRuleSet", "documentation":"

                              Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, AWSManagedRulesACFPRuleSet. Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to account creation requests.

                              For information about using the ACFP managed rule group, see WAF Fraud Control account creation fraud prevention (ACFP) rule group and WAF Fraud Control account creation fraud prevention (ACFP) in the WAF Developer Guide.

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

                              Additional configuration for using the anti-DDoS managed rule group, AWSManagedRulesAntiDDoSRuleSet. Use this to configure anti-DDoS behavior for the rule group.

                              For information about using the anti-DDoS managed rule group, see WAF Anti-DDoS rule group and Distributed Denial of Service (DDoS) prevention in the WAF Developer Guide.

                              " } }, - "documentation":"

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              • Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                              • Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                              • Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

                              For example specifications, see the examples section of CreateWebACL.

                              " + "documentation":"

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              • Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                              • Use the AWSManagedRulesAntiDDoSRuleSet configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge.

                              • Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                              • Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

                              For example specifications, see the examples section of CreateWebACL.

                              " }, "ManagedRuleGroupConfigs":{ "type":"list", @@ -4195,11 +4306,11 @@ }, "ManagedRuleGroupConfigs":{ "shape":"ManagedRuleGroupConfigs", - "documentation":"

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              • Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                              • Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                              • Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

                              " + "documentation":"

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              • Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                              • Use the AWSManagedRulesAntiDDoSRuleSet configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge.

                              • Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                              • Use the AWSManagedRulesBotControlRuleSet configuration object to configure the protection level that you want the Bot Control rule group to use.

                              " }, "RuleActionOverrides":{ "shape":"RuleActionOverrides", - "documentation":"

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              Take care to verify the rule names in your overrides. If you provide a rule name that doesn't match the name of any rule in the rule group, WAF doesn't return an error and doesn't apply the override setting.

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " + "documentation":"

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              Verify the rule names in your overrides carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " } }, "documentation":"

                              A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

                              You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.

                              You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

                              " @@ -4414,6 +4525,17 @@ }, "documentation":"

                              A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

                              " }, + "OnSourceDDoSProtectionConfig":{ + "type":"structure", + "required":["ALBLowReputationMode"], + "members":{ + "ALBLowReputationMode":{ + "shape":"LowReputationMode", + "documentation":"

                              The level of DDoS protection that applies to web ACLs associated with Application Load Balancers. ACTIVE_UNDER_DDOS protection is enabled by default whenever a web ACL is associated with an Application Load Balancer. In the event that an Application Load Balancer experiences high-load conditions or suspected DDoS attacks, the ACTIVE_UNDER_DDOS protection automatically rate limits traffic from known low reputation sources without disrupting Application Load Balancer availability. ALWAYS_ON protection provides constant, always-on monitoring of known low reputation sources for suspected DDoS attacks. While this provides a higher level of protection, there may be potential impacts on legitimate traffic.

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

                              Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.

                              " + }, "OrStatement":{ "type":"structure", "required":["Statements"], @@ -4526,7 +4648,8 @@ "SCOPE_DOWN", "CUSTOM_KEYS", "ACP_RULE_SET_RESPONSE_INSPECTION", - "DATA_PROTECTION_CONFIG" + "DATA_PROTECTION_CONFIG", + "LOW_REPUTATION_MODE" ] }, "ParameterExceptionParameter":{ @@ -4969,7 +5092,7 @@ "documentation":"

                              The string representing the regular expression.

                              " } }, - "documentation":"

                              A single regular expression. This is used in a RegexPatternSet.

                              " + "documentation":"

                              A single regular expression. This is used in a RegexPatternSet and also in the configuration for the Amazon Web Services Managed Rules rule group AWSManagedRulesAntiDDoSRuleSet.

                              " }, "RegexMatchStatement":{ "type":"structure", @@ -5546,7 +5669,7 @@ }, "RuleActionOverrides":{ "shape":"RuleActionOverrides", - "documentation":"

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              Take care to verify the rule names in your overrides. If you provide a rule name that doesn't match the name of any rule in the rule group, WAF doesn't return an error and doesn't apply the override setting.

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " + "documentation":"

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              Verify the rule names in your overrides carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " } }, "documentation":"

                              A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

                              You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You cannot use a rule group reference statement inside another rule group. You can only reference a rule group as a top-level statement within a rule that you define in a web ACL.

                              " @@ -5684,6 +5807,14 @@ "HIGH" ] }, + "SensitivityToAct":{ + "type":"string", + "enum":[ + "LOW", + "MEDIUM", + "HIGH" + ] + }, "SingleCookieName":{ "type":"string", "max":60, @@ -6315,6 +6446,10 @@ "AssociationConfig":{ "shape":"AssociationConfig", "documentation":"

                              Specifies custom configurations for the associations between the web ACL and protected resources.

                              Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

                              You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

                              For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

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

                              Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, ACTIVE_UNDER_DDOS. If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.

                              " } } }, @@ -6342,6 +6477,13 @@ "members":{}, "documentation":"

                              Inspect the path component of the URI of the web request. This is the part of the web request that identifies a resource. For example, /images/daily-ad.jpg.

                              This is used in the FieldToMatch specification for some web request component types.

                              JSON specification: \"UriPath\": {}

                              " }, + "UsageOfAction":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "UsernameField":{ "type":"structure", "required":["Identifier"], @@ -6662,6 +6804,14 @@ "RetrofittedByFirewallManager":{ "shape":"Boolean", "documentation":"

                              Indicates whether this web ACL was created by a customer account and then retrofitted by Firewall Manager. If true, then the web ACL is currently being managed by a Firewall Manager WAF policy, and only Firewall Manager can manage any Firewall Manager rule groups in the web ACL. See also the properties ManagedByFirewallManager, PreProcessFirewallManagerRuleGroups, and PostProcessFirewallManagerRuleGroups.

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

                              Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.

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

                              Returns a list of ApplicationAttributes.

                              " } }, "documentation":"

                              A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resource types include Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AppSync GraphQL API, Amazon Cognito user pool, App Runner service, Amplify application, and Amazon Web Services Verified Access instance.

                              " diff --git a/tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json b/tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json new file mode 100644 index 00000000000..0b6c36125e5 --- /dev/null +++ b/tools/code-generation/api-descriptions/workspaces-instances-2022-07-26.normal.json @@ -0,0 +1,1945 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-07-26", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"workspaces-instances", + "jsonVersion":"1.0", + "protocol":"json", + "protocols":["json"], + "serviceFullName":"Amazon Workspaces Instances", + "serviceId":"Workspaces Instances", + "signatureVersion":"v4", + "signingName":"workspaces-instances", + "targetPrefix":"EUCMIFrontendAPIService", + "uid":"workspaces-instances-2022-07-26" + }, + "operations":{ + "AssociateVolume":{ + "name":"AssociateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateVolumeRequest"}, + "output":{"shape":"AssociateVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Attaches a volume to a WorkSpace Instance.

                              " + }, + "CreateVolume":{ + "name":"CreateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVolumeRequest"}, + "output":{"shape":"CreateVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Creates a new volume for WorkSpace Instances.

                              ", + "idempotent":true + }, + "CreateWorkspaceInstance":{ + "name":"CreateWorkspaceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkspaceInstanceRequest"}, + "output":{"shape":"CreateWorkspaceInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Launches a new WorkSpace Instance with specified configuration parameters, enabling programmatic workspace deployment.

                              ", + "idempotent":true + }, + "DeleteVolume":{ + "name":"DeleteVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVolumeRequest"}, + "output":{"shape":"DeleteVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Deletes a specified volume.

                              " + }, + "DeleteWorkspaceInstance":{ + "name":"DeleteWorkspaceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkspaceInstanceRequest"}, + "output":{"shape":"DeleteWorkspaceInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Deletes the specified WorkSpace

                              " + }, + "DisassociateVolume":{ + "name":"DisassociateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateVolumeRequest"}, + "output":{"shape":"DisassociateVolumeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

                              Detaches a volume from a WorkSpace Instance.

                              " + }, + "GetWorkspaceInstance":{ + "name":"GetWorkspaceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkspaceInstanceRequest"}, + "output":{"shape":"GetWorkspaceInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves detailed information about a specific WorkSpace Instance.

                              " + }, + "ListInstanceTypes":{ + "name":"ListInstanceTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstanceTypesRequest"}, + "output":{"shape":"ListInstanceTypesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves a list of instance types supported by Amazon WorkSpaces Instances, enabling precise workspace infrastructure configuration.

                              " + }, + "ListRegions":{ + "name":"ListRegions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegionsRequest"}, + "output":{"shape":"ListRegionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves a list of AWS regions supported by Amazon WorkSpaces Instances, enabling region discovery for workspace deployments.

                              " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves tags for a WorkSpace Instance.

                              " + }, + "ListWorkspaceInstances":{ + "name":"ListWorkspaceInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkspaceInstancesRequest"}, + "output":{"shape":"ListWorkspaceInstancesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Retrieves a collection of WorkSpaces Instances based on specified filters.

                              " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Adds tags to a WorkSpace Instance.

                              " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

                              Removes tags from a WorkSpace Instance.

                              " + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:.*" + }, + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Detailed explanation of the access denial.

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

                              Indicates insufficient permissions to perform the requested action.

                              ", + "exception":true + }, + "AmdSevSnpEnum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "AssociateVolumeRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "VolumeId", + "Device" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              WorkSpace Instance to attach volume to.

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

                              Volume to be attached.

                              " + }, + "Device":{ + "shape":"DeviceName", + "documentation":"

                              Device path for volume attachment.

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

                              Specifies volume attachment parameters.

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

                              Confirms volume attachment.

                              " + }, + "AutoRecoveryEnum":{ + "type":"string", + "enum":[ + "disabled", + "default" + ] + }, + "AvailabilityZone":{ + "type":"string", + "pattern":"[a-z]{2}-[a-z]+-\\d[a-z](-[a-z0-9]+)?" + }, + "BandwidthWeightingEnum":{ + "type":"string", + "enum":[ + "default", + "vpc-1", + "ebs-1" + ] + }, + "BlockDeviceMappingRequest":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"DeviceName", + "documentation":"

                              Name of the device for storage mapping.

                              " + }, + "Ebs":{ + "shape":"EbsBlockDevice", + "documentation":"

                              EBS volume configuration for the device.

                              " + }, + "NoDevice":{ + "shape":"DeviceName", + "documentation":"

                              Indicates device should not be mapped.

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

                              Virtual device name for ephemeral storage.

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

                              Defines device mapping for WorkSpace Instance storage.

                              " + }, + "BlockDeviceMappings":{ + "type":"list", + "member":{"shape":"BlockDeviceMappingRequest"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CapacityReservationPreferenceEnum":{ + "type":"string", + "enum":[ + "capacity-reservations-only", + "open", + "none" + ] + }, + "CapacityReservationSpecification":{ + "type":"structure", + "members":{ + "CapacityReservationPreference":{ + "shape":"CapacityReservationPreferenceEnum", + "documentation":"

                              Preference for using capacity reservation.

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

                              Specific capacity reservation target.

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

                              Specifies capacity reservation preferences.

                              " + }, + "CapacityReservationTarget":{ + "type":"structure", + "members":{ + "CapacityReservationId":{ + "shape":"String128", + "documentation":"

                              Unique identifier for the capacity reservation.

                              " + }, + "CapacityReservationResourceGroupArn":{ + "shape":"ARN", + "documentation":"

                              ARN of the capacity reservation resource group.

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

                              Identifies a specific capacity reservation.

                              " + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":1, + "sensitive":true + }, + "ConflictException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Description of the conflict encountered.

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

                              Identifier of the conflicting resource.

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

                              Type of the conflicting resource.

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

                              Signals a conflict with the current state of the resource.

                              ", + "exception":true + }, + "ConnectionTrackingSpecificationRequest":{ + "type":"structure", + "members":{ + "TcpEstablishedTimeout":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Timeout for established TCP connections.

                              " + }, + "UdpStreamTimeout":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Timeout for UDP stream connections.

                              " + }, + "UdpTimeout":{ + "shape":"NonNegativeInteger", + "documentation":"

                              General timeout for UDP connections.

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

                              Defines connection tracking parameters for network interfaces.

                              " + }, + "CpuCreditsEnum":{ + "type":"string", + "enum":[ + "standard", + "unlimited" + ] + }, + "CpuOptionsRequest":{ + "type":"structure", + "members":{ + "AmdSevSnp":{ + "shape":"AmdSevSnpEnum", + "documentation":"

                              AMD Secure Encrypted Virtualization configuration.

                              " + }, + "CoreCount":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Number of CPU cores to allocate.

                              " + }, + "ThreadsPerCore":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Number of threads per CPU core.

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

                              Configures CPU-specific settings for WorkSpace Instance.

                              " + }, + "CreateVolumeRequest":{ + "type":"structure", + "required":["AvailabilityZone"], + "members":{ + "AvailabilityZone":{ + "shape":"String64", + "documentation":"

                              Availability zone for the volume.

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

                              Unique token to prevent duplicate volume creation.

                              ", + "idempotencyToken":true + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

                              Indicates if the volume should be encrypted.

                              " + }, + "Iops":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Input/output operations per second for the volume.

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

                              KMS key for volume encryption.

                              " + }, + "SizeInGB":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Volume size in gigabytes.

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

                              Source snapshot for volume creation.

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

                              Metadata tags for the volume.

                              " + }, + "Throughput":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Volume throughput performance.

                              " + }, + "VolumeType":{ + "shape":"VolumeTypeEnum", + "documentation":"

                              Type of EBS volume.

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

                              Specifies volume creation parameters.

                              " + }, + "CreateVolumeResponse":{ + "type":"structure", + "members":{ + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

                              Unique identifier for the new volume.

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

                              Returns the created volume identifier.

                              " + }, + "CreateWorkspaceInstanceRequest":{ + "type":"structure", + "required":["ManagedInstance"], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

                              Unique token to ensure idempotent instance creation, preventing duplicate workspace launches.

                              ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

                              Optional metadata tags for categorizing and managing WorkSpaces Instances.

                              " + }, + "ManagedInstance":{ + "shape":"ManagedInstanceRequest", + "documentation":"

                              Comprehensive configuration settings for the WorkSpaces Instance, including network, compute, and storage parameters.

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

                              Defines the configuration parameters for creating a new WorkSpaces Instance.

                              " + }, + "CreateWorkspaceInstanceResponse":{ + "type":"structure", + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              Unique identifier assigned to the newly created WorkSpaces Instance.

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

                              Returns the unique identifier for the newly created WorkSpaces Instance.

                              " + }, + "CreditSpecificationRequest":{ + "type":"structure", + "members":{ + "CpuCredits":{ + "shape":"CpuCreditsEnum", + "documentation":"

                              CPU credit specification mode.

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

                              Defines CPU credit configuration for burstable instances.

                              " + }, + "DeleteVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

                              Identifier of the volume to delete.

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

                              Specifies the volume to delete.

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

                              Confirms volume deletion.

                              " + }, + "DeleteWorkspaceInstanceRequest":{ + "type":"structure", + "required":["WorkspaceInstanceId"], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              Unique identifier of the WorkSpaces Instance targeted for deletion.

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

                              The WorkSpace to delete

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

                              Confirms the successful deletion of the specified WorkSpace Instance.

                              " + }, + "Description":{ + "type":"string", + "max":1000, + "min":0, + "pattern":"[\\S\\s]*" + }, + "DeviceName":{ + "type":"string", + "max":32, + "min":0 + }, + "DisassociateModeEnum":{ + "type":"string", + "enum":[ + "FORCE", + "NO_FORCE" + ] + }, + "DisassociateVolumeRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "VolumeId" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              WorkSpace Instance to detach volume from.

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

                              Volume to be detached.

                              " + }, + "Device":{ + "shape":"DeviceName", + "documentation":"

                              Device path of volume to detach.

                              " + }, + "DisassociateMode":{ + "shape":"DisassociateModeEnum", + "documentation":"

                              Mode for volume detachment.

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

                              Specifies volume detachment parameters.

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

                              Confirms volume detachment.

                              " + }, + "EC2InstanceError":{ + "type":"structure", + "members":{ + "EC2ErrorCode":{ + "shape":"String", + "documentation":"

                              Unique error code identifying the specific EC2 instance error.

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

                              Type of exception encountered during EC2 instance operation.

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

                              Detailed description of the EC2 instance error.

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

                              Captures detailed error information for EC2 instance operations.

                              " + }, + "EC2InstanceErrors":{ + "type":"list", + "member":{"shape":"EC2InstanceError"} + }, + "EC2ManagedInstance":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

                              Unique identifier of the managed EC2 instance.

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

                              Represents an EC2 instance managed by WorkSpaces.

                              " + }, + "EbsBlockDevice":{ + "type":"structure", + "members":{ + "VolumeType":{ + "shape":"VolumeTypeEnum", + "documentation":"

                              Type of EBS volume (e.g., gp2, io1).

                              " + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

                              Indicates if the volume is encrypted.

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

                              KMS key used for volume encryption.

                              " + }, + "Iops":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Input/output operations per second for the volume.

                              " + }, + "Throughput":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Volume data transfer rate.

                              " + }, + "VolumeSize":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Size of the EBS volume in gigabytes.

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

                              Defines configuration for an Elastic Block Store volume.

                              " + }, + "EnaSrdSpecificationRequest":{ + "type":"structure", + "members":{ + "EnaSrdEnabled":{ + "shape":"Boolean", + "documentation":"

                              Enables or disables ENA SRD for network performance.

                              " + }, + "EnaSrdUdpSpecification":{ + "shape":"EnaSrdUdpSpecificationRequest", + "documentation":"

                              Configures UDP-specific ENA SRD settings.

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

                              Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) configuration.

                              " + }, + "EnaSrdUdpSpecificationRequest":{ + "type":"structure", + "members":{ + "EnaSrdUdpEnabled":{ + "shape":"Boolean", + "documentation":"

                              Enables or disables ENA SRD for UDP traffic.

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

                              Specifies UDP configuration for ENA SRD.

                              " + }, + "EnclaveOptionsRequest":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

                              Enables or disables AWS Nitro Enclaves for enhanced security.

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

                              Configures AWS Nitro Enclave options for the WorkSpace Instance.

                              " + }, + "GetWorkspaceInstanceRequest":{ + "type":"structure", + "required":["WorkspaceInstanceId"], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              Unique identifier of the WorkSpace Instance to retrieve.

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

                              Identifies the WorkSpaces Instance to retrieve detailed information for.

                              " + }, + "GetWorkspaceInstanceResponse":{ + "type":"structure", + "members":{ + "WorkspaceInstanceErrors":{ + "shape":"WorkspaceInstanceErrors", + "documentation":"

                              Captures any errors specific to the WorkSpace Instance lifecycle.

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

                              Includes any underlying EC2 instance errors encountered.

                              " + }, + "ProvisionState":{ + "shape":"ProvisionStateEnum", + "documentation":"

                              Current provisioning state of the WorkSpaces Instance.

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

                              Unique identifier of the retrieved WorkSpaces Instance.

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

                              Details of the associated EC2 managed instance.

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

                              Provides comprehensive details about the requested WorkSpaces Instance.

                              " + }, + "HibernationOptionsRequest":{ + "type":"structure", + "members":{ + "Configured":{ + "shape":"Boolean", + "documentation":"

                              Enables or disables instance hibernation capability.

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

                              Defines hibernation configuration for the WorkSpace Instance.

                              " + }, + "HostId":{ + "type":"string", + "pattern":"h-[0-9a-zA-Z]{1,63}" + }, + "HostnameTypeEnum":{ + "type":"string", + "enum":[ + "ip-name", + "resource-name" + ] + }, + "HttpEndpointEnum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "HttpProtocolIpv6Enum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "HttpPutResponseHopLimit":{ + "type":"integer", + "box":true, + "max":64, + "min":1 + }, + "HttpTokensEnum":{ + "type":"string", + "enum":[ + "optional", + "required" + ] + }, + "IamInstanceProfileSpecification":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"ARN", + "documentation":"

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

                              " + }, + "Name":{ + "shape":"String64", + "documentation":"

                              Name of the IAM instance profile.

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

                              Defines IAM instance profile configuration for WorkSpace Instance.

                              " + }, + "ImageId":{ + "type":"string", + "pattern":"ami-[0-9a-zA-Z]{1,63}" + }, + "InstanceInterruptionBehaviorEnum":{ + "type":"string", + "enum":[ + "hibernate", + "stop" + ] + }, + "InstanceIpv6Address":{ + "type":"structure", + "members":{ + "Ipv6Address":{ + "shape":"Ipv6Address", + "documentation":"

                              Specific IPv6 address assigned to the instance.

                              " + }, + "IsPrimaryIpv6":{ + "shape":"Boolean", + "documentation":"

                              Indicates if this is the primary IPv6 address for the instance.

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

                              Represents an IPv6 address configuration for a WorkSpace Instance.

                              " + }, + "InstanceMaintenanceOptionsRequest":{ + "type":"structure", + "members":{ + "AutoRecovery":{ + "shape":"AutoRecoveryEnum", + "documentation":"

                              Enables or disables automatic instance recovery.

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

                              Configures automatic maintenance settings for WorkSpace Instance.

                              " + }, + "InstanceMarketOptionsRequest":{ + "type":"structure", + "members":{ + "MarketType":{ + "shape":"MarketTypeEnum", + "documentation":"

                              Specifies the type of marketplace for instance deployment.

                              " + }, + "SpotOptions":{ + "shape":"SpotMarketOptions", + "documentation":"

                              Configuration options for spot instance deployment.

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

                              Configures marketplace-specific instance deployment options.

                              " + }, + "InstanceMetadataOptionsRequest":{ + "type":"structure", + "members":{ + "HttpEndpoint":{ + "shape":"HttpEndpointEnum", + "documentation":"

                              Enables or disables HTTP endpoint for instance metadata.

                              " + }, + "HttpProtocolIpv6":{ + "shape":"HttpProtocolIpv6Enum", + "documentation":"

                              Configures IPv6 support for instance metadata HTTP protocol.

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

                              Sets maximum number of network hops for metadata PUT responses.

                              " + }, + "HttpTokens":{ + "shape":"HttpTokensEnum", + "documentation":"

                              Configures token requirement for instance metadata retrieval.

                              " + }, + "InstanceMetadataTags":{ + "shape":"InstanceMetadataTagsEnum", + "documentation":"

                              Enables or disables instance metadata tags retrieval.

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

                              Defines instance metadata service configuration.

                              " + }, + "InstanceMetadataTagsEnum":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "InstanceNetworkInterfaceSpecification":{ + "type":"structure", + "members":{ + "AssociateCarrierIpAddress":{ + "shape":"Boolean", + "documentation":"

                              Enables carrier IP address association.

                              " + }, + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

                              Enables public IP address assignment.

                              " + }, + "ConnectionTrackingSpecification":{ + "shape":"ConnectionTrackingSpecificationRequest", + "documentation":"

                              Configures network connection tracking parameters.

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

                              Descriptive text for the network interface.

                              " + }, + "DeviceIndex":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Unique index for the network interface.

                              " + }, + "EnaSrdSpecification":{ + "shape":"EnaSrdSpecificationRequest", + "documentation":"

                              Configures Elastic Network Adapter Scalable Reliable Datagram settings.

                              " + }, + "InterfaceType":{ + "shape":"InterfaceTypeEnum", + "documentation":"

                              Specifies the type of network interface.

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

                              IPv4 prefix configurations for the interface.

                              " + }, + "Ipv4PrefixCount":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Number of IPv4 prefixes to assign.

                              " + }, + "Ipv6AddressCount":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Number of IPv6 addresses to assign.

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

                              Specific IPv6 addresses for the interface.

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

                              IPv6 prefix configurations for the interface.

                              " + }, + "Ipv6PrefixCount":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Number of IPv6 prefixes to assign.

                              " + }, + "NetworkCardIndex":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Index of the network card for multiple network interfaces.

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

                              Unique identifier for the network interface.

                              " + }, + "PrimaryIpv6":{ + "shape":"Boolean", + "documentation":"

                              Indicates the primary IPv6 configuration.

                              " + }, + "PrivateIpAddress":{ + "shape":"Ipv4Address", + "documentation":"

                              Primary private IP address for the interface.

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

                              List of private IP addresses for the interface.

                              " + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Number of additional private IP addresses to assign.

                              " + }, + "Groups":{ + "shape":"SecurityGroupIds", + "documentation":"

                              Security groups associated with the network interface.

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

                              Subnet identifier for the network interface.

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

                              Defines network interface configuration for WorkSpace Instance.

                              " + }, + "InstanceNetworkPerformanceOptionsRequest":{ + "type":"structure", + "members":{ + "BandwidthWeighting":{ + "shape":"BandwidthWeightingEnum", + "documentation":"

                              Defines bandwidth allocation strategy for network interfaces.

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

                              Configures network performance settings for WorkSpace Instance.

                              " + }, + "InstanceType":{ + "type":"string", + "pattern":"([a-z0-9-]+)\\.([a-z0-9]+)" + }, + "InstanceTypeInfo":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

                              Unique identifier for the WorkSpace Instance type.

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

                              Provides details about a specific WorkSpace Instance type.

                              " + }, + "InstanceTypes":{ + "type":"list", + "member":{"shape":"InstanceTypeInfo"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InterfaceTypeEnum":{ + "type":"string", + "enum":[ + "interface", + "efa", + "efa-only" + ] + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Description of the internal server error.

                              " + }, + "RetryAfterSeconds":{ + "shape":"Integer", + "documentation":"

                              Recommended wait time before retrying the request.

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

                              Indicates an unexpected server-side error occurred.

                              ", + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "Ipv4Address":{ + "type":"string", + "pattern":"(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}", + "sensitive":true + }, + "Ipv4Prefix":{ + "type":"string", + "pattern":".*(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:/\\d{1,2})?.*" + }, + "Ipv4PrefixSpecificationRequest":{ + "type":"structure", + "members":{ + "Ipv4Prefix":{ + "shape":"Ipv4Prefix", + "documentation":"

                              Specific IPv4 prefix for network interface configuration.

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

                              Specifies IPv4 prefix configuration for network interfaces.

                              " + }, + "Ipv4Prefixes":{ + "type":"list", + "member":{"shape":"Ipv4PrefixSpecificationRequest"} + }, + "Ipv6Address":{ + "type":"string", + "max":128, + "min":0, + "sensitive":true + }, + "Ipv6Addresses":{ + "type":"list", + "member":{"shape":"InstanceIpv6Address"} + }, + "Ipv6Prefix":{ + "type":"string", + "pattern":"(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/([0-9]{1,2}|1[01][0-9]|12[0-8])" + }, + "Ipv6PrefixSpecificationRequest":{ + "type":"structure", + "members":{ + "Ipv6Prefix":{ + "shape":"Ipv6Prefix", + "documentation":"

                              Specific IPv6 prefix for network interface configuration.

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

                              Specifies IPv6 prefix configuration for network interfaces.

                              " + }, + "Ipv6Prefixes":{ + "type":"list", + "member":{"shape":"Ipv6PrefixSpecificationRequest"} + }, + "KmsKeyId":{ + "type":"string", + "max":128, + "min":0, + "sensitive":true + }, + "LicenseConfigurationRequest":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"ARN", + "documentation":"

                              ARN of the license configuration for the WorkSpace Instance.

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

                              Specifies license configuration for WorkSpace Instance.

                              " + }, + "LicenseSpecifications":{ + "type":"list", + "member":{"shape":"LicenseConfigurationRequest"} + }, + "ListInstanceTypesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              Maximum number of instance types to return in a single API call. Enables pagination of instance type results.

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

                              Pagination token for retrieving subsequent pages of instance type results.

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

                              Defines input parameters for retrieving supported WorkSpaces Instances instance types.

                              " + }, + "ListInstanceTypesResponse":{ + "type":"structure", + "required":["InstanceTypes"], + "members":{ + "InstanceTypes":{ + "shape":"InstanceTypes", + "documentation":"

                              Collection of supported instance types for WorkSpaces Instances.

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

                              Token for retrieving additional instance types if the result set is paginated.

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

                              Contains the list of instance types supported by WorkSpaces Instances.

                              " + }, + "ListRegionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

                              Maximum number of regions to return in a single API call. Enables pagination of region results.

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

                              Pagination token for retrieving subsequent pages of region results.

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

                              Defines input parameters for retrieving supported WorkSpaces Instances regions.

                              " + }, + "ListRegionsResponse":{ + "type":"structure", + "required":["Regions"], + "members":{ + "Regions":{ + "shape":"RegionList", + "documentation":"

                              Collection of AWS regions supported by WorkSpaces Instances.

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

                              Token for retrieving additional regions if the result set is paginated.

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

                              Contains the list of supported AWS regions for WorkSpaces Instances.

                              " + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["WorkspaceInstanceId"], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              Unique identifier of the WorkSpace Instance.

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

                              Specifies the WorkSpace Instance to retrieve tags for.

                              " + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

                              Collection of tags associated with the WorkSpace Instance.

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

                              Returns the list of tags for the specified WorkSpace Instance.

                              " + }, + "ListWorkspaceInstancesRequest":{ + "type":"structure", + "members":{ + "ProvisionStates":{ + "shape":"ProvisionStates", + "documentation":"

                              Filter WorkSpaces Instances by their current provisioning states.

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

                              Maximum number of WorkSpaces Instances to return in a single response.

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

                              Pagination token for retrieving subsequent pages of WorkSpaces Instances.

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

                              Defines filters and pagination parameters for retrieving WorkSpaces Instances.

                              " + }, + "ListWorkspaceInstancesResponse":{ + "type":"structure", + "required":["WorkspaceInstances"], + "members":{ + "WorkspaceInstances":{ + "shape":"WorkspaceInstances", + "documentation":"

                              Collection of WorkSpaces Instances returned by the query.

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

                              Token for retrieving additional WorkSpaces Instances if the result set is paginated.

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

                              Contains the list of WorkSpaces Instances matching the specified criteria.

                              " + }, + "ManagedInstanceRequest":{ + "type":"structure", + "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappings", + "documentation":"

                              Configures block device mappings for storage.

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

                              Specifies capacity reservation preferences.

                              " + }, + "CpuOptions":{ + "shape":"CpuOptionsRequest", + "documentation":"

                              Configures CPU-specific settings.

                              " + }, + "CreditSpecification":{ + "shape":"CreditSpecificationRequest", + "documentation":"

                              Defines CPU credit configuration for burstable instances.

                              " + }, + "DisableApiStop":{ + "shape":"Boolean", + "documentation":"

                              Prevents API-initiated instance stop.

                              " + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

                              Enables optimized EBS performance.

                              " + }, + "EnablePrimaryIpv6":{ + "shape":"Boolean", + "documentation":"

                              Enables primary IPv6 address configuration.

                              " + }, + "EnclaveOptions":{ + "shape":"EnclaveOptionsRequest", + "documentation":"

                              Configures AWS Nitro Enclave settings.

                              " + }, + "HibernationOptions":{ + "shape":"HibernationOptionsRequest", + "documentation":"

                              Configures instance hibernation capabilities.

                              " + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

                              Specifies IAM instance profile configuration.

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

                              Identifies the Amazon Machine Image (AMI) for the instance.

                              " + }, + "InstanceMarketOptions":{ + "shape":"InstanceMarketOptionsRequest", + "documentation":"

                              Configures marketplace-specific deployment options.

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

                              Specifies the WorkSpace Instance type.

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

                              Configures specific IPv6 addresses.

                              " + }, + "Ipv6AddressCount":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Specifies number of IPv6 addresses to assign.

                              " + }, + "KernelId":{ + "shape":"String128", + "documentation":"

                              Identifies the kernel for the instance.

                              " + }, + "KeyName":{ + "shape":"String64", + "documentation":"

                              Specifies the key pair for instance access.

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

                              Configures license-related settings.

                              " + }, + "MaintenanceOptions":{ + "shape":"InstanceMaintenanceOptionsRequest", + "documentation":"

                              Defines automatic maintenance settings.

                              " + }, + "MetadataOptions":{ + "shape":"InstanceMetadataOptionsRequest", + "documentation":"

                              Configures instance metadata service settings.

                              " + }, + "Monitoring":{ + "shape":"RunInstancesMonitoringEnabled", + "documentation":"

                              Enables or disables detailed instance monitoring.

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

                              Configures network interface settings.

                              " + }, + "NetworkPerformanceOptions":{ + "shape":"InstanceNetworkPerformanceOptionsRequest", + "documentation":"

                              Defines network performance configuration.

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

                              Specifies instance placement preferences.

                              " + }, + "PrivateDnsNameOptions":{ + "shape":"PrivateDnsNameOptionsRequest", + "documentation":"

                              Configures private DNS name settings.

                              " + }, + "PrivateIpAddress":{ + "shape":"Ipv4Address", + "documentation":"

                              Specifies the primary private IP address.

                              " + }, + "RamdiskId":{ + "shape":"String128", + "documentation":"

                              Identifies the ramdisk for the instance.

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

                              Specifies security group identifiers.

                              " + }, + "SecurityGroups":{ + "shape":"SecurityGroupNames", + "documentation":"

                              Configures security group settings.

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

                              Identifies the subnet for the instance.

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

                              Configures resource tagging specifications.

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

                              Provides custom initialization data for the instance.

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

                              Defines comprehensive configuration for a managed WorkSpace Instance.

                              " + }, + "MarketTypeEnum":{ + "type":"string", + "enum":[ + "spot", + "capacity-block" + ] + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "NetworkInterfaceId":{ + "type":"string", + "pattern":"eni-[0-9a-zA-Z]{1,63}" + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"InstanceNetworkInterfaceSpecification"} + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, + "NonNegativeInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "Placement":{ + "type":"structure", + "members":{ + "Affinity":{ + "shape":"String64", + "documentation":"

                              Specifies host affinity for dedicated instances.

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

                              Identifies the specific AWS availability zone.

                              " + }, + "GroupId":{ + "shape":"PlacementGroupId", + "documentation":"

                              Unique identifier for placement group.

                              " + }, + "GroupName":{ + "shape":"String64", + "documentation":"

                              Name of the placement group.

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

                              Identifies the specific dedicated host.

                              " + }, + "HostResourceGroupArn":{ + "shape":"ARN", + "documentation":"

                              ARN of the host resource group.

                              " + }, + "PartitionNumber":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Specifies partition number for partition placement groups.

                              " + }, + "Tenancy":{ + "shape":"TenancyEnum", + "documentation":"

                              Defines instance tenancy configuration.

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

                              Defines instance placement configuration for WorkSpace Instance.

                              " + }, + "PlacementGroupId":{ + "type":"string", + "pattern":"pg-[0-9a-zA-Z]{1,63}" + }, + "PrivateDnsNameOptionsRequest":{ + "type":"structure", + "members":{ + "HostnameType":{ + "shape":"HostnameTypeEnum", + "documentation":"

                              Specifies the type of hostname configuration.

                              " + }, + "EnableResourceNameDnsARecord":{ + "shape":"Boolean", + "documentation":"

                              Enables DNS A record for resource name resolution.

                              " + }, + "EnableResourceNameDnsAAAARecord":{ + "shape":"Boolean", + "documentation":"

                              Enables DNS AAAA record for resource name resolution.

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

                              Configures private DNS name settings for WorkSpace Instance.

                              " + }, + "PrivateIpAddressSpecification":{ + "type":"structure", + "members":{ + "Primary":{ + "shape":"Boolean", + "documentation":"

                              Indicates if this is the primary private IP address.

                              " + }, + "PrivateIpAddress":{ + "shape":"Ipv4Address", + "documentation":"

                              Specific private IP address for the network interface.

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

                              Defines private IP address configuration for network interface.

                              " + }, + "PrivateIpAddresses":{ + "type":"list", + "member":{"shape":"PrivateIpAddressSpecification"} + }, + "ProvisionStateEnum":{ + "type":"string", + "enum":[ + "ALLOCATING", + "ALLOCATED", + "DEALLOCATING", + "DEALLOCATED", + "ERROR_ALLOCATING", + "ERROR_DEALLOCATING" + ] + }, + "ProvisionStates":{ + "type":"list", + "member":{"shape":"ProvisionStateEnum"} + }, + "Region":{ + "type":"structure", + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

                              Name of the AWS region.

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

                              Represents an AWS region supported by WorkSpaces Instances.

                              " + }, + "RegionList":{ + "type":"list", + "member":{"shape":"Region"} + }, + "RegionName":{ + "type":"string", + "pattern":"[-0-9a-z]{1,31}" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Details about the missing resource.

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

                              Identifier of the resource that was not found.

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

                              Type of the resource that was not found.

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

                              Indicates the requested resource could not be found.

                              ", + "exception":true + }, + "ResourceTypeEnum":{ + "type":"string", + "enum":[ + "instance", + "volume", + "spot-instances-request", + "network-interface" + ] + }, + "RunInstancesMonitoringEnabled":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

                              Enables or disables detailed instance monitoring.

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

                              Configures detailed monitoring for WorkSpace Instance.

                              " + }, + "SecurityGroupId":{ + "type":"string", + "pattern":"sg-[0-9a-zA-Z]{1,63}" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"} + }, + "SecurityGroupName":{ + "type":"string", + "pattern":"(?!sg-)[\\w .:/()#,@\\[\\]+=&;{}!$*-]{0,255}" + }, + "SecurityGroupNames":{ + "type":"list", + "member":{"shape":"SecurityGroupName"} + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType", + "ServiceCode", + "QuotaCode" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Description of the quota limitation.

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

                              Identifier of the resource related to the quota.

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

                              Type of resource related to the quota.

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

                              Code identifying the service with the quota limitation.

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

                              Specific code for the exceeded quota.

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

                              Indicates that a service quota has been exceeded.

                              ", + "exception":true + }, + "SnapshotId":{ + "type":"string", + "pattern":"snap-[0-9a-zA-Z]{1,63}" + }, + "SpotInstanceTypeEnum":{ + "type":"string", + "enum":[ + "one-time", + "persistent" + ] + }, + "SpotMarketOptions":{ + "type":"structure", + "members":{ + "BlockDurationMinutes":{ + "shape":"NonNegativeInteger", + "documentation":"

                              Duration of spot instance block reservation.

                              " + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehaviorEnum", + "documentation":"

                              Specifies behavior when spot instance is interrupted.

                              " + }, + "MaxPrice":{ + "shape":"String64", + "documentation":"

                              Maximum hourly price for spot instance.

                              " + }, + "SpotInstanceType":{ + "shape":"SpotInstanceTypeEnum", + "documentation":"

                              Defines the type of spot instance request.

                              " + }, + "ValidUntilUtc":{ + "shape":"Timestamp", + "documentation":"

                              Timestamp until which spot instance request is valid.

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

                              Defines configuration for spot instance deployment.

                              " + }, + "String":{"type":"string"}, + "String128":{ + "type":"string", + "max":128, + "min":0 + }, + "String64":{ + "type":"string", + "max":64, + "min":0 + }, + "SubnetId":{ + "type":"string", + "pattern":"subnet-[0-9a-zA-Z]{1,63}" + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

                              Unique identifier for the tag.

                              " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

                              Value associated with the tag key.

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

                              Represents a key-value metadata tag.

                              " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":30, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":30, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "Tags" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              Unique identifier of the WorkSpace Instance to tag.

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

                              Tags to be added to the WorkSpace Instance.

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

                              Specifies tags to add to a WorkSpace Instance.

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

                              Confirms successful tag addition.

                              " + }, + "TagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceTypeEnum", + "documentation":"

                              Type of resource being tagged.

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

                              Collection of tags for the specified resource.

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

                              Defines tagging configuration for a resource.

                              " + }, + "TagSpecifications":{ + "type":"list", + "member":{"shape":"TagSpecification"}, + "max":30, + "min":0 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "TenancyEnum":{ + "type":"string", + "enum":[ + "default", + "dedicated", + "host" + ] + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Description of the throttling event.

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

                              Code identifying the service experiencing throttling.

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

                              Specific code for the throttling quota.

                              " + }, + "RetryAfterSeconds":{ + "shape":"Integer", + "documentation":"

                              Recommended wait time before retrying the request.

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

                              Indicates the request rate has exceeded limits.

                              ", + "exception":true, + "retryable":{"throttling":true} + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "WorkspaceInstanceId", + "TagKeys" + ], + "members":{ + "WorkspaceInstanceId":{ + "shape":"WorkspaceInstanceId", + "documentation":"

                              Unique identifier of the WorkSpace Instance to untag.

                              " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

                              Keys of tags to be removed.

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

                              Specifies tags to remove from a WorkSpace Instance.

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

                              Confirms successful tag removal.

                              " + }, + "UserData":{ + "type":"string", + "max":16000, + "min":0, + "sensitive":true + }, + "ValidationException":{ + "type":"structure", + "required":[ + "Message", + "Reason" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

                              Overall description of validation failures.

                              " + }, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

                              Specific reason for the validation failure.

                              " + }, + "FieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

                              List of fields that failed validation.

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

                              Indicates invalid input parameters in the request.

                              ", + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Name", + "Reason", + "Message" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

                              Name of the field that failed validation.

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

                              Reason for the validation failure.

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

                              Detailed error message describing the validation issue.

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

                              Represents a validation error field in an API request.

                              " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UNKNOWN_OPERATION", + "UNSUPPORTED_OPERATION", + "CANNOT_PARSE", + "FIELD_VALIDATION_FAILED", + "DEPENDENCY_FAILURE", + "OTHER" + ] + }, + "VirtualName":{ + "type":"string", + "pattern":"ephemeral(0|[1-9][0-9]{0,2})" + }, + "VolumeId":{ + "type":"string", + "pattern":"vol-[0-9a-zA-Z]{1,63}" + }, + "VolumeTypeEnum":{ + "type":"string", + "enum":[ + "standard", + "io1", + "io2", + "gp2", + "sc1", + "st1", + "gp3" + ] + }, + "WorkspaceInstance":{ + "type":"structure", + "members":{ + "ProvisionState":{ + "shape":"ProvisionStateEnum", + "documentation":"

                              Current provisioning state of the WorkSpace Instance.

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

                              Unique identifier for the WorkSpace Instance.

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

                              Details of the associated EC2 managed instance.

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

                              Represents a single WorkSpace Instance.

                              " + }, + "WorkspaceInstanceError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"String", + "documentation":"

                              Unique error code for the WorkSpace Instance error.

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

                              Detailed description of the WorkSpace Instance error.

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

                              Captures errors specific to WorkSpace Instance operations.

                              " + }, + "WorkspaceInstanceErrors":{ + "type":"list", + "member":{"shape":"WorkspaceInstanceError"} + }, + "WorkspaceInstanceId":{ + "type":"string", + "max":70, + "min":15, + "pattern":"wsinst-[0-9a-zA-Z]{8,63}" + }, + "WorkspaceInstances":{ + "type":"list", + "member":{"shape":"WorkspaceInstance"} + } + }, + "documentation":"

                              Amazon WorkSpaces Instances provides an API framework for managing virtual workspace environments across multiple AWS regions, enabling programmatic creation and configuration of desktop infrastructure.

                              " +} diff --git a/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json b/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json index 4769a2e652c..e80fd3f4c61 100644 --- a/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json +++ b/tools/code-generation/api-descriptions/workspaces-thin-client-2023-08-22.normal.json @@ -26,9 +26,9 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], "documentation":"

                              Creates an environment for your thin client devices.

                              ", @@ -46,9 +46,9 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], "documentation":"

                              Deletes a thin client device.

                              ", @@ -67,9 +67,9 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], "documentation":"

                              Deletes an environment.

                              ", @@ -88,9 +88,9 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], "documentation":"

                              Deregisters a thin client device.

                              ", @@ -239,9 +239,9 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], "documentation":"

                              Assigns one or more tags (key-value pairs) to the specified resource.

                              ", @@ -259,9 +259,9 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, - {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], "documentation":"

                              Removes a tag or tags from a resource.

                              ", @@ -300,6 +300,7 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} diff --git a/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json new file mode 100644 index 00000000000..aabfd5a429f --- /dev/null +++ b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json new file mode 100644 index 00000000000..de9ed7358e6 --- /dev/null +++ b/tools/code-generation/endpoints/aiops-2018-05-10.endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/ce-2017-10-25.endpoint-rule-set.json b/tools/code-generation/endpoints/ce-2017-10-25.endpoint-rule-set.json index 12e77aabd32..6e774dcfc1d 100644 --- a/tools/code-generation/endpoints/ce-2017-10-25.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/ce-2017-10-25.endpoint-rule-set.json @@ -1,12 +1,6 @@ { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -26,6 +20,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -57,564 +57,616 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "aws.partition", "argv": [ { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", "argv": [ { - "ref": "PartitionResult" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] }, - "name" + "aws" ] }, - "aws" - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + true + ] + } + ], + "endpoint": { + "url": "https://ce.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } ] }, - "aws-cn" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "cn-northwest-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + true + ] + } + ], + "endpoint": { + "url": "https://ce.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } ] }, - "aws-iso" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-iso-east-1.c2s.ic.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-iso-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-iso-east-1.c2s.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } ] }, - "aws-iso-b" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-b" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-isob-east-1.sc2s.sgov.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isob-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-isob-east-1.sc2s.sgov.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } ] }, - "aws-iso-e" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-e" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "eu-isoe-west-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } ] }, - "aws-iso-f" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-f" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-isof-south-1.csp.hci.ic.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isof-south-1" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" + ], + "endpoint": { + "url": "https://ce.us-isof-south-1.csp.hci.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] }, - true - ] + "headers": {} + }, + "type": "endpoint" }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ], "type": "tree" }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] + "ref": "UseFIPS" }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ], "type": "tree" }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ], "type": "tree" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ], "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ], "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] } \ No newline at end of file diff --git a/tools/code-generation/endpoints/ce-2017-10-25.endpoint-tests.json b/tools/code-generation/endpoints/ce-2017-10-25.endpoint-tests.json index e57583a5921..39c2631147c 100644 --- a/tools/code-generation/endpoints/ce-2017-10-25.endpoint-tests.json +++ b/tools/code-generation/endpoints/ce-2017-10-25.endpoint-tests.json @@ -1,31 +1,50 @@ { "testCases": [ { - "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] - }, - "url": "https://ce.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "aws-global", + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce-fips.us-east-1.api.aws" } }, @@ -39,6 +58,14 @@ "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce-fips.us-east-1.amazonaws.com" } }, @@ -52,6 +79,14 @@ "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce.us-east-1.api.aws" } }, @@ -69,7 +104,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-east-1" } ] @@ -84,75 +118,76 @@ } }, { - "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "cn-northwest-1" } ] }, - "url": "https://ce.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "aws-cn-global", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ce-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://ce-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ce-fips.cn-north-1.amazonaws.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://ce-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce.cn-north-1.api.amazonwebservices.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://ce.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "cn-northwest-1" } ] @@ -161,81 +196,91 @@ } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce-fips.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ce-fips.us-gov-east-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ce.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region aws-iso-global with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://ce.us-iso-east-1.c2s.ic.gov" + "url": "https://ce.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "aws-iso-global", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } @@ -255,6 +300,14 @@ "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, "url": "https://ce-fips.us-iso-east-1.c2s.ic.gov" } }, @@ -283,7 +336,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-iso-east-1" } ] @@ -297,28 +349,6 @@ "UseDualStack": false } }, - { - "documentation": "For region aws-iso-b-global with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isob-east-1" - } - ] - }, - "url": "https://ce.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "aws-iso-b-global", - "UseFIPS": false, - "UseDualStack": false - } - }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -334,6 +364,14 @@ "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, "url": "https://ce-fips.us-isob-east-1.sc2s.sgov.gov" } }, @@ -362,7 +400,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-isob-east-1" } ] @@ -377,98 +414,131 @@ } }, { - "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "eu-isoe-west-1" } ] }, - "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk" + "url": "https://ce-fips.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { "Region": "eu-isoe-west-1", - "UseFIPS": false, + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isof-south-1" + "signingRegion": "eu-isoe-west-1" } ] }, - "url": "https://ce.us-isof-south-1.csp.hci.ic.gov" + "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-isof-south-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://example.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://ce-fips.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://ce.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { diff --git a/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json b/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json index 8a7960d9832..3d3ccd0d215 100644 --- a/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-rule-set.json @@ -1,12 +1,6 @@ { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -26,6 +20,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -57,152 +57,287 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } + }, + "aws" ] }, { "fn": "booleanEquals", "argv": [ - true, + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] - } + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } ], - "rules": [ + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] }, - true - ] - } - ], - "rules": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, { "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", "argv": [ { "fn": "getAttr", @@ -210,105 +345,258 @@ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ], "type": "tree" }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, - "supportsDualStack" + true ] } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ], "type": "tree" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ], "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ], "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] } \ No newline at end of file diff --git a/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-tests.json b/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-tests.json index 3270bbfe6da..b47d439e3bb 100644 --- a/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-tests.json +++ b/tools/code-generation/endpoints/elasticfilesystem-2015-02-01.endpoint-tests.json @@ -1,471 +1,75 @@ { "testCases": [ { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-2.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with fips enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-2.amazonaws.com" - } + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "eu-west-2", - "UseFIPS": true, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": true } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips disabled and dualstack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-3.amazonaws.com" - } + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "eu-west-3", + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-3.amazonaws.com" + "url": "https://efs-fips.us-east-1.api.aws" } }, "params": { - "Region": "eu-west-3", + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.me-south-1.amazonaws.com" - } - }, - "params": { - "Region": "me-south-1", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.me-south-1.amazonaws.com" + "url": "https://elasticfilesystem-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "me-south-1", + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.sa-east-1.amazonaws.com" + "url": "https://efs.us-east-1.api.aws" } }, "params": { - "Region": "sa-east-1", + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { @@ -482,423 +86,299 @@ } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-1.amazonaws.com" + "url": "https://efs-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "Region": "cn-northwest-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-2.amazonaws.com" + "url": "https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-2", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-west-1.amazonaws.com" + "url": "https://efs.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-west-1", + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-west-2.amazonaws.com" + "url": "https://elasticfilesystem.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-west-2", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-west-2.amazonaws.com" + "url": "https://efs-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-west-2", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-1.api.aws" + "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-1.api.aws" + "url": "https://efs.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.cn-north-1.amazonaws.com.cn" + "url": "https://elasticfilesystem.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.cn-north-1.amazonaws.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "cn-north-1", + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "cn-northwest-1", + "Region": "us-iso-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "cn-north-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-gov-east-1.amazonaws.com" + "url": "https://elasticfilesystem.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-gov-east-1", + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" + "url": "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-isob-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-gov-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-gov-east-1", + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticfilesystem.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticfilesystem-fips.eu-isoe-west-1.cloud.adc-e.uk" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", "expect": { "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-iso-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-isob-east-1.sc2s.sgov.gov" + "url": "https://elasticfilesystem.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-isob-east-1", + "Region": "us-isof-south-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticfilesystem-fips.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-isob-east-1", + "Region": "us-isof-south-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", "expect": { "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-isob-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" + "url": "https://elasticfilesystem.us-isof-south-1.csp.hci.ic.gov" } }, "params": { + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { diff --git a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json index d4ff8f54a26..87654796fef 100644 --- a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json @@ -328,7 +328,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -371,7 +371,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -414,7 +414,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -457,7 +457,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, diff --git a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json index 7203f138617..5a692c699b0 100644 --- a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json +++ b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json @@ -141,7 +141,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo-fips.us-gov-west-1.api.aws/v2" } }, "params": { @@ -154,7 +154,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo-fips.us-gov-west-1.amazonaws.com/v2" } }, "params": { @@ -167,7 +167,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo.us-gov-west-1.api.aws/v2" } }, "params": { @@ -180,7 +180,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo.us-gov-west-1.amazonaws.com/v2" } }, "params": { diff --git a/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-rule-set.json b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-rule-set.json new file mode 100644 index 00000000000..7af7d5fc8bd --- /dev/null +++ b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://mpa-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://mpa.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-tests.json b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-tests.json new file mode 100644 index 00000000000..afb955e9722 --- /dev/null +++ b/tools/code-generation/endpoints/mpa-2022-07-26.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json new file mode 100644 index 00000000000..e0d3702db0f --- /dev/null +++ b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://workspaces-instances-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://workspaces-instances.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json new file mode 100644 index 00000000000..bb145251951 --- /dev/null +++ b/tools/code-generation/endpoints/workspaces-instances-2022-07-26.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/transform/C2jModelToGeneratorModelTransformer.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/transform/C2jModelToGeneratorModelTransformer.java index dc35793c6dc..2085f8e7c83 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/transform/C2jModelToGeneratorModelTransformer.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/transform/C2jModelToGeneratorModelTransformer.java @@ -809,7 +809,7 @@ void renameReservedFields(Shape shape) { member.getShape().getName(), reservedMapping.getValue().remappingName, member.getShape().getName(), - false); + reservedMapping.getKey().equals(shape.getPayload())); }); } } diff --git a/tools/code-generation/partitions/partitions.json b/tools/code-generation/partitions/partitions.json index a2bfa6ead49..456b07fca67 100644 --- a/tools/code-generation/partitions/partitions.json +++ b/tools/code-generation/partitions/partitions.json @@ -17,6 +17,9 @@ "ap-east-1" : { "description" : "Asia Pacific (Hong Kong)" }, + "ap-east-2" : { + "description" : "Asia Pacific (Taipei)" + }, "ap-northeast-1" : { "description" : "Asia Pacific (Tokyo)" }, diff --git a/tools/code-generation/smithy/api-descriptions/accessanalyzer.json b/tools/code-generation/smithy/api-descriptions/accessanalyzer.json index 8d219f6a574..8649a52fbe6 100644 --- a/tools/code-generation/smithy/api-descriptions/accessanalyzer.json +++ b/tools/code-generation/smithy/api-descriptions/accessanalyzer.json @@ -9,7 +9,7 @@ "traits": { "smithy.api#addedDefault": {}, "smithy.api#default": [], - "smithy.api#documentation": "

                              A list of actions for the access permissions. Any strings that can be used as an action\n in an IAM policy can be used in the list of actions to check.

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

                              A list of actions for the access permissions. Any strings that can be used as an action in an IAM policy can be used in the list of actions to check.

                              ", "smithy.api#length": { "max": 100 } @@ -19,7 +19,7 @@ "target": "com.amazonaws.accessanalyzer#ResourcesList", "traits": { "smithy.api#default": [], - "smithy.api#documentation": "

                              A list of resources for the access permissions. Any strings that can be used as an\n Amazon Resource Name (ARN) in an IAM policy can be used in the list of resources to\n check. You can only use a wildcard in the portion of the ARN that specifies the resource\n ID.

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

                              A list of resources for the access permissions. Any strings that can be used as an Amazon Resource Name (ARN) in an IAM policy can be used in the list of resources to check. You can only use a wildcard in the portion of the ARN that specifies the resource ID.

                              ", "smithy.api#length": { "max": 100 } @@ -27,7 +27,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about actions and resources that define permissions to check\n against a policy.

                              " + "smithy.api#documentation": "

                              Contains information about actions and resources that define permissions to check against a policy.

                              " } }, "com.amazonaws.accessanalyzer#AccessAnalyzer": { @@ -132,7 +132,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

                              Identity and Access Management Access Analyzer helps you to set, verify, and refine your IAM policies by providing\n a suite of capabilities. Its features include findings for external and unused access,\n basic and custom policy checks for validating policies, and policy generation to generate\n fine-grained policies. To start using IAM Access Analyzer to identify external or unused access,\n you first need to create an analyzer.

                              \n

                              \n External access analyzers help identify potential risks\n of accessing resources by enabling you to identify any resource policies that grant access\n to an external principal. It does this by using logic-based reasoning to analyze\n resource-based policies in your Amazon Web Services environment. An external principal can be another\n Amazon Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an\n anonymous user. You can also use IAM Access Analyzer to preview public and cross-account access\n to your resources before deploying permissions changes.

                              \n

                              \n Unused access analyzers help identify potential\n identity access risks by enabling you to identify unused IAM roles, unused access keys,\n unused console passwords, and IAM principals with unused service and action-level\n permissions.

                              \n

                              Beyond findings, IAM Access Analyzer provides basic and custom policy checks to validate IAM\n policies before deploying permissions changes. You can use policy generation to refine\n permissions by attaching a policy generated using access activity logged in CloudTrail logs.

                              \n

                              This guide describes the IAM Access Analyzer operations that you can call programmatically.\n For general information about IAM Access Analyzer, see Identity and Access Management Access Analyzer in the\n IAM User Guide.

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

                              Identity and Access Management Access Analyzer helps you to set, verify, and refine your IAM policies by providing a suite of capabilities. Its features include findings for external and unused access, basic and custom policy checks for validating policies, and policy generation to generate fine-grained policies. To start using IAM Access Analyzer to identify external or unused access, you first need to create an analyzer.

                              External access analyzers help identify potential risks of accessing resources by enabling you to identify any resource policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your Amazon Web Services environment. An external principal can be another Amazon Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an anonymous user. You can also use IAM Access Analyzer to preview public and cross-account access to your resources before deploying permissions changes.

                              Unused access analyzers help identify potential identity access risks by enabling you to identify unused IAM roles, unused access keys, unused console passwords, and IAM principals with unused service and action-level permissions.

                              Beyond findings, IAM Access Analyzer provides basic and custom policy checks to validate IAM policies before deploying permissions changes. You can use policy generation to refine permissions by attaching a policy generated using access activity logged in CloudTrail logs.

                              This guide describes the IAM Access Analyzer operations that you can call programmatically. For general information about IAM Access Analyzer, see Identity and Access Management Access Analyzer in the IAM User Guide.

                              ", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -1355,14 +1355,14 @@ "status": { "target": "com.amazonaws.accessanalyzer#AccessPreviewStatus", "traits": { - "smithy.api#documentation": "

                              The status of the access preview.

                              \n
                                \n
                              • \n

                                \n Creating - The access preview creation is in progress.

                                \n
                              • \n
                              • \n

                                \n Completed - The access preview is complete. You can preview findings\n for external access to the resource.

                                \n
                              • \n
                              • \n

                                \n Failed - The access preview creation has failed.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The status of the access preview.

                              • Creating - The access preview creation is in progress.

                              • Completed - The access preview is complete. You can preview findings for external access to the resource.

                              • Failed - The access preview creation has failed.

                              ", "smithy.api#required": {} } }, "statusReason": { "target": "com.amazonaws.accessanalyzer#AccessPreviewStatusReason", "traits": { - "smithy.api#documentation": "

                              Provides more details about the current status of the access preview.

                              \n

                              For example, if the creation of the access preview fails, a Failed status\n is returned. This failure can be due to an internal issue with the analysis or due to an\n invalid resource configuration.

                              " + "smithy.api#documentation": "

                              Provides more details about the current status of the access preview.

                              For example, if the creation of the access preview fails, a Failed status is returned. This failure can be due to an internal issue with the analysis or due to an invalid resource configuration.

                              " } } }, @@ -1376,14 +1376,14 @@ "id": { "target": "com.amazonaws.accessanalyzer#AccessPreviewFindingId", "traits": { - "smithy.api#documentation": "

                              The ID of the access preview finding. This ID uniquely identifies the element in the\n list of access preview findings and is not related to the finding ID in Access\n Analyzer.

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

                              The ID of the access preview finding. This ID uniquely identifies the element in the list of access preview findings and is not related to the finding ID in Access Analyzer.

                              ", "smithy.api#required": {} } }, "existingFindingId": { "target": "com.amazonaws.accessanalyzer#FindingId", "traits": { - "smithy.api#documentation": "

                              The existing ID of the finding in IAM Access Analyzer, provided only for existing\n findings.

                              " + "smithy.api#documentation": "

                              The existing ID of the finding in IAM Access Analyzer, provided only for existing findings.

                              " } }, "existingFindingStatus": { @@ -1401,7 +1401,7 @@ "action": { "target": "com.amazonaws.accessanalyzer#ActionList", "traits": { - "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to\n perform.

                              " + "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to perform.

                              " } }, "condition": { @@ -1413,13 +1413,13 @@ "resource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The resource that an external principal has access to. This is the resource associated\n with the access preview.

                              " + "smithy.api#documentation": "

                              The resource that an external principal has access to. This is the resource associated with the access preview.

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

                              Indicates whether the policy that generated the finding allows public access to the\n resource.

                              " + "smithy.api#documentation": "

                              Indicates whether the policy that generated the finding allows public access to the resource.

                              " } }, "resourceType": { @@ -1439,21 +1439,21 @@ "changeType": { "target": "com.amazonaws.accessanalyzer#FindingChangeType", "traits": { - "smithy.api#documentation": "

                              Provides context on how the access preview finding compares to existing access\n identified in IAM Access Analyzer.

                              \n
                                \n
                              • \n

                                \n New - The finding is for newly-introduced access.

                                \n
                              • \n
                              • \n

                                \n Unchanged - The preview finding is an existing finding that would\n remain unchanged.

                                \n
                              • \n
                              • \n

                                \n Changed - The preview finding is an existing finding with a change in\n status.

                                \n
                              • \n
                              \n

                              For example, a Changed finding with preview status Resolved\n and existing status Active indicates the existing Active finding\n would become Resolved as a result of the proposed permissions change.

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

                              Provides context on how the access preview finding compares to existing access identified in IAM Access Analyzer.

                              • New - The finding is for newly-introduced access.

                              • Unchanged - The preview finding is an existing finding that would remain unchanged.

                              • Changed - The preview finding is an existing finding with a change in status.

                              For example, a Changed finding with preview status Resolved and existing status Active indicates the existing Active finding would become Resolved as a result of the proposed permissions change.

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

                              The preview status of the finding. This is what the status of the finding would be after\n permissions deployment. For example, a Changed finding with preview status\n Resolved and existing status Active indicates the existing\n Active finding would become Resolved as a result of the\n proposed permissions change.

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

                              The preview status of the finding. This is what the status of the finding would be after permissions deployment. For example, a Changed finding with preview status Resolved and existing status Active indicates the existing Active finding would become Resolved as a result of the proposed permissions change.

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

                              The Amazon Web Services account ID that owns the resource. For most Amazon Web Services resources, the owning\n account is the account in which the resource was created.

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

                              The Amazon Web Services account ID that owns the resource. For most Amazon Web Services resources, the owning account is the account in which the resource was created.

                              ", "smithy.api#required": {} } }, @@ -1466,13 +1466,13 @@ "sources": { "target": "com.amazonaws.accessanalyzer#FindingSourceList", "traits": { - "smithy.api#documentation": "

                              The sources of the finding. This indicates how the access that generated the finding is\n granted. It is populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

                              " } }, "resourceControlPolicyRestriction": { "target": "com.amazonaws.accessanalyzer#ResourceControlPolicyRestriction", "traits": { - "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations\n resource control policy (RCP).

                              " + "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                              " } } }, @@ -1526,7 +1526,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Provides more details about the current status of the access preview. For example, if\n the creation of the access preview fails, a Failed status is returned. This\n failure can be due to an internal issue with the analysis or due to an invalid proposed\n resource configuration.

                              " + "smithy.api#documentation": "

                              Provides more details about the current status of the access preview. For example, if the creation of the access preview fails, a Failed status is returned. This failure can be due to an internal issue with the analysis or due to an invalid proposed resource configuration.

                              " } }, "com.amazonaws.accessanalyzer#AccessPreviewStatusReasonCode": { @@ -1571,7 +1571,7 @@ "status": { "target": "com.amazonaws.accessanalyzer#AccessPreviewStatus", "traits": { - "smithy.api#documentation": "

                              The status of the access preview.

                              \n
                                \n
                              • \n

                                \n Creating - The access preview creation is in progress.

                                \n
                              • \n
                              • \n

                                \n Completed - The access preview is complete and previews the findings\n for external access to the resource.

                                \n
                              • \n
                              • \n

                                \n Failed - The access preview creation has failed.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The status of the access preview.

                              • Creating - The access preview creation is in progress.

                              • Completed - The access preview is complete and previews the findings for external access to the resource.

                              • Failed - The access preview creation has failed.

                              ", "smithy.api#required": {} } }, @@ -1627,7 +1627,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              You specify each grantee as a type-value pair using one of these types. You can specify\n only one type of grantee. For more information, see PutBucketAcl.

                              " + "smithy.api#documentation": "

                              You specify each grantee as a type-value pair using one of these types. You can specify only one type of grantee. For more information, see PutBucketAcl.

                              " } }, "com.amazonaws.accessanalyzer#AclPermission": { @@ -1681,12 +1681,12 @@ "exclusions": { "target": "com.amazonaws.accessanalyzer#AnalysisRuleCriteriaList", "traits": { - "smithy.api#documentation": "

                              A list of rules for the analyzer containing criteria to exclude from analysis. Entities\n that meet the rule criteria will not generate findings.

                              " + "smithy.api#documentation": "

                              A list of rules for the analyzer containing criteria to exclude from analysis. Entities that meet the rule criteria will not generate findings.

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

                              Contains information about analysis rules for the analyzer. Analysis rules determine\n which entities will generate findings based on the criteria you define when you create the\n rule.

                              " + "smithy.api#documentation": "

                              Contains information about analysis rules for the analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.

                              " } }, "com.amazonaws.accessanalyzer#AnalysisRuleCriteria": { @@ -1695,18 +1695,18 @@ "accountIds": { "target": "com.amazonaws.accessanalyzer#AccountIdsList", "traits": { - "smithy.api#documentation": "

                              A list of Amazon Web Services account IDs to apply to the analysis rule criteria. The accounts cannot\n include the organization analyzer owner account. Account IDs can only be applied to the\n analysis rule criteria for organization-level analyzers. The list cannot include more than\n 2,000 account IDs.

                              " + "smithy.api#documentation": "

                              A list of Amazon Web Services account IDs to apply to the analysis rule criteria. The accounts cannot include the organization analyzer owner account. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers. The list cannot include more than 2,000 account IDs.

                              " } }, "resourceTags": { "target": "com.amazonaws.accessanalyzer#TagsList", "traits": { - "smithy.api#documentation": "

                              An array of key-value pairs to match for your resources. You can use the set of Unicode\n letters, digits, whitespace, _, ., /,\n =, +, and -.

                              \n

                              For the tag key, you can specify a value that is 1 to 128 characters in length and\n cannot be prefixed with aws:.

                              \n

                              For the tag value, you can specify a value that is 0 to 256 characters in length. If the\n specified tag value is 0 characters, the rule is applied to all principals with the\n specified tag key.

                              " + "smithy.api#documentation": "

                              An array of key-value pairs to match for your resources. You can use the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.

                              For the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with aws:.

                              For the tag value, you can specify a value that is 0 to 256 characters in length. If the specified tag value is 0 characters, the rule is applied to all principals with the specified tag key.

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

                              The criteria for an analysis rule for an analyzer. The criteria determine which entities\n will generate findings.

                              " + "smithy.api#documentation": "

                              The criteria for an analysis rule for an analyzer. The criteria determine which entities will generate findings.

                              " } }, "com.amazonaws.accessanalyzer#AnalysisRuleCriteriaList": { @@ -1756,20 +1756,20 @@ "isPublic": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether the policy that generated the finding grants public access to the\n resource.

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

                              Indicates whether the policy that generated the finding grants public access to the resource.

                              ", "smithy.api#required": {} } }, "actions": { "target": "com.amazonaws.accessanalyzer#ActionList", "traits": { - "smithy.api#documentation": "

                              The actions that an external principal is granted permission to use by the policy that\n generated the finding.

                              " + "smithy.api#documentation": "

                              The actions that an external principal is granted permission to use by the policy that generated the finding.

                              " } }, "sharedVia": { "target": "com.amazonaws.accessanalyzer#SharedViaList", "traits": { - "smithy.api#documentation": "

                              Indicates how the access that generated the finding is granted. This is populated for\n Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              Indicates how the access that generated the finding is granted. This is populated for Amazon S3 bucket findings.

                              " } }, "status": { @@ -1877,12 +1877,18 @@ "unusedAccess": { "target": "com.amazonaws.accessanalyzer#UnusedAccessConfiguration", "traits": { - "smithy.api#documentation": "

                              Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or\n account.

                              " + "smithy.api#documentation": "

                              Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or account.

                              " + } + }, + "internalAccess": { + "target": "com.amazonaws.accessanalyzer#InternalAccessConfiguration", + "traits": { + "smithy.api#documentation": "

                              Specifies the configuration of an internal access analyzer for an Amazon Web Services organization or account. This configuration determines how the analyzer evaluates access within your Amazon Web Services environment.

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

                              Contains information about the configuration of an analyzer for an Amazon Web Services organization or\n account.

                              " + "smithy.api#documentation": "

                              Contains information about the configuration of an analyzer for an Amazon Web Services organization or account.

                              " } }, "com.amazonaws.accessanalyzer#AnalyzerStatus": { @@ -1928,7 +1934,7 @@ "type": { "target": "com.amazonaws.accessanalyzer#Type", "traits": { - "smithy.api#documentation": "

                              The type of analyzer, which corresponds to the zone of trust chosen for the\n analyzer.

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

                              The type of analyzer, which corresponds to the zone of trust chosen for the analyzer.

                              ", "smithy.api#required": {} } }, @@ -1960,20 +1966,20 @@ "status": { "target": "com.amazonaws.accessanalyzer#AnalyzerStatus", "traits": { - "smithy.api#documentation": "

                              The status of the analyzer. An Active analyzer successfully monitors\n supported resources and generates new findings. The analyzer is Disabled when\n a user action, such as removing trusted access for Identity and Access Management Access Analyzer from Organizations, causes\n the analyzer to stop generating new findings. The status is Creating when the\n analyzer creation is in progress and Failed when the analyzer creation has\n failed.

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

                              The status of the analyzer. An Active analyzer successfully monitors supported resources and generates new findings. The analyzer is Disabled when a user action, such as removing trusted access for Identity and Access Management Access Analyzer from Organizations, causes the analyzer to stop generating new findings. The status is Creating when the analyzer creation is in progress and Failed when the analyzer creation has failed.

                              ", "smithy.api#required": {} } }, "statusReason": { "target": "com.amazonaws.accessanalyzer#StatusReason", "traits": { - "smithy.api#documentation": "

                              The statusReason provides more details about the current status of the\n analyzer. For example, if the creation for the analyzer fails, a Failed status\n is returned. For an analyzer with organization as the type, this failure can be due to an\n issue with creating the service-linked roles required in the member accounts of the Amazon Web Services\n organization.

                              " + "smithy.api#documentation": "

                              The statusReason provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed status is returned. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the Amazon Web Services organization.

                              " } }, "configuration": { "target": "com.amazonaws.accessanalyzer#AnalyzerConfiguration", "traits": { - "smithy.api#documentation": "

                              Specifies whether the analyzer is an external access or unused access analyzer.

                              " + "smithy.api#documentation": "

                              Specifies if the analyzer is an external access, unused access, or internal access analyzer.

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

                              Retroactively applies the archive rule to existing findings that meet the archive rule\n criteria.

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

                              Retroactively applies the archive rule to existing findings that meet the archive rule criteria.

                              ", "smithy.api#http": { "uri": "/archive-rule", "method": "PUT", @@ -2116,7 +2122,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an archive rule. Archive rules automatically archive new\n findings that meet the criteria you define when you create the rule.

                              " + "smithy.api#documentation": "

                              Contains information about an archive rule. Archive rules automatically archive new findings that meet the criteria you define when you create the rule.

                              " } }, "com.amazonaws.accessanalyzer#ArchiveRulesList": { @@ -2163,7 +2169,7 @@ "jobId": { "target": "com.amazonaws.accessanalyzer#JobId", "traits": { - "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration\n operation. The JobId can be used with GetGeneratedPolicy to\n retrieve the generated policies or used with CancelPolicyGeneration to cancel\n the policy generation request.

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

                              The JobId that is returned by the StartPolicyGeneration operation. The JobId can be used with GetGeneratedPolicy to retrieve the generated policies or used with CancelPolicyGeneration to cancel the policy generation request.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2291,7 +2297,7 @@ "access": { "target": "com.amazonaws.accessanalyzer#AccessList", "traits": { - "smithy.api#documentation": "

                              An access object containing the permissions that shouldn't be granted by the specified\n policy. If only actions are specified, IAM Access Analyzer checks for access to peform at least\n one of the actions on any resource in the policy. If only resources are specified, then\n IAM Access Analyzer checks for access to perform any action on at least one of the resources. If\n both actions and resources are specified, IAM Access Analyzer checks for access to perform at\n least one of the specified actions on at least one of the specified resources.

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

                              An access object containing the permissions that shouldn't be granted by the specified policy. If only actions are specified, IAM Access Analyzer checks for access to peform at least one of the actions on any resource in the policy. If only resources are specified, then IAM Access Analyzer checks for access to perform any action on at least one of the resources. If both actions and resources are specified, IAM Access Analyzer checks for access to perform at least one of the specified actions on at least one of the specified resources.

                              ", "smithy.api#length": { "max": 1 }, @@ -2301,7 +2307,7 @@ "policyType": { "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyType", "traits": { - "smithy.api#documentation": "

                              The type of policy. Identity policies grant permissions to IAM principals. Identity\n policies include managed and inline policies for IAM roles, users, and groups.

                              \n

                              Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets.

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

                              The type of policy. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups.

                              Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets.

                              ", "smithy.api#required": {} } } @@ -2316,7 +2322,7 @@ "result": { "target": "com.amazonaws.accessanalyzer#CheckAccessNotGrantedResult", "traits": { - "smithy.api#documentation": "

                              The result of the check for whether the access is allowed. If the result is\n PASS, the specified policy doesn't allow any of the specified permissions\n in the access object. If the result is FAIL, the specified policy might allow\n some or all of the permissions in the access object.

                              " + "smithy.api#documentation": "

                              The result of the check for whether the access is allowed. If the result is PASS, the specified policy doesn't allow any of the specified permissions in the access object. If the result is FAIL, the specified policy might allow some or all of the permissions in the access object.

                              " } }, "message": { @@ -2380,7 +2386,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Checks whether new access is allowed for an updated policy when compared to the existing\n policy.

                              \n

                              You can find examples for reference policies and learn how to set up and run a custom\n policy check for new access in the IAM Access Analyzer custom policy checks samples repository on GitHub. The reference\n policies in this repository are meant to be passed to the\n existingPolicyDocument request parameter.

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

                              Checks whether new access is allowed for an updated policy when compared to the existing policy.

                              You can find examples for reference policies and learn how to set up and run a custom policy check for new access in the IAM Access Analyzer custom policy checks samples repository on GitHub. The reference policies in this repository are meant to be passed to the existingPolicyDocument request parameter.

                              ", "smithy.api#http": { "uri": "/policy/check-no-new-access", "method": "POST", @@ -2412,7 +2418,7 @@ "policyType": { "target": "com.amazonaws.accessanalyzer#AccessCheckPolicyType", "traits": { - "smithy.api#documentation": "

                              The type of policy to compare. Identity policies grant permissions to IAM principals.\n Identity policies include managed and inline policies for IAM roles, users, and\n groups.

                              \n

                              Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic\n input such as identity policy or resource policy or a specific input such as managed policy\n or Amazon S3 bucket policy.

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

                              The type of policy to compare. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups.

                              Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic input such as identity policy or resource policy or a specific input such as managed policy or Amazon S3 bucket policy.

                              ", "smithy.api#required": {} } } @@ -2427,7 +2433,7 @@ "result": { "target": "com.amazonaws.accessanalyzer#CheckNoNewAccessResult", "traits": { - "smithy.api#documentation": "

                              The result of the check for new access. If the result is PASS, no new\n access is allowed by the updated policy. If the result is FAIL, the updated\n policy might allow new access.

                              " + "smithy.api#documentation": "

                              The result of the check for new access. If the result is PASS, no new access is allowed by the updated policy. If the result is FAIL, the updated policy might allow new access.

                              " } }, "message": { @@ -2491,7 +2497,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Checks whether a resource policy can grant public access to the specified resource\n type.

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

                              Checks whether a resource policy can grant public access to the specified resource type.

                              ", "smithy.api#examples": [ { "title": "Passing check. S3 Bucket policy without public access.", @@ -2547,7 +2553,7 @@ "resourceType": { "target": "com.amazonaws.accessanalyzer#AccessCheckResourceType", "traits": { - "smithy.api#documentation": "

                              The type of resource to evaluate for public access. For example, to check for public\n access to Amazon S3 buckets, you can choose AWS::S3::Bucket for the resource\n type.

                              \n

                              For resource types not supported as valid values, IAM Access Analyzer will return an\n error.

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

                              The type of resource to evaluate for public access. For example, to check for public access to Amazon S3 buckets, you can choose AWS::S3::Bucket for the resource type.

                              For resource types not supported as valid values, IAM Access Analyzer will return an error.

                              ", "smithy.api#required": {} } } @@ -2562,19 +2568,19 @@ "result": { "target": "com.amazonaws.accessanalyzer#CheckNoPublicAccessResult", "traits": { - "smithy.api#documentation": "

                              The result of the check for public access to the specified resource type. If the result\n is PASS, the policy doesn't allow public access to the specified resource\n type. If the result is FAIL, the policy might allow public access to the\n specified resource type.

                              " + "smithy.api#documentation": "

                              The result of the check for public access to the specified resource type. If the result is PASS, the policy doesn't allow public access to the specified resource type. If the result is FAIL, the policy might allow public access to the specified resource type.

                              " } }, "message": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The message indicating whether the specified policy allows public access to\n resources.

                              " + "smithy.api#documentation": "

                              The message indicating whether the specified policy allows public access to resources.

                              " } }, "reasons": { "target": "com.amazonaws.accessanalyzer#ReasonSummaryList", "traits": { - "smithy.api#documentation": "

                              A list of reasons why the specified resource policy grants public access for the\n resource type.

                              " + "smithy.api#documentation": "

                              A list of reasons why the specified resource policy grants public access for the resource type.

                              " } } }, @@ -2616,21 +2622,21 @@ "accessRole": { "target": "com.amazonaws.accessanalyzer#RoleArn", "traits": { - "smithy.api#documentation": "

                              The ARN of the service role that IAM Access Analyzer uses to access your CloudTrail trail and\n service last accessed information.

                              ", + "smithy.api#documentation": "

                              The ARN of the service role that IAM Access Analyzer uses to access your CloudTrail trail and service last accessed information.

                              ", "smithy.api#required": {} } }, "startTime": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The start of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events\n with a timestamp before this time are not considered to generate a policy.

                              ", + "smithy.api#documentation": "

                              The start of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with a timestamp before this time are not considered to generate a policy.

                              ", "smithy.api#required": {} } }, "endTime": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The end of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with\n a timestamp after this time are not considered to generate a policy. If this is not\n included in the request, the default value is the current time.

                              " + "smithy.api#documentation": "

                              The end of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with a timestamp after this time are not considered to generate a policy. If this is not included in the request, the default value is the current time.

                              " } } }, @@ -2644,21 +2650,21 @@ "trailProperties": { "target": "com.amazonaws.accessanalyzer#TrailPropertiesList", "traits": { - "smithy.api#documentation": "

                              A TrailProperties object that contains settings for trail\n properties.

                              ", + "smithy.api#documentation": "

                              A TrailProperties object that contains settings for trail properties.

                              ", "smithy.api#required": {} } }, "startTime": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The start of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events\n with a timestamp before this time are not considered to generate a policy.

                              ", + "smithy.api#documentation": "

                              The start of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with a timestamp before this time are not considered to generate a policy.

                              ", "smithy.api#required": {} } }, "endTime": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The end of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with\n a timestamp after this time are not considered to generate a policy. If this is not\n included in the request, the default value is the current time.

                              ", + "smithy.api#documentation": "

                              The end of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with a timestamp after this time are not considered to generate a policy. If this is not included in the request, the default value is the current time.

                              ", "smithy.api#required": {} } } @@ -2765,7 +2771,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Access control configuration structures for your resource. You specify the configuration\n as a type-value pair. You can specify only one type of access control configuration.

                              " + "smithy.api#documentation": "

                              Access control configuration structures for your resource. You specify the configuration as a type-value pair. You can specify only one type of access control configuration.

                              " } }, "com.amazonaws.accessanalyzer#ConfigurationsMap": { @@ -2842,7 +2848,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates an access preview that allows you to preview IAM Access Analyzer findings for your\n resource before deploying resource permissions.

                              ", + "smithy.api#documentation": "

                              Creates an access preview that allows you to preview IAM Access Analyzer findings for your resource before deploying resource permissions.

                              ", "smithy.api#http": { "uri": "/access-preview", "method": "PUT", @@ -2857,14 +2863,14 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the account analyzer used to generate the access preview. You can only create an\n access preview for analyzers with an Account type and Active\n status.

                              ", + "smithy.api#documentation": "

                              The ARN of the account analyzer used to generate the access preview. You can only create an access preview for analyzers with an Account type and Active status.

                              ", "smithy.api#required": {} } }, "configurations": { "target": "com.amazonaws.accessanalyzer#ConfigurationsMap", "traits": { - "smithy.api#documentation": "

                              Access control configuration for your resource that is used to generate the access\n preview. The access preview includes findings for external access allowed to the resource\n with the proposed access control configuration. The configuration must contain exactly one\n element.

                              ", + "smithy.api#documentation": "

                              Access control configuration for your resource that is used to generate the access preview. The access preview includes findings for external access allowed to the resource with the proposed access control configuration. The configuration must contain exactly one element.

                              ", "smithy.api#required": {} } }, @@ -2940,20 +2946,20 @@ "type": { "target": "com.amazonaws.accessanalyzer#Type", "traits": { - "smithy.api#documentation": "

                              The type of analyzer to create. Only ACCOUNT, ORGANIZATION,\n ACCOUNT_UNUSED_ACCESS, and ORGANIZATION_UNUSED_ACCESS\n analyzers are supported. You can create only one analyzer per account per Region. You can\n create up to 5 analyzers per organization per Region.

                              ", + "smithy.api#documentation": "

                              The type of analyzer to create. You can create only one analyzer per account per Region. You can create up to 5 analyzers per organization per Region.

                              ", "smithy.api#required": {} } }, "archiveRules": { "target": "com.amazonaws.accessanalyzer#InlineArchiveRulesList", "traits": { - "smithy.api#documentation": "

                              Specifies the archive rules to add for the analyzer. Archive rules automatically archive\n findings that meet the criteria you define for the rule.

                              " + "smithy.api#documentation": "

                              Specifies the archive rules to add for the analyzer. Archive rules automatically archive findings that meet the criteria you define for the rule.

                              " } }, "tags": { "target": "com.amazonaws.accessanalyzer#TagsMap", "traits": { - "smithy.api#documentation": "

                              An array of key-value pairs to apply to the analyzer. You can use the set of Unicode\n letters, digits, whitespace, _, ., /,\n =, +, and -.

                              \n

                              For the tag key, you can specify a value that is 1 to 128 characters in length and\n cannot be prefixed with aws:.

                              \n

                              For the tag value, you can specify a value that is 0 to 256 characters in length.

                              " + "smithy.api#documentation": "

                              An array of key-value pairs to apply to the analyzer. You can use the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.

                              For the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with aws:.

                              For the tag value, you can specify a value that is 0 to 256 characters in length.

                              " } }, "clientToken": { @@ -2966,7 +2972,7 @@ "configuration": { "target": "com.amazonaws.accessanalyzer#AnalyzerConfiguration", "traits": { - "smithy.api#documentation": "

                              Specifies the configuration of the analyzer. If the analyzer is an unused access\n analyzer, the specified scope of unused access is used for the configuration.

                              " + "smithy.api#documentation": "

                              Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration. If the analyzer is an internal access analyzer, the specified internal access analysis rules are used for the configuration.

                              " } } }, @@ -3020,7 +3026,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates an archive rule for the specified analyzer. Archive rules automatically archive\n new findings that meet the criteria you define when you create the rule.

                              \n

                              To learn about filter keys that you can use to create an archive rule, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", + "smithy.api#documentation": "

                              Creates an archive rule for the specified analyzer. Archive rules automatically archive new findings that meet the criteria you define when you create the rule.

                              To learn about filter keys that you can use to create an archive rule, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", "smithy.api#http": { "uri": "/analyzer/{analyzerName}/archive-rule", "method": "PUT", @@ -3095,7 +3101,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The criteria to use in the filter that defines the archive rule. For more information on\n available filter keys, see IAM Access Analyzer filter\n keys.

                              " + "smithy.api#documentation": "

                              The criteria to use in the filter that defines the archive rule. For more information on available filter keys, see IAM Access Analyzer filter keys.

                              " } }, "com.amazonaws.accessanalyzer#DeleteAnalyzer": { @@ -3124,7 +3130,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes the specified analyzer. When you delete an analyzer, IAM Access Analyzer is disabled\n for the account or organization in the current or specific Region. All findings that were\n generated by the analyzer are deleted. You cannot undo this action.

                              ", + "smithy.api#documentation": "

                              Deletes the specified analyzer. When you delete an analyzer, IAM Access Analyzer is disabled for the account or organization in the current or specific Region. All findings that were generated by the analyzer are deleted. You cannot undo this action.

                              ", "smithy.api#http": { "uri": "/analyzer/{analyzerName}", "method": "DELETE", @@ -3235,7 +3241,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for a DynamoDB stream. You can propose a\n configuration for a new DynamoDB stream or an existing DynamoDB stream that you own by specifying\n the policy for the DynamoDB stream. For more information, see PutResourcePolicy.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing DynamoDB stream and you do not specify the\n DynamoDB policy, then the access preview uses the existing DynamoDB policy for the\n stream.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the policy,\n then the access preview assumes a DynamoDB stream without a policy.

                                \n
                              • \n
                              • \n

                                To propose deletion of an existing DynamoDB stream policy, you can specify an empty\n string for the DynamoDB policy.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The proposed access control configuration for a DynamoDB stream. You can propose a configuration for a new DynamoDB stream or an existing DynamoDB stream that you own by specifying the policy for the DynamoDB stream. For more information, see PutResourcePolicy.

                              • If the configuration is for an existing DynamoDB stream and you do not specify the DynamoDB policy, then the access preview uses the existing DynamoDB policy for the stream.

                              • If the access preview is for a new resource and you do not specify the policy, then the access preview assumes a DynamoDB stream without a policy.

                              • To propose deletion of an existing DynamoDB stream policy, you can specify an empty string for the DynamoDB policy.

                              " } }, "com.amazonaws.accessanalyzer#DynamodbStreamPolicy": { @@ -3252,7 +3258,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for a DynamoDB table or index. You can propose a\n configuration for a new DynamoDB table or index or an existing DynamoDB table or index that you\n own by specifying the policy for the DynamoDB table or index. For more information, see PutResourcePolicy.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing DynamoDB table or index and you do not\n specify the DynamoDB policy, then the access preview uses the existing DynamoDB policy for\n the table or index.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the policy,\n then the access preview assumes a DynamoDB table without a policy.

                                \n
                              • \n
                              • \n

                                To propose deletion of an existing DynamoDB table or index policy, you can specify an\n empty string for the DynamoDB policy.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The proposed access control configuration for a DynamoDB table or index. You can propose a configuration for a new DynamoDB table or index or an existing DynamoDB table or index that you own by specifying the policy for the DynamoDB table or index. For more information, see PutResourcePolicy.

                              • If the configuration is for an existing DynamoDB table or index and you do not specify the DynamoDB policy, then the access preview uses the existing DynamoDB policy for the table or index.

                              • If the access preview is for a new resource and you do not specify the policy, then the access preview assumes a DynamoDB table without a policy.

                              • To propose deletion of an existing DynamoDB table or index policy, you can specify an empty string for the DynamoDB policy.

                              " } }, "com.amazonaws.accessanalyzer#DynamodbTablePolicy": { @@ -3273,24 +3279,24 @@ "userIds": { "target": "com.amazonaws.accessanalyzer#EbsUserIdList", "traits": { - "smithy.api#documentation": "

                              The IDs of the Amazon Web Services accounts that have access to the Amazon EBS volume snapshot.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon EBS volume snapshot and you do not\n specify the userIds, then the access preview uses the existing shared\n userIds for the snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the\n userIds, then the access preview considers the snapshot without any\n userIds.

                                \n
                              • \n
                              • \n

                                To propose deletion of existing shared accountIds, you can specify an\n empty list for userIds.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The IDs of the Amazon Web Services accounts that have access to the Amazon EBS volume snapshot.

                              • If the configuration is for an existing Amazon EBS volume snapshot and you do not specify the userIds, then the access preview uses the existing shared userIds for the snapshot.

                              • If the access preview is for a new resource and you do not specify the userIds, then the access preview considers the snapshot without any userIds.

                              • To propose deletion of existing shared accountIds, you can specify an empty list for userIds.

                              " } }, "groups": { "target": "com.amazonaws.accessanalyzer#EbsGroupList", "traits": { - "smithy.api#documentation": "

                              The groups that have access to the Amazon EBS volume snapshot. If the value all\n is specified, then the Amazon EBS volume snapshot is public.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon EBS volume snapshot and you do not\n specify the groups, then the access preview uses the existing shared\n groups for the snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the\n groups, then the access preview considers the snapshot without any\n groups.

                                \n
                              • \n
                              • \n

                                To propose deletion of existing shared groups, you can specify an\n empty list for groups.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The groups that have access to the Amazon EBS volume snapshot. If the value all is specified, then the Amazon EBS volume snapshot is public.

                              • If the configuration is for an existing Amazon EBS volume snapshot and you do not specify the groups, then the access preview uses the existing shared groups for the snapshot.

                              • If the access preview is for a new resource and you do not specify the groups, then the access preview considers the snapshot without any groups.

                              • To propose deletion of existing shared groups, you can specify an empty list for groups.

                              " } }, "kmsKeyId": { "target": "com.amazonaws.accessanalyzer#EbsSnapshotDataEncryptionKeyId", "traits": { - "smithy.api#documentation": "

                              The KMS key identifier for an encrypted Amazon EBS volume snapshot. The KMS key\n identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon EBS volume snapshot and you do not\n specify the kmsKeyId, or you specify an empty string, then the access\n preview uses the existing kmsKeyId of the snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the\n kmsKeyId, the access preview considers the snapshot as\n unencrypted.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The KMS key identifier for an encrypted Amazon EBS volume snapshot. The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                              • If the configuration is for an existing Amazon EBS volume snapshot and you do not specify the kmsKeyId, or you specify an empty string, then the access preview uses the existing kmsKeyId of the snapshot.

                              • If the access preview is for a new resource and you do not specify the kmsKeyId, the access preview considers the snapshot as unencrypted.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon EBS volume snapshot. You can propose\n a configuration for a new Amazon EBS volume snapshot or an Amazon EBS volume snapshot that you own by\n specifying the user IDs, groups, and optional KMS encryption key. For more information,\n see ModifySnapshotAttribute.

                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon EBS volume snapshot. You can propose a configuration for a new Amazon EBS volume snapshot or an Amazon EBS volume snapshot that you own by specifying the user IDs, groups, and optional KMS encryption key. For more information, see ModifySnapshotAttribute.

                              " } }, "com.amazonaws.accessanalyzer#EbsSnapshotDataEncryptionKeyId": { @@ -3311,12 +3317,12 @@ "repositoryPolicy": { "target": "com.amazonaws.accessanalyzer#EcrRepositoryPolicy", "traits": { - "smithy.api#documentation": "

                              The JSON repository policy text to apply to the Amazon ECR repository. For more information,\n see Private repository\n policy examples in the Amazon ECR User Guide.

                              " + "smithy.api#documentation": "

                              The JSON repository policy text to apply to the Amazon ECR repository. For more information, see Private repository policy examples in the Amazon ECR User Guide.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon ECR repository. You can propose a\n configuration for a new Amazon ECR repository or an existing Amazon ECR repository that you own by\n specifying the Amazon ECR policy. For more information, see Repository.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon ECR repository and you do not specify\n the Amazon ECR policy, then the access preview uses the existing Amazon ECR policy for the\n repository.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the policy,\n then the access preview assumes an Amazon ECR repository without a policy.

                                \n
                              • \n
                              • \n

                                To propose deletion of an existing Amazon ECR repository policy, you can specify an\n empty string for the Amazon ECR policy.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon ECR repository. You can propose a configuration for a new Amazon ECR repository or an existing Amazon ECR repository that you own by specifying the Amazon ECR policy. For more information, see Repository.

                              • If the configuration is for an existing Amazon ECR repository and you do not specify the Amazon ECR policy, then the access preview uses the existing Amazon ECR policy for the repository.

                              • If the access preview is for a new resource and you do not specify the policy, then the access preview assumes an Amazon ECR repository without a policy.

                              • To propose deletion of an existing Amazon ECR repository policy, you can specify an empty string for the Amazon ECR policy.

                              " } }, "com.amazonaws.accessanalyzer#EcrRepositoryPolicy": { @@ -3328,12 +3334,12 @@ "fileSystemPolicy": { "target": "com.amazonaws.accessanalyzer#EfsFileSystemPolicy", "traits": { - "smithy.api#documentation": "

                              The JSON policy definition to apply to the Amazon EFS file system. For more information on\n the elements that make up a file system policy, see Amazon EFS Resource-based policies.

                              " + "smithy.api#documentation": "

                              The JSON policy definition to apply to the Amazon EFS file system. For more information on the elements that make up a file system policy, see Amazon EFS Resource-based policies.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon EFS file system. You can propose a\n configuration for a new Amazon EFS file system or an existing Amazon EFS file system that you own by\n specifying the Amazon EFS policy. For more information, see Using file systems in Amazon EFS.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon EFS file system and you do not specify\n the Amazon EFS policy, then the access preview uses the existing Amazon EFS policy for the file\n system.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the policy,\n then the access preview assumes an Amazon EFS file system without a policy.

                                \n
                              • \n
                              • \n

                                To propose deletion of an existing Amazon EFS file system policy, you can specify an\n empty string for the Amazon EFS policy.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon EFS file system. You can propose a configuration for a new Amazon EFS file system or an existing Amazon EFS file system that you own by specifying the Amazon EFS policy. For more information, see Using file systems in Amazon EFS.

                              • If the configuration is for an existing Amazon EFS file system and you do not specify the Amazon EFS policy, then the access preview uses the existing Amazon EFS policy for the file system.

                              • If the access preview is for a new resource and you do not specify the policy, then the access preview assumes an Amazon EFS file system without a policy.

                              • To propose deletion of an existing Amazon EFS file system policy, you can specify an empty string for the Amazon EFS policy.

                              " } }, "com.amazonaws.accessanalyzer#EfsFileSystemPolicy": { @@ -3345,13 +3351,13 @@ "action": { "target": "com.amazonaws.accessanalyzer#ActionList", "traits": { - "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to\n use.

                              " + "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to use.

                              " } }, "condition": { "target": "com.amazonaws.accessanalyzer#ConditionKeyMap", "traits": { - "smithy.api#documentation": "

                              The condition in the analyzed policy statement that resulted in an external access\n finding.

                              ", + "smithy.api#documentation": "

                              The condition in the analyzed policy statement that resulted in an external access finding.

                              ", "smithy.api#required": {} } }, @@ -3370,13 +3376,13 @@ "sources": { "target": "com.amazonaws.accessanalyzer#FindingSourceList", "traits": { - "smithy.api#documentation": "

                              The sources of the external access finding. This indicates how the access that generated\n the finding is granted. It is populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              The sources of the external access finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

                              " } }, "resourceControlPolicyRestriction": { "target": "com.amazonaws.accessanalyzer#ResourceControlPolicyRestriction", "traits": { - "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations\n resource control policy (RCP).

                              " + "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                              • APPLICABLE: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLICABLE, then s3:DeleteObject would still be included in the list of actions for the finding.

                              • FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

                              • NOT_APPLICABLE: There was no RCP present in the organization, or there was no RCP applicable to the resource. For example, the resource being analyzed is an Amazon RDS snapshot and there is an RCP in the organization, but the RCP only impacts Amazon S3 buckets.

                              • APPLIED: This restriction is not currently available for external access findings.

                              " } } }, @@ -3390,7 +3396,7 @@ "resourceTypeStatistics": { "target": "com.amazonaws.accessanalyzer#ResourceTypeStatisticsMap", "traits": { - "smithy.api#documentation": "

                              The total number of active cross-account and public findings for each resource type of\n the specified external access analyzer.

                              " + "smithy.api#documentation": "

                              The total number of active cross-account and public findings for each resource type of the specified external access analyzer.

                              " } }, "totalActiveFindings": { @@ -3413,7 +3419,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Provides aggregate statistics about the findings for the specified external access\n analyzer.

                              " + "smithy.api#documentation": "

                              Provides aggregate statistics about the findings for the specified external access analyzer.

                              " } }, "com.amazonaws.accessanalyzer#FilterCriteriaMap": { @@ -3444,7 +3450,7 @@ "action": { "target": "com.amazonaws.accessanalyzer#ActionList", "traits": { - "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to\n use.

                              " + "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to use.

                              " } }, "resource": { @@ -3456,7 +3462,7 @@ "isPublic": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether the policy that generated the finding allows public access to the\n resource.

                              " + "smithy.api#documentation": "

                              Indicates whether the policy that generated the finding allows public access to the resource.

                              " } }, "resourceType": { @@ -3517,13 +3523,13 @@ "sources": { "target": "com.amazonaws.accessanalyzer#FindingSourceList", "traits": { - "smithy.api#documentation": "

                              The sources of the finding. This indicates how the access that generated the finding is\n granted. It is populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

                              " } }, "resourceControlPolicyRestriction": { "target": "com.amazonaws.accessanalyzer#ResourceControlPolicyRestriction", "traits": { - "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations\n resource control policy (RCP).

                              " + "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                              " } } }, @@ -3549,12 +3555,12 @@ "details": { "target": "com.amazonaws.accessanalyzer#FindingAggregationAccountDetailsMap", "traits": { - "smithy.api#documentation": "

                              Provides the number of active findings for each type of unused access for the specified\n Amazon Web Services account.

                              " + "smithy.api#documentation": "

                              Provides the number of active findings for each type of unused access for the specified Amazon Web Services account.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the findings for an Amazon Web Services account in an organization unused\n access analyzer.

                              " + "smithy.api#documentation": "

                              Contains information about the findings for an Amazon Web Services account in an organization unused access analyzer.

                              " } }, "com.amazonaws.accessanalyzer#FindingAggregationAccountDetailsMap": { @@ -3588,6 +3594,12 @@ "com.amazonaws.accessanalyzer#FindingDetails": { "type": "union", "members": { + "internalAccessDetails": { + "target": "com.amazonaws.accessanalyzer#InternalAccessDetails", + "traits": { + "smithy.api#documentation": "

                              The details for an internal access analyzer finding. This contains information about access patterns identified within your Amazon Web Services organization or account.

                              " + } + }, "externalAccessDetails": { "target": "com.amazonaws.accessanalyzer#ExternalAccessDetails", "traits": { @@ -3597,30 +3609,30 @@ "unusedPermissionDetails": { "target": "com.amazonaws.accessanalyzer#UnusedPermissionDetails", "traits": { - "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused permission finding\n type.

                              " + "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused permission finding type.

                              " } }, "unusedIamUserAccessKeyDetails": { "target": "com.amazonaws.accessanalyzer#UnusedIamUserAccessKeyDetails", "traits": { - "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused IAM user access key\n finding type.

                              " + "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused IAM user access key finding type.

                              " } }, "unusedIamRoleDetails": { "target": "com.amazonaws.accessanalyzer#UnusedIamRoleDetails", "traits": { - "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused IAM role finding\n type.

                              " + "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused IAM role finding type.

                              " } }, "unusedIamUserPasswordDetails": { "target": "com.amazonaws.accessanalyzer#UnusedIamUserPasswordDetails", "traits": { - "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused IAM user password\n finding type.

                              " + "smithy.api#documentation": "

                              The details for an unused access analyzer finding with an unused IAM user password finding type.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an external access or unused access finding. Only one\n parameter can be used in a FindingDetails object.

                              " + "smithy.api#documentation": "

                              Contains information about an external access or unused access finding. Only one parameter can be used in a FindingDetails object.

                              " } }, "com.amazonaws.accessanalyzer#FindingDetailsList": { @@ -3651,12 +3663,12 @@ "detail": { "target": "com.amazonaws.accessanalyzer#FindingSourceDetail", "traits": { - "smithy.api#documentation": "

                              Includes details about how the access that generated the finding is granted. This is\n populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              Includes details about how the access that generated the finding is granted. This is populated for Amazon S3 bucket findings.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The source of the finding. This indicates how the access that generated the finding is\n granted. It is populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              The source of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

                              " } }, "com.amazonaws.accessanalyzer#FindingSourceDetail": { @@ -3665,7 +3677,7 @@ "accessPointArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The ARN of the access point that generated the finding. The ARN format depends on\n whether the ARN represents an access point or a multi-region access point.

                              " + "smithy.api#documentation": "

                              The ARN of the access point that generated the finding. The ARN format depends on whether the ARN represents an access point or a multi-region access point.

                              " } }, "accessPointAccount": { @@ -3676,7 +3688,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Includes details about how the access that generated the finding is granted. This is\n populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              Includes details about how the access that generated the finding is granted. This is populated for Amazon S3 bucket findings.

                              " } }, "com.amazonaws.accessanalyzer#FindingSourceList": { @@ -3761,7 +3773,7 @@ "action": { "target": "com.amazonaws.accessanalyzer#ActionList", "traits": { - "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to\n use.

                              " + "smithy.api#documentation": "

                              The action in the analyzed policy statement that an external principal has permission to use.

                              " } }, "resource": { @@ -3773,7 +3785,7 @@ "isPublic": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether the finding reports a resource that has a policy that allows public\n access.

                              " + "smithy.api#documentation": "

                              Indicates whether the finding reports a resource that has a policy that allows public access.

                              " } }, "resourceType": { @@ -3800,7 +3812,7 @@ "analyzedAt": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The time at which the resource-based policy that generated the finding was\n analyzed.

                              ", + "smithy.api#documentation": "

                              The time at which the resource-based policy that generated the finding was analyzed.

                              ", "smithy.api#required": {} } }, @@ -3834,13 +3846,13 @@ "sources": { "target": "com.amazonaws.accessanalyzer#FindingSourceList", "traits": { - "smithy.api#documentation": "

                              The sources of the finding. This indicates how the access that generated the finding is\n granted. It is populated for Amazon S3 bucket findings.

                              " + "smithy.api#documentation": "

                              The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

                              " } }, "resourceControlPolicyRestriction": { "target": "com.amazonaws.accessanalyzer#ResourceControlPolicyRestriction", "traits": { - "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations\n resource control policy (RCP).

                              " + "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                              " } } }, @@ -3854,7 +3866,7 @@ "analyzedAt": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The time at which the resource-based policy or IAM entity that generated the finding\n was analyzed.

                              ", + "smithy.api#documentation": "

                              The time at which the resource-based policy or IAM entity that generated the finding was analyzed.

                              ", "smithy.api#required": {} } }, @@ -3915,7 +3927,7 @@ "findingType": { "target": "com.amazonaws.accessanalyzer#FindingType", "traits": { - "smithy.api#documentation": "

                              The type of the external access or unused access finding.

                              " + "smithy.api#documentation": "

                              The type of the access finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission. For internal access analyzers, the type is InternalAccess.

                              " } } }, @@ -3946,6 +3958,10 @@ { "value": "UnusedPermission", "name": "UNUSED_PERMISSION" + }, + { + "value": "InternalAccess", + "name": "INTERNAL_ACCESS" } ] } @@ -3971,6 +3987,12 @@ "smithy.api#documentation": "

                              The aggregate statistics for an external access analyzer.

                              " } }, + "internalAccessFindingsStatistics": { + "target": "com.amazonaws.accessanalyzer#InternalAccessFindingsStatistics", + "traits": { + "smithy.api#documentation": "

                              The aggregate statistics for an internal access analyzer. This includes information about active, archived, and resolved findings related to internal access within your Amazon Web Services organization or account.

                              " + } + }, "unusedAccessFindingsStatistics": { "target": "com.amazonaws.accessanalyzer#UnusedAccessFindingsStatistics", "traits": { @@ -3979,7 +4001,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the aggregate statistics for an external or unused access\n analyzer. Only one parameter can be used in a FindingsStatistics\n object.

                              " + "smithy.api#documentation": "

                              Contains information about the aggregate statistics for an external or unused access analyzer. Only one parameter can be used in a FindingsStatistics object.

                              " } }, "com.amazonaws.accessanalyzer#FindingsStatisticsList": { @@ -4050,7 +4072,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer used to generate the finding recommendation.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer used to generate the finding recommendation.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -4078,7 +4100,7 @@ "policy": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The text to use as the content for the new policy. The policy is created using the\n CreatePolicy action.

                              ", + "smithy.api#documentation": "

                              The text to use as the content for the new policy. The policy is created using the CreatePolicy action.

                              ", "smithy.api#required": {} } } @@ -4099,7 +4121,7 @@ "isComplete": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              This value is set to true if the generated policy contains all possible\n actions for a service that IAM Access Analyzer identified from the CloudTrail trail that you specified,\n and false otherwise.

                              " + "smithy.api#documentation": "

                              This value is set to true if the generated policy contains all possible actions for a service that IAM Access Analyzer identified from the CloudTrail trail that you specified, and false otherwise.

                              " } }, "principalArn": { @@ -4126,14 +4148,14 @@ "properties": { "target": "com.amazonaws.accessanalyzer#GeneratedPolicyProperties", "traits": { - "smithy.api#documentation": "

                              A GeneratedPolicyProperties object that contains properties of the\n generated policy.

                              ", + "smithy.api#documentation": "

                              A GeneratedPolicyProperties object that contains properties of the generated policy.

                              ", "smithy.api#required": {} } }, "generatedPolicies": { "target": "com.amazonaws.accessanalyzer#GeneratedPolicyList", "traits": { - "smithy.api#documentation": "

                              The text to use as the content for the new policy. The policy is created using the\n CreatePolicy action.

                              " + "smithy.api#documentation": "

                              The text to use as the content for the new policy. The policy is created using the CreatePolicy action.

                              " } } }, @@ -4190,7 +4212,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer used to generate the access preview.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer used to generate the access preview.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -4250,7 +4272,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer to retrieve information from.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer to retrieve information from.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -4274,7 +4296,7 @@ "resource": { "target": "com.amazonaws.accessanalyzer#AnalyzedResource", "traits": { - "smithy.api#documentation": "

                              An AnalyzedResource object that contains information that IAM Access Analyzer\n found when it analyzed the resource.

                              " + "smithy.api#documentation": "

                              An AnalyzedResource object that contains information that IAM Access Analyzer found when it analyzed the resource.

                              " } } }, @@ -4339,7 +4361,7 @@ "analyzer": { "target": "com.amazonaws.accessanalyzer#AnalyzerSummary", "traits": { - "smithy.api#documentation": "

                              An AnalyzerSummary object that contains information about the\n analyzer.

                              ", + "smithy.api#documentation": "

                              An AnalyzerSummary object that contains information about the analyzer.

                              ", "smithy.api#required": {} } } @@ -4374,7 +4396,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves information about an archive rule.

                              \n

                              To learn about filter keys that you can use to create an archive rule, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", + "smithy.api#documentation": "

                              Retrieves information about an archive rule.

                              To learn about filter keys that you can use to create an archive rule, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", "smithy.api#http": { "uri": "/analyzer/{analyzerName}/archive-rule/{ruleName}", "method": "GET", @@ -4447,7 +4469,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves information about the specified finding. GetFinding and GetFindingV2 both use\n access-analyzer:GetFinding in the Action element of an IAM\n policy statement. You must have permission to perform the\n access-analyzer:GetFinding action.

                              ", + "smithy.api#documentation": "

                              Retrieves information about the specified finding. GetFinding and GetFindingV2 both use access-analyzer:GetFinding in the Action element of an IAM policy statement. You must have permission to perform the access-analyzer:GetFinding action.

                              ", "smithy.api#http": { "uri": "/finding/{id}", "method": "GET", @@ -4584,7 +4606,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer used to generate the finding recommendation.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer used to generate the finding recommendation.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -4649,7 +4671,7 @@ "error": { "target": "com.amazonaws.accessanalyzer#RecommendationError", "traits": { - "smithy.api#documentation": "

                              Detailed information about the reason that the retrieval of a recommendation for the\n finding failed.

                              " + "smithy.api#documentation": "

                              Detailed information about the reason that the retrieval of a recommendation for the finding failed.

                              " } }, "resourceArn": { @@ -4690,7 +4712,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer that generated the finding.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer that generated the finding.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -4748,7 +4770,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves information about the specified finding. GetFinding and GetFindingV2 both use\n access-analyzer:GetFinding in the Action element of an IAM\n policy statement. You must have permission to perform the\n access-analyzer:GetFinding action.

                              ", + "smithy.api#documentation": "

                              Retrieves information about the specified finding. GetFinding and GetFindingV2 both use access-analyzer:GetFinding in the Action element of an IAM policy statement. You must have permission to perform the access-analyzer:GetFinding action.

                              ", "smithy.api#http": { "uri": "/findingv2/{id}", "method": "GET", @@ -4766,7 +4788,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer that generated the finding.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer that generated the finding.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -4804,7 +4826,7 @@ "analyzedAt": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The time at which the resource-based policy or IAM entity that generated the finding\n was analyzed.

                              ", + "smithy.api#documentation": "

                              The time at which the resource-based policy or IAM entity that generated the finding was analyzed.

                              ", "smithy.api#required": {} } }, @@ -4871,14 +4893,14 @@ "findingDetails": { "target": "com.amazonaws.accessanalyzer#FindingDetailsList", "traits": { - "smithy.api#documentation": "

                              A localized message that explains the finding and provides guidance on how to address\n it.

                              ", + "smithy.api#documentation": "

                              A localized message that explains the finding and provides guidance on how to address it.

                              ", "smithy.api#required": {} } }, "findingType": { "target": "com.amazonaws.accessanalyzer#FindingType", "traits": { - "smithy.api#documentation": "

                              The type of the finding. For external access analyzers, the type is\n ExternalAccess. For unused access analyzers, the type can be\n UnusedIAMRole, UnusedIAMUserAccessKey,\n UnusedIAMUserPassword, or UnusedPermission.

                              " + "smithy.api#documentation": "

                              The type of the finding. For external access analyzers, the type is ExternalAccess. For unused access analyzers, the type can be UnusedIAMRole, UnusedIAMUserAccessKey, UnusedIAMUserPassword, or UnusedPermission. For internal access analyzers, the type is InternalAccess.

                              " } } }, @@ -4912,7 +4934,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a list of aggregated finding statistics for an external access or unused\n access analyzer.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of aggregated finding statistics for an external access or unused access analyzer.

                              ", "smithy.api#http": { "uri": "/analyzer/findings/statistics", "method": "POST", @@ -4930,7 +4952,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer used to generate the statistics.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer used to generate the statistics.

                              ", "smithy.api#required": {} } } @@ -4951,7 +4973,7 @@ "lastUpdatedAt": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The time at which the retrieval of the findings statistics was last updated. If the\n findings statistics have not been previously retrieved for the specified analyzer, this\n field will not be populated.

                              " + "smithy.api#documentation": "

                              The time at which the retrieval of the findings statistics was last updated. If the findings statistics have not been previously retrieved for the specified analyzer, this field will not be populated.

                              " } } }, @@ -4982,7 +5004,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves the policy that was generated using StartPolicyGeneration.\n

                              ", + "smithy.api#documentation": "

                              Retrieves the policy that was generated using StartPolicyGeneration.

                              ", "smithy.api#http": { "uri": "/policy/generation/{jobId}", "method": "GET", @@ -4997,7 +5019,7 @@ "jobId": { "target": "com.amazonaws.accessanalyzer#JobId", "traits": { - "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration\n operation. The JobId can be used with GetGeneratedPolicy to\n retrieve the generated policies or used with CancelPolicyGeneration to cancel\n the policy generation request.

                              ", + "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration operation. The JobId can be used with GetGeneratedPolicy to retrieve the generated policies or used with CancelPolicyGeneration to cancel the policy generation request.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5005,14 +5027,14 @@ "includeResourcePlaceholders": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              The level of detail that you want to generate. You can specify whether to generate\n policies with placeholders for resource ARNs for actions that support resource level\n granularity in policies.

                              \n

                              For example, in the resource section of a policy, you can receive a placeholder such as\n \"Resource\":\"arn:aws:s3:::${BucketName}\" instead of \"*\".

                              ", + "smithy.api#documentation": "

                              The level of detail that you want to generate. You can specify whether to generate policies with placeholders for resource ARNs for actions that support resource level granularity in policies.

                              For example, in the resource section of a policy, you can receive a placeholder such as \"Resource\":\"arn:aws:s3:::${BucketName}\" instead of \"*\".

                              ", "smithy.api#httpQuery": "includeResourcePlaceholders" } }, "includeServiceLevelTemplate": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              The level of detail that you want to generate. You can specify whether to generate\n service-level policies.

                              \n

                              IAM Access Analyzer uses iam:servicelastaccessed to identify services that have\n been used recently to create this service-level template.

                              ", + "smithy.api#documentation": "

                              The level of detail that you want to generate. You can specify whether to generate service-level policies.

                              IAM Access Analyzer uses iam:servicelastaccessed to identify services that have been used recently to create this service-level template.

                              ", "smithy.api#httpQuery": "includeServiceLevelTemplate" } } @@ -5024,14 +5046,14 @@ "jobDetails": { "target": "com.amazonaws.accessanalyzer#JobDetails", "traits": { - "smithy.api#documentation": "

                              A GeneratedPolicyDetails object that contains details about the generated\n policy.

                              ", + "smithy.api#documentation": "

                              A GeneratedPolicyDetails object that contains details about the generated policy.

                              ", "smithy.api#required": {} } }, "generatedPolicyResult": { "target": "com.amazonaws.accessanalyzer#GeneratedPolicyResult", "traits": { - "smithy.api#documentation": "

                              A GeneratedPolicyResult object that contains the generated policies and\n associated details.

                              ", + "smithy.api#documentation": "

                              A GeneratedPolicyResult object that contains the generated policies and associated details.

                              ", "smithy.api#required": {} } } @@ -5051,7 +5073,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an IAM role. You can propose a\n configuration for a new IAM role or an existing IAM role that you own by specifying the\n trust policy. If the configuration is for a new IAM role, you must specify the trust\n policy. If the configuration is for an existing IAM role that you own and you do not\n propose the trust policy, the access preview uses the existing trust policy for the role.\n The proposed trust policy cannot be an empty string. For more information about role trust\n policy limits, see IAM and STS\n quotas.

                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an IAM role. You can propose a configuration for a new IAM role or an existing IAM role that you own by specifying the trust policy. If the configuration is for a new IAM role, you must specify the trust policy. If the configuration is for an existing IAM role that you own and you do not propose the trust policy, the access preview uses the existing trust policy for the role. The proposed trust policy cannot be an empty string. For more information about role trust policy limits, see IAM and STS quotas.

                              " } }, "com.amazonaws.accessanalyzer#IamTrustPolicy": { @@ -5076,7 +5098,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              An criterion statement in an archive rule. Each archive rule may have multiple\n criteria.

                              " + "smithy.api#documentation": "

                              An criterion statement in an archive rule. Each archive rule may have multiple criteria.

                              " } }, "com.amazonaws.accessanalyzer#InlineArchiveRulesList": { @@ -5085,6 +5107,210 @@ "target": "com.amazonaws.accessanalyzer#InlineArchiveRule" } }, + "com.amazonaws.accessanalyzer#InternalAccessAnalysisRule": { + "type": "structure", + "members": { + "inclusions": { + "target": "com.amazonaws.accessanalyzer#InternalAccessAnalysisRuleCriteriaList", + "traits": { + "smithy.api#documentation": "

                              A list of rules for the internal access analyzer containing criteria to include in analysis. Only resources that meet the rule criteria will generate findings.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about analysis rules for the internal access analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.

                              " + } + }, + "com.amazonaws.accessanalyzer#InternalAccessAnalysisRuleCriteria": { + "type": "structure", + "members": { + "accountIds": { + "target": "com.amazonaws.accessanalyzer#AccountIdsList", + "traits": { + "smithy.api#documentation": "

                              A list of Amazon Web Services account IDs to apply to the internal access analysis rule criteria. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.

                              " + } + }, + "resourceTypes": { + "target": "com.amazonaws.accessanalyzer#ResourceTypeList", + "traits": { + "smithy.api#documentation": "

                              A list of resource types to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources of these types. These resource types are currently supported for internal access analyzers:

                              • AWS::S3::Bucket

                              • AWS::RDS::DBSnapshot

                              • AWS::RDS::DBClusterSnapshot

                              • AWS::S3Express::DirectoryBucket

                              • AWS::DynamoDB::Table

                              • AWS::DynamoDB::Stream

                              " + } + }, + "resourceArns": { + "target": "com.amazonaws.accessanalyzer#ResourceArnsList", + "traits": { + "smithy.api#documentation": "

                              A list of resource ARNs to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources that match these ARNs.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The criteria for an analysis rule for an internal access analyzer.

                              " + } + }, + "com.amazonaws.accessanalyzer#InternalAccessAnalysisRuleCriteriaList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#InternalAccessAnalysisRuleCriteria" + } + }, + "com.amazonaws.accessanalyzer#InternalAccessConfiguration": { + "type": "structure", + "members": { + "analysisRule": { + "target": "com.amazonaws.accessanalyzer#InternalAccessAnalysisRule", + "traits": { + "smithy.api#documentation": "

                              Contains information about analysis rules for the internal access analyzer. These rules determine which resources and access patterns will be analyzed.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies the configuration of an internal access analyzer for an Amazon Web Services organization or account. This configuration determines how the analyzer evaluates internal access within your Amazon Web Services environment.

                              " + } + }, + "com.amazonaws.accessanalyzer#InternalAccessDetails": { + "type": "structure", + "members": { + "action": { + "target": "com.amazonaws.accessanalyzer#ActionList", + "traits": { + "smithy.api#documentation": "

                              The action in the analyzed policy statement that has internal access permission to use.

                              " + } + }, + "condition": { + "target": "com.amazonaws.accessanalyzer#ConditionKeyMap", + "traits": { + "smithy.api#documentation": "

                              The condition in the analyzed policy statement that resulted in an internal access finding.

                              " + } + }, + "principal": { + "target": "com.amazonaws.accessanalyzer#PrincipalMap", + "traits": { + "smithy.api#documentation": "

                              The principal that has access to a resource within the internal environment.

                              " + } + }, + "principalOwnerAccount": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services account ID that owns the principal identified in the internal access finding.

                              " + } + }, + "accessType": { + "target": "com.amazonaws.accessanalyzer#InternalAccessType", + "traits": { + "smithy.api#documentation": "

                              The type of internal access identified in the finding. This indicates how the access is granted within your Amazon Web Services environment.

                              " + } + }, + "principalType": { + "target": "com.amazonaws.accessanalyzer#PrincipalType", + "traits": { + "smithy.api#documentation": "

                              The type of principal identified in the internal access finding, such as IAM role or IAM user.

                              " + } + }, + "sources": { + "target": "com.amazonaws.accessanalyzer#FindingSourceList", + "traits": { + "smithy.api#documentation": "

                              The sources of the internal access finding. This indicates how the access that generated the finding is granted within your Amazon Web Services environment.

                              " + } + }, + "resourceControlPolicyRestriction": { + "target": "com.amazonaws.accessanalyzer#ResourceControlPolicyRestriction", + "traits": { + "smithy.api#documentation": "

                              The type of restriction applied to the finding by the resource owner with an Organizations resource control policy (RCP).

                              • APPLICABLE: There is an RCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLICABLE, then s3:DeleteObject would still be included in the list of actions for the finding. Only applicable to internal access findings with the account as the zone of trust.

                              • FAILED_TO_EVALUATE_RCP: There was an error evaluating the RCP.

                              • NOT_APPLICABLE: There was no RCP present in the organization. For internal access findings with the account as the zone of trust, NOT_APPLICABLE could also indicate that there was no RCP applicable to the resource.

                              • APPLIED: An RCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. For example, if s3:DeleteObject is blocked by the RCP and the restriction is APPLIED, then s3:DeleteObject would not be included in the list of actions for the finding. Only applicable to internal access findings with the organization as the zone of trust.

                              " + } + }, + "serviceControlPolicyRestriction": { + "target": "com.amazonaws.accessanalyzer#ServiceControlPolicyRestriction", + "traits": { + "smithy.api#documentation": "

                              The type of restriction applied to the finding by an Organizations service control policy (SCP).

                              • APPLICABLE: There is an SCP present in the organization but IAM Access Analyzer does not include it in the evaluation of effective permissions. Only applicable to internal access findings with the account as the zone of trust.

                              • FAILED_TO_EVALUATE_SCP: There was an error evaluating the SCP.

                              • NOT_APPLICABLE: There was no SCP present in the organization. For internal access findings with the account as the zone of trust, NOT_APPLICABLE could also indicate that there was no SCP applicable to the principal.

                              • APPLIED: An SCP is present in the organization and IAM Access Analyzer included it in the evaluation of effective permissions. Only applicable to internal access findings with the organization as the zone of trust.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about an internal access finding. This includes details about the access that was identified within your Amazon Web Services organization or account.

                              " + } + }, + "com.amazonaws.accessanalyzer#InternalAccessFindingsStatistics": { + "type": "structure", + "members": { + "resourceTypeStatistics": { + "target": "com.amazonaws.accessanalyzer#InternalAccessResourceTypeStatisticsMap", + "traits": { + "smithy.api#documentation": "

                              The total number of active findings for each resource type of the specified internal access analyzer.

                              " + } + }, + "totalActiveFindings": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of active findings for the specified internal access analyzer.

                              " + } + }, + "totalArchivedFindings": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of archived findings for the specified internal access analyzer.

                              " + } + }, + "totalResolvedFindings": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of resolved findings for the specified internal access analyzer.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Provides aggregate statistics about the findings for the specified internal access analyzer. This includes counts of active, archived, and resolved findings.

                              " + } + }, + "com.amazonaws.accessanalyzer#InternalAccessResourceTypeDetails": { + "type": "structure", + "members": { + "totalActiveFindings": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The total number of active findings for the resource type in the internal access analyzer.

                              " + } + }, + "totalResolvedFindings": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The total number of resolved findings for the resource type in the internal access analyzer.

                              " + } + }, + "totalArchivedFindings": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The total number of archived findings for the resource type in the internal access analyzer.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about the total number of active, archived, and resolved findings for a resource type of an internal access analyzer.

                              " + } + }, + "com.amazonaws.accessanalyzer#InternalAccessResourceTypeStatisticsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.accessanalyzer#ResourceType" + }, + "value": { + "target": "com.amazonaws.accessanalyzer#InternalAccessResourceTypeDetails" + } + }, + "com.amazonaws.accessanalyzer#InternalAccessType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "INTRA_ACCOUNT", + "name": "INTRA_ACCOUNT" + }, + { + "value": "INTRA_ORG", + "name": "INTRA_ORG" + } + ] + } + }, "com.amazonaws.accessanalyzer#InternalServerException": { "type": "structure", "members": { @@ -5113,7 +5339,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

                              This configuration sets the network origin for the Amazon S3 access point or multi-region\n access point to Internet.

                              " + "smithy.api#documentation": "

                              This configuration sets the network origin for the Amazon S3 access point or multi-region access point to Internet.

                              " } }, "com.amazonaws.accessanalyzer#InvalidParameterException": { @@ -5144,7 +5370,7 @@ "jobId": { "target": "com.amazonaws.accessanalyzer#JobId", "traits": { - "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration\n operation. The JobId can be used with GetGeneratedPolicy to\n retrieve the generated policies or used with CancelPolicyGeneration to cancel\n the policy generation request.

                              ", + "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration operation. The JobId can be used with GetGeneratedPolicy to retrieve the generated policies or used with CancelPolicyGeneration to cancel the policy generation request.

                              ", "smithy.api#required": {} } }, @@ -5192,7 +5418,7 @@ "message": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              Specific information about the error. For example, which service quota was exceeded or\n which resource was not found.

                              ", + "smithy.api#documentation": "

                              Specific information about the error. For example, which service quota was exceeded or which resource was not found.

                              ", "smithy.api#required": {} } } @@ -5278,7 +5504,7 @@ "granteePrincipal": { "target": "com.amazonaws.accessanalyzer#GranteePrincipal", "traits": { - "smithy.api#documentation": "

                              The principal that is given permission to perform the operations that the grant\n permits.

                              ", + "smithy.api#documentation": "

                              The principal that is given permission to perform the operations that the grant permits.

                              ", "smithy.api#required": {} } }, @@ -5291,13 +5517,13 @@ "constraints": { "target": "com.amazonaws.accessanalyzer#KmsGrantConstraints", "traits": { - "smithy.api#documentation": "

                              Use this structure to propose allowing cryptographic\n operations in the grant only when the operation request includes the specified\n encryption\n context.

                              " + "smithy.api#documentation": "

                              Use this structure to propose allowing cryptographic operations in the grant only when the operation request includes the specified encryption context.

                              " } }, "issuingAccount": { "target": "com.amazonaws.accessanalyzer#IssuingAccount", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services account under which the grant was issued. The account is used to propose\n KMS grants issued by accounts other than the owner of the key.

                              ", + "smithy.api#documentation": "

                              The Amazon Web Services account under which the grant was issued. The account is used to propose KMS grants issued by accounts other than the owner of the key.

                              ", "smithy.api#required": {} } } @@ -5318,18 +5544,18 @@ "encryptionContextEquals": { "target": "com.amazonaws.accessanalyzer#KmsConstraintsMap", "traits": { - "smithy.api#documentation": "

                              A list of key-value pairs that must match the encryption context in the cryptographic\n operation request. The grant allows the operation only when the encryption\n context in the request is the same as the encryption context specified in this\n constraint.

                              " + "smithy.api#documentation": "

                              A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.

                              " } }, "encryptionContextSubset": { "target": "com.amazonaws.accessanalyzer#KmsConstraintsMap", "traits": { - "smithy.api#documentation": "

                              A list of key-value pairs that must be included in the encryption context of the cryptographic\n operation request. The grant allows the cryptographic operation only when the\n encryption context in the request includes the key-value pairs specified in this\n constraint, although it can include additional key-value pairs.

                              " + "smithy.api#documentation": "

                              A list of key-value pairs that must be included in the encryption context of the cryptographic operation request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Use this structure to propose allowing cryptographic\n operations in the grant only when the operation request includes the specified\n encryption\n context. You can specify only one type of encryption context. An empty map is\n treated as not specified. For more information, see GrantConstraints.

                              " + "smithy.api#documentation": "

                              Use this structure to propose allowing cryptographic operations in the grant only when the operation request includes the specified encryption context. You can specify only one type of encryption context. An empty map is treated as not specified. For more information, see GrantConstraints.

                              " } }, "com.amazonaws.accessanalyzer#KmsGrantOperation": { @@ -5407,18 +5633,18 @@ "keyPolicies": { "target": "com.amazonaws.accessanalyzer#KmsKeyPoliciesMap", "traits": { - "smithy.api#documentation": "

                              Resource policy configuration for the KMS key. The only valid value for the name of\n the key policy is default. For more information, see Default key\n policy.

                              " + "smithy.api#documentation": "

                              Resource policy configuration for the KMS key. The only valid value for the name of the key policy is default. For more information, see Default key policy.

                              " } }, "grants": { "target": "com.amazonaws.accessanalyzer#KmsGrantConfigurationsList", "traits": { - "smithy.api#documentation": "

                              A list of proposed grant configurations for the KMS key. If the proposed grant\n configuration is for an existing key, the access preview uses the proposed list of grant\n configurations in place of the existing grants. Otherwise, the access preview uses the\n existing grants for the key.

                              " + "smithy.api#documentation": "

                              A list of proposed grant configurations for the KMS key. If the proposed grant configuration is for an existing key, the access preview uses the proposed list of grant configurations in place of the existing grants. Otherwise, the access preview uses the existing grants for the key.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Proposed access control configuration for a KMS key. You can propose a configuration\n for a new KMS key or an existing KMS key that you own by specifying the key policy and\n KMS grant configuration. If the configuration is for an existing key and you do not\n specify the key policy, the access preview uses the existing policy for the key. If the\n access preview is for a new resource and you do not specify the key policy, then the access\n preview uses the default key policy. The proposed key policy cannot be an empty string. For\n more information, see Default key\n policy. For more information about key policy limits, see Resource\n quotas.

                              \n

                              " + "smithy.api#documentation": "

                              Proposed access control configuration for a KMS key. You can propose a configuration for a new KMS key or an existing KMS key that you own by specifying the key policy and KMS grant configuration. If the configuration is for an existing key and you do not specify the key policy, the access preview uses the existing policy for the key. If the access preview is for a new resource and you do not specify the key policy, then the access preview uses the default key policy. The proposed key policy cannot be an empty string. For more information, see Default key policy. For more information about key policy limits, see Resource quotas.

                              " } }, "com.amazonaws.accessanalyzer#KmsKeyPoliciesMap": { @@ -5465,7 +5691,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a list of access preview findings generated by the specified access\n preview.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of access preview findings generated by the specified access preview.

                              ", "smithy.api#http": { "uri": "/access-preview/{accessPreviewId}", "method": "POST", @@ -5494,7 +5720,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer used to generate the access.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer used to generate the access.

                              ", "smithy.api#required": {} } }, @@ -5580,7 +5806,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer used to generate the access preview.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer used to generate the access preview.

                              ", "smithy.api#httpQuery": "analyzerArn", "smithy.api#required": {} } @@ -5645,7 +5871,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a list of resources of the specified type that have been analyzed by the\n specified analyzer.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of resources of the specified type that have been analyzed by the specified analyzer.

                              ", "smithy.api#http": { "uri": "/analyzed-resource", "method": "POST", @@ -5666,7 +5892,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer to retrieve a list of analyzed resources from.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer to retrieve a list of analyzed resources from.

                              ", "smithy.api#required": {} } }, @@ -5911,7 +6137,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a list of findings generated by the specified analyzer. ListFindings and\n ListFindingsV2 both use access-analyzer:ListFindings in the\n Action element of an IAM policy statement. You must have permission to\n perform the access-analyzer:ListFindings action.

                              \n

                              To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of findings generated by the specified analyzer. ListFindings and ListFindingsV2 both use access-analyzer:ListFindings in the Action element of an IAM policy statement. You must have permission to perform the access-analyzer:ListFindings action.

                              To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", "smithy.api#http": { "uri": "/finding", "method": "POST", @@ -5932,7 +6158,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer to retrieve findings from.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer to retrieve findings from.

                              ", "smithy.api#required": {} } }, @@ -5971,7 +6197,7 @@ "findings": { "target": "com.amazonaws.accessanalyzer#FindingsList", "traits": { - "smithy.api#documentation": "

                              A list of findings retrieved from the analyzer that match the filter criteria specified,\n if any.

                              ", + "smithy.api#documentation": "

                              A list of findings retrieved from the analyzer that match the filter criteria specified, if any.

                              ", "smithy.api#required": {} } }, @@ -6012,7 +6238,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a list of findings generated by the specified analyzer. ListFindings and\n ListFindingsV2 both use access-analyzer:ListFindings in the\n Action element of an IAM policy statement. You must have permission to\n perform the access-analyzer:ListFindings action.

                              \n

                              To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of findings generated by the specified analyzer. ListFindings and ListFindingsV2 both use access-analyzer:ListFindings in the Action element of an IAM policy statement. You must have permission to perform the access-analyzer:ListFindings action.

                              To learn about filter keys that you can use to retrieve a list of findings, see IAM Access Analyzer filter keys in the IAM User Guide.

                              ", "smithy.api#http": { "uri": "/findingv2", "method": "POST", @@ -6033,7 +6259,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer to retrieve findings from.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer to retrieve findings from.

                              ", "smithy.api#required": {} } }, @@ -6069,7 +6295,7 @@ "findings": { "target": "com.amazonaws.accessanalyzer#FindingsListV2", "traits": { - "smithy.api#documentation": "

                              A list of findings retrieved from the analyzer that match the filter criteria specified,\n if any.

                              ", + "smithy.api#documentation": "

                              A list of findings retrieved from the analyzer that match the filter criteria specified, if any.

                              ", "smithy.api#required": {} } }, @@ -6125,7 +6351,7 @@ "principalArn": { "target": "com.amazonaws.accessanalyzer#PrincipalArn", "traits": { - "smithy.api#documentation": "

                              The ARN of the IAM entity (user or role) for which you are generating a policy. Use\n this with ListGeneratedPolicies to filter the results to only include results\n for a specific principal.

                              ", + "smithy.api#documentation": "

                              The ARN of the IAM entity (user or role) for which you are generating a policy. Use this with ListGeneratedPolicies to filter the results to only include results for a specific principal.

                              ", "smithy.api#httpQuery": "principalArn" } }, @@ -6154,7 +6380,7 @@ "policyGenerations": { "target": "com.amazonaws.accessanalyzer#PolicyGenerationList", "traits": { - "smithy.api#documentation": "

                              A PolicyGeneration object that contains details about the generated\n policy.

                              ", + "smithy.api#documentation": "

                              A PolicyGeneration object that contains details about the generated policy.

                              ", "smithy.api#required": {} } }, @@ -6296,7 +6522,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A location in a policy that is represented as a path through the JSON representation and\n a corresponding span.

                              " + "smithy.api#documentation": "

                              A location in a policy that is represented as a path through the JSON representation and a corresponding span.

                              " } }, "com.amazonaws.accessanalyzer#LocationList": { @@ -6324,12 +6550,12 @@ "internetConfiguration": { "target": "com.amazonaws.accessanalyzer#InternetConfiguration", "traits": { - "smithy.api#documentation": "

                              The configuration for the Amazon S3 access point or multi-region access point with an\n Internet origin.

                              " + "smithy.api#documentation": "

                              The configuration for the Amazon S3 access point or multi-region access point with an Internet origin.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed InternetConfiguration or VpcConfiguration to\n apply to the Amazon S3 access point. You can make the access point accessible from the internet,\n or you can specify that all requests made through that access point must originate from a\n specific virtual private cloud (VPC). You can specify only one type of network\n configuration. For more information, see Creating access\n points.

                              " + "smithy.api#documentation": "

                              The proposed InternetConfiguration or VpcConfiguration to apply to the Amazon S3 access point. You can make the access point accessible from the internet, or you can specify that all requests made through that access point must originate from a specific virtual private cloud (VPC). You can specify only one type of network configuration. For more information, see Creating access points.

                              " } }, "com.amazonaws.accessanalyzer#OrderBy": { @@ -6394,7 +6620,7 @@ "jobId": { "target": "com.amazonaws.accessanalyzer#JobId", "traits": { - "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration\n operation. The JobId can be used with GetGeneratedPolicy to\n retrieve the generated policies or used with CancelPolicyGeneration to cancel\n the policy generation request.

                              ", + "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration operation. The JobId can be used with GetGeneratedPolicy to retrieve the generated policies or used with CancelPolicyGeneration to cancel the policy generation request.

                              ", "smithy.api#required": {} } }, @@ -6442,7 +6668,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains the ARN details about the IAM entity for which the policy is\n generated.

                              " + "smithy.api#documentation": "

                              Contains the ARN details about the IAM entity for which the policy is generated.

                              " } }, "com.amazonaws.accessanalyzer#PolicyGenerationList": { @@ -6521,6 +6747,21 @@ "target": "smithy.api#String" } }, + "com.amazonaws.accessanalyzer#PrincipalType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IAM_ROLE", + "name": "IAM_ROLE" + }, + { + "value": "IAM_USER", + "name": "IAM_USER" + } + ] + } + }, "com.amazonaws.accessanalyzer#RdsDbClusterSnapshotAccountId": { "type": "string" }, @@ -6539,7 +6780,7 @@ "accountIds": { "target": "com.amazonaws.accessanalyzer#RdsDbClusterSnapshotAccountIdsList", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services account IDs that have access to the manual Amazon RDS DB cluster snapshot. If the\n value all is specified, then the Amazon RDS DB cluster snapshot is public and can\n be copied or restored by all Amazon Web Services accounts.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon RDS DB cluster snapshot and you do not\n specify the accountIds in\n RdsDbClusterSnapshotAttributeValue, then the access preview uses the\n existing shared accountIds for the snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the specify the\n accountIds in RdsDbClusterSnapshotAttributeValue, then\n the access preview considers the snapshot without any attributes.

                                \n
                              • \n
                              • \n

                                To propose deletion of existing shared accountIds, you can specify an\n empty list for accountIds in the\n RdsDbClusterSnapshotAttributeValue.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The Amazon Web Services account IDs that have access to the manual Amazon RDS DB cluster snapshot. If the value all is specified, then the Amazon RDS DB cluster snapshot is public and can be copied or restored by all Amazon Web Services accounts.

                              • If the configuration is for an existing Amazon RDS DB cluster snapshot and you do not specify the accountIds in RdsDbClusterSnapshotAttributeValue, then the access preview uses the existing shared accountIds for the snapshot.

                              • If the access preview is for a new resource and you do not specify the specify the accountIds in RdsDbClusterSnapshotAttributeValue, then the access preview considers the snapshot without any attributes.

                              • To propose deletion of existing shared accountIds, you can specify an empty list for accountIds in the RdsDbClusterSnapshotAttributeValue.

                              " } } }, @@ -6562,18 +6803,18 @@ "attributes": { "target": "com.amazonaws.accessanalyzer#RdsDbClusterSnapshotAttributesMap", "traits": { - "smithy.api#documentation": "

                              The names and values of manual DB cluster snapshot attributes. Manual DB cluster\n snapshot attributes are used to authorize other Amazon Web Services accounts to restore a manual DB\n cluster snapshot. The only valid value for AttributeName for the attribute map\n is restore\n

                              " + "smithy.api#documentation": "

                              The names and values of manual DB cluster snapshot attributes. Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts to restore a manual DB cluster snapshot. The only valid value for AttributeName for the attribute map is restore

                              " } }, "kmsKeyId": { "target": "com.amazonaws.accessanalyzer#RdsDbClusterSnapshotKmsKeyId", "traits": { - "smithy.api#documentation": "

                              The KMS key identifier for an encrypted Amazon RDS DB cluster snapshot. The KMS key\n identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon RDS DB cluster snapshot and you do not\n specify the kmsKeyId, or you specify an empty string, then the access\n preview uses the existing kmsKeyId of the snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the specify the\n kmsKeyId, then the access preview considers the snapshot as\n unencrypted.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The KMS key identifier for an encrypted Amazon RDS DB cluster snapshot. The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                              • If the configuration is for an existing Amazon RDS DB cluster snapshot and you do not specify the kmsKeyId, or you specify an empty string, then the access preview uses the existing kmsKeyId of the snapshot.

                              • If the access preview is for a new resource and you do not specify the specify the kmsKeyId, then the access preview considers the snapshot as unencrypted.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon RDS DB cluster snapshot. You can\n propose a configuration for a new Amazon RDS DB cluster snapshot or an Amazon RDS DB cluster snapshot\n that you own by specifying the RdsDbClusterSnapshotAttributeValue and optional\n KMS encryption key. For more information, see ModifyDBClusterSnapshotAttribute.

                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon RDS DB cluster snapshot. You can propose a configuration for a new Amazon RDS DB cluster snapshot or an Amazon RDS DB cluster snapshot that you own by specifying the RdsDbClusterSnapshotAttributeValue and optional KMS encryption key. For more information, see ModifyDBClusterSnapshotAttribute.

                              " } }, "com.amazonaws.accessanalyzer#RdsDbClusterSnapshotKmsKeyId": { @@ -6597,12 +6838,12 @@ "accountIds": { "target": "com.amazonaws.accessanalyzer#RdsDbSnapshotAccountIdsList", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services account IDs that have access to the manual Amazon RDS DB snapshot. If the value\n all is specified, then the Amazon RDS DB snapshot is public and can be copied or\n restored by all Amazon Web Services accounts.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon RDS DB snapshot and you do not specify\n the accountIds in RdsDbSnapshotAttributeValue, then the\n access preview uses the existing shared accountIds for the\n snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the specify the\n accountIds in RdsDbSnapshotAttributeValue, then the\n access preview considers the snapshot without any attributes.

                                \n
                              • \n
                              • \n

                                To propose deletion of an existing shared accountIds, you can specify\n an empty list for accountIds in the\n RdsDbSnapshotAttributeValue.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The Amazon Web Services account IDs that have access to the manual Amazon RDS DB snapshot. If the value all is specified, then the Amazon RDS DB snapshot is public and can be copied or restored by all Amazon Web Services accounts.

                              • If the configuration is for an existing Amazon RDS DB snapshot and you do not specify the accountIds in RdsDbSnapshotAttributeValue, then the access preview uses the existing shared accountIds for the snapshot.

                              • If the access preview is for a new resource and you do not specify the specify the accountIds in RdsDbSnapshotAttributeValue, then the access preview considers the snapshot without any attributes.

                              • To propose deletion of an existing shared accountIds, you can specify an empty list for accountIds in the RdsDbSnapshotAttributeValue.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The name and values of a manual Amazon RDS DB snapshot attribute. Manual DB snapshot\n attributes are used to authorize other Amazon Web Services accounts to restore a manual DB\n snapshot.

                              " + "smithy.api#documentation": "

                              The name and values of a manual Amazon RDS DB snapshot attribute. Manual DB snapshot attributes are used to authorize other Amazon Web Services accounts to restore a manual DB snapshot.

                              " } }, "com.amazonaws.accessanalyzer#RdsDbSnapshotAttributesMap": { @@ -6620,18 +6861,18 @@ "attributes": { "target": "com.amazonaws.accessanalyzer#RdsDbSnapshotAttributesMap", "traits": { - "smithy.api#documentation": "

                              The names and values of manual DB snapshot attributes. Manual DB snapshot attributes are\n used to authorize other Amazon Web Services accounts to restore a manual DB snapshot. The only valid\n value for attributeName for the attribute map is restore.

                              " + "smithy.api#documentation": "

                              The names and values of manual DB snapshot attributes. Manual DB snapshot attributes are used to authorize other Amazon Web Services accounts to restore a manual DB snapshot. The only valid value for attributeName for the attribute map is restore.

                              " } }, "kmsKeyId": { "target": "com.amazonaws.accessanalyzer#RdsDbSnapshotKmsKeyId", "traits": { - "smithy.api#documentation": "

                              The KMS key identifier for an encrypted Amazon RDS DB snapshot. The KMS key identifier is\n the key ARN, key ID, alias ARN, or alias name for the KMS key.

                              \n
                                \n
                              • \n

                                If the configuration is for an existing Amazon RDS DB snapshot and you do not specify\n the kmsKeyId, or you specify an empty string, then the access preview\n uses the existing kmsKeyId of the snapshot.

                                \n
                              • \n
                              • \n

                                If the access preview is for a new resource and you do not specify the specify the\n kmsKeyId, then the access preview considers the snapshot as\n unencrypted.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The KMS key identifier for an encrypted Amazon RDS DB snapshot. The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                              • If the configuration is for an existing Amazon RDS DB snapshot and you do not specify the kmsKeyId, or you specify an empty string, then the access preview uses the existing kmsKeyId of the snapshot.

                              • If the access preview is for a new resource and you do not specify the specify the kmsKeyId, then the access preview considers the snapshot as unencrypted.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon RDS DB snapshot. You can propose a\n configuration for a new Amazon RDS DB snapshot or an Amazon RDS DB snapshot that you own by\n specifying the RdsDbSnapshotAttributeValue and optional KMS encryption key.\n For more information, see ModifyDBSnapshotAttribute.

                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon RDS DB snapshot. You can propose a configuration for a new Amazon RDS DB snapshot or an Amazon RDS DB snapshot that you own by specifying the RdsDbSnapshotAttributeValue and optional KMS encryption key. For more information, see ModifyDBSnapshotAttribute.

                              " } }, "com.amazonaws.accessanalyzer#RdsDbSnapshotKmsKeyId": { @@ -6711,7 +6952,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the reason that the retrieval of a recommendation for a\n finding failed.

                              " + "smithy.api#documentation": "

                              Contains information about the reason that the retrieval of a recommendation for a finding failed.

                              " } }, "com.amazonaws.accessanalyzer#RecommendationType": { @@ -6751,7 +6992,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about a recommended step for an unused access analyzer\n finding.

                              " + "smithy.api#documentation": "

                              Contains information about a recommended step for an unused access analyzer finding.

                              " } }, "com.amazonaws.accessanalyzer#RecommendedStepList": { @@ -6780,6 +7021,12 @@ "smithy.api#pattern": "^arn:[^:]*:[^:]*:[^:]*:[^:]*:.*$" } }, + "com.amazonaws.accessanalyzer#ResourceArnsList": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, "com.amazonaws.accessanalyzer#ResourceControlPolicyRestriction": { "type": "string", "traits": { @@ -6795,6 +7042,10 @@ { "value": "NOT_APPLICABLE", "name": "NOT_APPLICABLE" + }, + { + "value": "APPLIED", + "name": "APPLIED" } ] } @@ -6921,7 +7172,13 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the total number of active cross-account and public findings\n for a resource type of an external access analyzer.

                              " + "smithy.api#documentation": "

                              Contains information about the total number of active cross-account and public findings for a resource type of an external access analyzer.

                              " + } + }, + "com.amazonaws.accessanalyzer#ResourceTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.accessanalyzer#ResourceType" } }, "com.amazonaws.accessanalyzer#ResourceTypeStatisticsMap": { @@ -6960,18 +7217,18 @@ "publicAccessBlock": { "target": "com.amazonaws.accessanalyzer#S3PublicAccessBlockConfiguration", "traits": { - "smithy.api#documentation": "

                              The proposed S3PublicAccessBlock configuration to apply to this Amazon S3 access\n point or multi-region access point.

                              " + "smithy.api#documentation": "

                              The proposed S3PublicAccessBlock configuration to apply to this Amazon S3 access point or multi-region access point.

                              " } }, "networkOrigin": { "target": "com.amazonaws.accessanalyzer#NetworkOriginConfiguration", "traits": { - "smithy.api#documentation": "

                              The proposed Internet and VpcConfiguration to apply to this\n Amazon S3 access point. VpcConfiguration does not apply to multi-region access\n points. If the access preview is for a new resource and neither is specified, the access\n preview uses Internet for the network origin. If the access preview is for an\n existing resource and neither is specified, the access preview uses the existing network\n origin.

                              " + "smithy.api#documentation": "

                              The proposed Internet and VpcConfiguration to apply to this Amazon S3 access point. VpcConfiguration does not apply to multi-region access points. If the access preview is for a new resource and neither is specified, the access preview uses Internet for the network origin. If the access preview is for an existing resource and neither is specified, the access preview uses the existing network origin.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The configuration for an Amazon S3 access point or multi-region access point for the bucket.\n You can propose up to 10 access points or multi-region access points per bucket. If the\n proposed Amazon S3 access point configuration is for an existing bucket, the access preview uses\n the proposed access point configuration in place of the existing access points. To propose\n an access point without a policy, you can provide an empty string as the access point\n policy. For more information, see Creating access points.\n For more information about access point policy limits, see Access points\n restrictions and limitations.

                              " + "smithy.api#documentation": "

                              The configuration for an Amazon S3 access point or multi-region access point for the bucket. You can propose up to 10 access points or multi-region access points per bucket. If the proposed Amazon S3 access point configuration is for an existing bucket, the access preview uses the proposed access point configuration in place of the existing access points. To propose an access point without a policy, you can provide an empty string as the access point policy. For more information, see Creating access points. For more information about access point policy limits, see Access points restrictions and limitations.

                              " } }, "com.amazonaws.accessanalyzer#S3AccessPointConfigurationsMap": { @@ -7002,7 +7259,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A proposed access control list grant configuration for an Amazon S3 bucket. For more\n information, see How to Specify an\n ACL.

                              " + "smithy.api#documentation": "

                              A proposed access control list grant configuration for an Amazon S3 bucket. For more information, see How to Specify an ACL.

                              " } }, "com.amazonaws.accessanalyzer#S3BucketAclGrantConfigurationsList": { @@ -7023,7 +7280,7 @@ "bucketAclGrants": { "target": "com.amazonaws.accessanalyzer#S3BucketAclGrantConfigurationsList", "traits": { - "smithy.api#documentation": "

                              The proposed list of ACL grants for the Amazon S3 bucket. You can propose up to 100 ACL\n grants per bucket. If the proposed grant configuration is for an existing bucket, the\n access preview uses the proposed list of grant configurations in place of the existing\n grants. Otherwise, the access preview uses the existing grants for the bucket.

                              " + "smithy.api#documentation": "

                              The proposed list of ACL grants for the Amazon S3 bucket. You can propose up to 100 ACL grants per bucket. If the proposed grant configuration is for an existing bucket, the access preview uses the proposed list of grant configurations in place of the existing grants. Otherwise, the access preview uses the existing grants for the bucket.

                              " } }, "bucketPublicAccessBlock": { @@ -7035,12 +7292,12 @@ "accessPoints": { "target": "com.amazonaws.accessanalyzer#S3AccessPointConfigurationsMap", "traits": { - "smithy.api#documentation": "

                              The configuration of Amazon S3 access points or multi-region access points for the bucket.\n You can propose up to 10 new access points per bucket.

                              " + "smithy.api#documentation": "

                              The configuration of Amazon S3 access points or multi-region access points for the bucket. You can propose up to 10 new access points per bucket.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Proposed access control configuration for an Amazon S3 bucket. You can propose a\n configuration for a new Amazon S3 bucket or an existing Amazon S3 bucket that you own by specifying\n the Amazon S3 bucket policy, bucket ACLs, bucket BPA settings, Amazon S3 access points, and\n multi-region access points attached to the bucket. If the configuration is for an existing\n Amazon S3 bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the\n existing policy attached to the bucket. If the access preview is for a new resource and you\n do not specify the Amazon S3 bucket policy, the access preview assumes a bucket without a\n policy. To propose deletion of an existing bucket policy, you can specify an empty string.\n For more information about bucket policy limits, see Bucket Policy\n Examples.

                              " + "smithy.api#documentation": "

                              Proposed access control configuration for an Amazon S3 bucket. You can propose a configuration for a new Amazon S3 bucket or an existing Amazon S3 bucket that you own by specifying the Amazon S3 bucket policy, bucket ACLs, bucket BPA settings, Amazon S3 access points, and multi-region access points attached to the bucket. If the configuration is for an existing Amazon S3 bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the existing policy attached to the bucket. If the access preview is for a new resource and you do not specify the Amazon S3 bucket policy, the access preview assumes a bucket without a policy. To propose deletion of an existing bucket policy, you can specify an empty string. For more information about bucket policy limits, see Bucket Policy Examples.

                              " } }, "com.amazonaws.accessanalyzer#S3BucketPolicy": { @@ -7066,7 +7323,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Proposed configuration for an access point attached to an Amazon S3 directory bucket. You can\n propose up to 10 access points per bucket. If the proposed access point configuration is\n for an existing Amazon S3 directory bucket, the access preview uses the proposed access point\n configuration in place of the existing access points. To propose an access point without a\n policy, you can provide an empty string as the access point policy. For more information\n about access points for Amazon S3 directory buckets, see Managing access to\n directory buckets with access points in the Amazon Simple Storage Service User Guide.

                              " + "smithy.api#documentation": "

                              Proposed configuration for an access point attached to an Amazon S3 directory bucket. You can propose up to 10 access points per bucket. If the proposed access point configuration is for an existing Amazon S3 directory bucket, the access preview uses the proposed access point configuration in place of the existing access points. To propose an access point without a policy, you can provide an empty string as the access point policy. For more information about access points for Amazon S3 directory buckets, see Managing access to directory buckets with access points in the Amazon Simple Storage Service User Guide.

                              " } }, "com.amazonaws.accessanalyzer#S3ExpressDirectoryAccessPointConfigurationsMap": { @@ -7095,7 +7352,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Proposed access control configuration for an Amazon S3 directory bucket. You can propose a\n configuration for a new Amazon S3 directory bucket or an existing Amazon S3 directory bucket that you\n own by specifying the Amazon S3 bucket policy. If the configuration is for an existing Amazon S3\n directory bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the\n existing policy attached to the directory bucket. If the access preview is for a new\n resource and you do not specify the Amazon S3 bucket policy, the access preview assumes an\n directory bucket without a policy. To propose deletion of an existing bucket policy, you\n can specify an empty string. For more information about Amazon S3 directory bucket policies, see\n Example bucket policies for directory buckets in the Amazon Simple Storage Service User\n Guide.

                              " + "smithy.api#documentation": "

                              Proposed access control configuration for an Amazon S3 directory bucket. You can propose a configuration for a new Amazon S3 directory bucket or an existing Amazon S3 directory bucket that you own by specifying the Amazon S3 bucket policy. If the configuration is for an existing Amazon S3 directory bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the existing policy attached to the directory bucket. If the access preview is for a new resource and you do not specify the Amazon S3 bucket policy, the access preview assumes an directory bucket without a policy. To propose deletion of an existing bucket policy, you can specify an empty string. For more information about Amazon S3 directory bucket policies, see Example bucket policies for directory buckets in the Amazon Simple Storage Service User Guide.

                              " } }, "com.amazonaws.accessanalyzer#S3ExpressDirectoryBucketPolicy": { @@ -7107,7 +7364,7 @@ "ignorePublicAcls": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this\n bucket.

                              ", + "smithy.api#documentation": "

                              Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket.

                              ", "smithy.api#required": {} } }, @@ -7120,7 +7377,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The PublicAccessBlock configuration to apply to this Amazon S3 bucket. If the\n proposed configuration is for an existing Amazon S3 bucket and the configuration is not\n specified, the access preview uses the existing setting. If the proposed configuration is\n for a new bucket and the configuration is not specified, the access preview uses\n false. If the proposed configuration is for a new access point or\n multi-region access point and the access point BPA configuration is not specified, the\n access preview uses true. For more information, see PublicAccessBlockConfiguration.

                              " + "smithy.api#documentation": "

                              The PublicAccessBlock configuration to apply to this Amazon S3 bucket. If the proposed configuration is for an existing Amazon S3 bucket and the configuration is not specified, the access preview uses the existing setting. If the proposed configuration is for a new bucket and the configuration is not specified, the access preview uses false. If the proposed configuration is for a new access point or multi-region access point and the access point BPA configuration is not specified, the access preview uses true. For more information, see PublicAccessBlockConfiguration.

                              " } }, "com.amazonaws.accessanalyzer#SecretsManagerSecretConfiguration": { @@ -7140,7 +7397,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The configuration for a Secrets Manager secret. For more information, see CreateSecret.

                              \n

                              You can propose a configuration for a new secret or an existing secret that you own by\n specifying the secret policy and optional KMS encryption key. If the configuration is for\n an existing secret and you do not specify the secret policy, the access preview uses the\n existing policy for the secret. If the access preview is for a new resource and you do not\n specify the policy, the access preview assumes a secret without a policy. To propose\n deletion of an existing policy, you can specify an empty string. If the proposed\n configuration is for a new secret and you do not specify the KMS key ID, the access\n preview uses the Amazon Web Services managed key aws/secretsmanager. If you specify an empty\n string for the KMS key ID, the access preview uses the Amazon Web Services managed key of the\n Amazon Web Services account. For more information about secret policy limits, see Quotas\n for Secrets Manager..

                              " + "smithy.api#documentation": "

                              The configuration for a Secrets Manager secret. For more information, see CreateSecret.

                              You can propose a configuration for a new secret or an existing secret that you own by specifying the secret policy and optional KMS encryption key. If the configuration is for an existing secret and you do not specify the secret policy, the access preview uses the existing policy for the secret. If the access preview is for a new resource and you do not specify the policy, the access preview assumes a secret without a policy. To propose deletion of an existing policy, you can specify an empty string. If the proposed configuration is for a new secret and you do not specify the KMS key ID, the access preview uses the Amazon Web Services managed key aws/secretsmanager. If you specify an empty string for the KMS key ID, the access preview uses the Amazon Web Services managed key of the Amazon Web Services account. For more information about secret policy limits, see Quotas for Secrets Manager..

                              " } }, "com.amazonaws.accessanalyzer#SecretsManagerSecretKmsId": { @@ -7149,6 +7406,29 @@ "com.amazonaws.accessanalyzer#SecretsManagerSecretPolicy": { "type": "string" }, + "com.amazonaws.accessanalyzer#ServiceControlPolicyRestriction": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "APPLICABLE", + "name": "APPLICABLE" + }, + { + "value": "FAILED_TO_EVALUATE_SCP", + "name": "FAILED_TO_EVALUATE_SCP" + }, + { + "value": "NOT_APPLICABLE", + "name": "NOT_APPLICABLE" + }, + { + "value": "APPLIED", + "name": "APPLIED" + } + ] + } + }, "com.amazonaws.accessanalyzer#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -7191,12 +7471,12 @@ "topicPolicy": { "target": "com.amazonaws.accessanalyzer#SnsTopicPolicy", "traits": { - "smithy.api#documentation": "

                              The JSON policy text that defines who can access an Amazon SNS topic. For more information,\n see Example cases for Amazon SNS access control in the Amazon SNS Developer\n Guide.

                              " + "smithy.api#documentation": "

                              The JSON policy text that defines who can access an Amazon SNS topic. For more information, see Example cases for Amazon SNS access control in the Amazon SNS Developer Guide.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon SNS topic. You can propose a\n configuration for a new Amazon SNS topic or an existing Amazon SNS topic that you own by specifying\n the policy. If the configuration is for an existing Amazon SNS topic and you do not specify the\n Amazon SNS policy, then the access preview uses the existing Amazon SNS policy for the topic. If the\n access preview is for a new resource and you do not specify the policy, then the access\n preview assumes an Amazon SNS topic without a policy. To propose deletion of an existing Amazon SNS\n topic policy, you can specify an empty string for the Amazon SNS policy. For more information,\n see Topic.

                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon SNS topic. You can propose a configuration for a new Amazon SNS topic or an existing Amazon SNS topic that you own by specifying the policy. If the configuration is for an existing Amazon SNS topic and you do not specify the Amazon SNS policy, then the access preview uses the existing Amazon SNS policy for the topic. If the access preview is for a new resource and you do not specify the policy, then the access preview assumes an Amazon SNS topic without a policy. To propose deletion of an existing Amazon SNS topic policy, you can specify an empty string for the Amazon SNS policy. For more information, see Topic.

                              " } }, "com.amazonaws.accessanalyzer#SnsTopicPolicy": { @@ -7246,7 +7526,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A span in a policy. The span consists of a start position (inclusive) and end position\n (exclusive).

                              " + "smithy.api#documentation": "

                              A span in a policy. The span consists of a start position (inclusive) and end position (exclusive).

                              " } }, "com.amazonaws.accessanalyzer#SqsQueueConfiguration": { @@ -7260,7 +7540,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon SQS queue. You can propose a\n configuration for a new Amazon SQS queue or an existing Amazon SQS queue that you own by specifying\n the Amazon SQS policy. If the configuration is for an existing Amazon SQS queue and you do not\n specify the Amazon SQS policy, the access preview uses the existing Amazon SQS policy for the queue.\n If the access preview is for a new resource and you do not specify the policy, the access\n preview assumes an Amazon SQS queue without a policy. To propose deletion of an existing Amazon SQS\n queue policy, you can specify an empty string for the Amazon SQS policy. For more information\n about Amazon SQS policy limits, see Quotas related\n to policies.

                              " + "smithy.api#documentation": "

                              The proposed access control configuration for an Amazon SQS queue. You can propose a configuration for a new Amazon SQS queue or an existing Amazon SQS queue that you own by specifying the Amazon SQS policy. If the configuration is for an existing Amazon SQS queue and you do not specify the Amazon SQS policy, the access preview uses the existing Amazon SQS policy for the queue. If the access preview is for a new resource and you do not specify the policy, the access preview assumes an Amazon SQS queue without a policy. To propose deletion of an existing Amazon SQS queue policy, you can specify an empty string for the Amazon SQS policy. For more information about Amazon SQS policy limits, see Quotas related to policies.

                              " } }, "com.amazonaws.accessanalyzer#SqsQueuePolicy": { @@ -7310,20 +7590,20 @@ "policyGenerationDetails": { "target": "com.amazonaws.accessanalyzer#PolicyGenerationDetails", "traits": { - "smithy.api#documentation": "

                              Contains the ARN of the IAM entity (user or role) for which you are generating a\n policy.

                              ", + "smithy.api#documentation": "

                              Contains the ARN of the IAM entity (user or role) for which you are generating a policy.

                              ", "smithy.api#required": {} } }, "cloudTrailDetails": { "target": "com.amazonaws.accessanalyzer#CloudTrailDetails", "traits": { - "smithy.api#documentation": "

                              A CloudTrailDetails object that contains details about a Trail\n that you want to analyze to generate policies.

                              " + "smithy.api#documentation": "

                              A CloudTrailDetails object that contains details about a Trail that you want to analyze to generate policies.

                              " } }, "clientToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. Idempotency ensures that an API request completes only once. With an idempotent\n request, if the original request completes successfully, the subsequent retries with the\n same client token return the result from the original successful request and they have no\n additional effect.

                              \n

                              If you do not specify a client token, one is automatically generated by the Amazon Web Services\n SDK.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

                              If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

                              ", "smithy.api#idempotencyToken": {} } } @@ -7335,7 +7615,7 @@ "jobId": { "target": "com.amazonaws.accessanalyzer#JobId", "traits": { - "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration\n operation. The JobId can be used with GetGeneratedPolicy to\n retrieve the generated policies or used with CancelPolicyGeneration to cancel\n the policy generation request.

                              ", + "smithy.api#documentation": "

                              The JobId that is returned by the StartPolicyGeneration operation. The JobId can be used with GetGeneratedPolicy to retrieve the generated policies or used with CancelPolicyGeneration to cancel the policy generation request.

                              ", "smithy.api#required": {} } } @@ -7381,7 +7661,7 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer to use to scan the policies applied to the specified\n resource.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer to use to scan the policies applied to the specified resource.

                              ", "smithy.api#required": {} } }, @@ -7395,7 +7675,7 @@ "resourceOwnerAccount": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services account ID that owns the resource. For most Amazon Web Services resources, the owning\n account is the account in which the resource was created.

                              " + "smithy.api#documentation": "

                              The Amazon Web Services account ID that owns the resource. For most Amazon Web Services resources, the owning account is the account in which the resource was created.

                              " } } }, @@ -7434,7 +7714,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Provides more details about the current status of the analyzer. For example, if the\n creation for the analyzer fails, a Failed status is returned. For an analyzer\n with organization as the type, this failure can be due to an issue with creating the\n service-linked roles required in the member accounts of the Amazon Web Services organization.

                              " + "smithy.api#documentation": "

                              Provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed status is returned. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the Amazon Web Services organization.

                              " } }, "com.amazonaws.accessanalyzer#Substring": { @@ -7585,7 +7865,7 @@ "cloudTrailArn": { "target": "com.amazonaws.accessanalyzer#CloudTrailArn", "traits": { - "smithy.api#documentation": "

                              Specifies the ARN of the trail. The format of a trail ARN is\n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail.

                              ", + "smithy.api#documentation": "

                              Specifies the ARN of the trail. The format of a trail ARN is arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail.

                              ", "smithy.api#required": {} } }, @@ -7598,7 +7878,7 @@ "allRegions": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Possible values are true or false. If set to\n true, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and\n generate a policy.

                              " + "smithy.api#documentation": "

                              Possible values are true or false. If set to true, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and generate a policy.

                              " } } }, @@ -7618,7 +7898,7 @@ "cloudTrailArn": { "target": "com.amazonaws.accessanalyzer#CloudTrailArn", "traits": { - "smithy.api#documentation": "

                              Specifies the ARN of the trail. The format of a trail ARN is\n arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail.

                              ", + "smithy.api#documentation": "

                              Specifies the ARN of the trail. The format of a trail ARN is arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail.

                              ", "smithy.api#required": {} } }, @@ -7631,7 +7911,7 @@ "allRegions": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Possible values are true or false. If set to\n true, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and\n generate a policy.

                              " + "smithy.api#documentation": "

                              Possible values are true or false. If set to true, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and generate a policy.

                              " } } }, @@ -7664,6 +7944,14 @@ { "value": "ORGANIZATION_UNUSED_ACCESS", "name": "ORGANIZATION_UNUSED_ACCESS" + }, + { + "value": "ACCOUNT_INTERNAL_ACCESS", + "name": "ACCOUNT_INTERNAL_ACCESS" + }, + { + "value": "ORGANIZATION_INTERNAL_ACCESS", + "name": "ORGANIZATION_INTERNAL_ACCESS" } ] } @@ -7756,7 +8044,7 @@ "unusedAccessAge": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

                              The specified access age in days for which to generate findings for unused access. For\n example, if you specify 90 days, the analyzer will generate findings for IAM entities\n within the accounts of the selected organization for any access that hasn't been used in 90\n or more days since the analyzer's last scan. You can choose a value between 1 and 365\n days.

                              " + "smithy.api#documentation": "

                              The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 365 days.

                              " } }, "analysisRule": { @@ -7773,13 +8061,13 @@ "unusedAccessTypeStatistics": { "target": "com.amazonaws.accessanalyzer#UnusedAccessTypeStatisticsList", "traits": { - "smithy.api#documentation": "

                              A list of details about the total number of findings for each type of unused access for\n the analyzer.

                              " + "smithy.api#documentation": "

                              A list of details about the total number of findings for each type of unused access for the analyzer.

                              " } }, "topAccounts": { "target": "com.amazonaws.accessanalyzer#AccountAggregations", "traits": { - "smithy.api#documentation": "

                              A list of one to ten Amazon Web Services accounts that have the most active findings for the unused\n access analyzer.

                              " + "smithy.api#documentation": "

                              A list of one to ten Amazon Web Services accounts that have the most active findings for the unused access analyzer.

                              " } }, "totalActiveFindings": { @@ -7802,7 +8090,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Provides aggregate statistics about the findings for the specified unused access\n analyzer.

                              " + "smithy.api#documentation": "

                              Provides aggregate statistics about the findings for the specified unused access analyzer.

                              " } }, "com.amazonaws.accessanalyzer#UnusedAccessTypeStatistics": { @@ -7822,7 +8110,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the total number of findings for a type of unused\n access.

                              " + "smithy.api#documentation": "

                              Contains information about the total number of findings for a type of unused access.

                              " } }, "com.amazonaws.accessanalyzer#UnusedAccessTypeStatisticsList": { @@ -7849,7 +8137,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an unused access finding for an action. IAM Access Analyzer charges\n for unused access analysis based on the number of IAM roles and users analyzed per month.\n For more details on pricing, see IAM Access Analyzer\n pricing.

                              " + "smithy.api#documentation": "

                              Contains information about an unused access finding for an action. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

                              " } }, "com.amazonaws.accessanalyzer#UnusedActionList": { @@ -7869,7 +8157,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an unused access finding for an IAM role. IAM Access Analyzer\n charges for unused access analysis based on the number of IAM roles and users analyzed\n per month. For more details on pricing, see IAM Access Analyzer\n pricing.

                              " + "smithy.api#documentation": "

                              Contains information about an unused access finding for an IAM role. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

                              " } }, "com.amazonaws.accessanalyzer#UnusedIamUserAccessKeyDetails": { @@ -7890,7 +8178,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an unused access finding for an IAM user access key.\n IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and\n users analyzed per month. For more details on pricing, see IAM Access Analyzer\n pricing.

                              " + "smithy.api#documentation": "

                              Contains information about an unused access finding for an IAM user access key. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

                              " } }, "com.amazonaws.accessanalyzer#UnusedIamUserPasswordDetails": { @@ -7904,7 +8192,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an unused access finding for an IAM user password.\n IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and\n users analyzed per month. For more details on pricing, see IAM Access Analyzer\n pricing.

                              " + "smithy.api#documentation": "

                              Contains information about an unused access finding for an IAM user password. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

                              " } }, "com.amazonaws.accessanalyzer#UnusedPermissionDetails": { @@ -7931,7 +8219,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about an unused access finding for a permission. IAM Access Analyzer\n charges for unused access analysis based on the number of IAM roles and users analyzed\n per month. For more details on pricing, see IAM Access Analyzer\n pricing.

                              " + "smithy.api#documentation": "

                              Contains information about an unused access finding for a permission. IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and users analyzed per month. For more details on pricing, see IAM Access Analyzer pricing.

                              " } }, "com.amazonaws.accessanalyzer#UnusedPermissionsRecommendedStep": { @@ -7940,31 +8228,31 @@ "policyUpdatedAt": { "target": "com.amazonaws.accessanalyzer#Timestamp", "traits": { - "smithy.api#documentation": "

                              The time at which the existing policy for the unused permissions finding was last\n updated.

                              " + "smithy.api#documentation": "

                              The time at which the existing policy for the unused permissions finding was last updated.

                              " } }, "recommendedAction": { "target": "com.amazonaws.accessanalyzer#RecommendedRemediationAction", "traits": { - "smithy.api#documentation": "

                              A recommendation of whether to create or detach a policy for an unused permissions\n finding.

                              ", + "smithy.api#documentation": "

                              A recommendation of whether to create or detach a policy for an unused permissions finding.

                              ", "smithy.api#required": {} } }, "recommendedPolicy": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              If the recommended action for the unused permissions finding is to replace the existing\n policy, the contents of the recommended policy to replace the policy specified in the\n existingPolicyId field.

                              " + "smithy.api#documentation": "

                              If the recommended action for the unused permissions finding is to replace the existing policy, the contents of the recommended policy to replace the policy specified in the existingPolicyId field.

                              " } }, "existingPolicyId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              If the recommended action for the unused permissions finding is to detach a policy, the\n ID of an existing policy to be detached.

                              " + "smithy.api#documentation": "

                              If the recommended action for the unused permissions finding is to detach a policy, the ID of an existing policy to be detached.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the action to take for a policy in an unused permissions\n finding.

                              " + "smithy.api#documentation": "

                              Contains information about the action to take for a policy in an unused permissions finding.

                              " } }, "com.amazonaws.accessanalyzer#UpdateAnalyzer": { @@ -8092,7 +8380,7 @@ "filter": { "target": "com.amazonaws.accessanalyzer#FilterCriteriaMap", "traits": { - "smithy.api#documentation": "

                              A filter to match for the rules to update. Only rules that match the filter are\n updated.

                              ", + "smithy.api#documentation": "

                              A filter to match for the rules to update. Only rules that match the filter are updated.

                              ", "smithy.api#required": {} } }, @@ -8149,14 +8437,14 @@ "analyzerArn": { "target": "com.amazonaws.accessanalyzer#AnalyzerArn", "traits": { - "smithy.api#documentation": "

                              The ARN of\n the analyzer that generated the findings to update.

                              ", + "smithy.api#documentation": "

                              The ARN of the analyzer that generated the findings to update.

                              ", "smithy.api#required": {} } }, "status": { "target": "com.amazonaws.accessanalyzer#FindingStatusUpdate", "traits": { - "smithy.api#documentation": "

                              The state represents the action to take to update the finding Status. Use\n ARCHIVE to change an Active finding to an Archived finding. Use\n ACTIVE to change an Archived finding to an Active finding.

                              ", + "smithy.api#documentation": "

                              The state represents the action to take to update the finding Status. Use ARCHIVE to change an Active finding to an Archived finding. Use ACTIVE to change an Archived finding to an Active finding.

                              ", "smithy.api#required": {} } }, @@ -8207,7 +8495,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Requests the validation of a policy and returns a list of findings. The findings help\n you identify issues and provide actionable recommendations to resolve the issue and enable\n you to author functional policies that meet security best practices.

                              ", + "smithy.api#documentation": "

                              Requests the validation of a policy and returns a list of findings. The findings help you identify issues and provide actionable recommendations to resolve the issue and enable you to author functional policies that meet security best practices.

                              ", "smithy.api#http": { "uri": "/policy/validation", "method": "POST", @@ -8228,14 +8516,14 @@ "findingDetails": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              A localized message that explains the finding and provides guidance on how to address\n it.

                              ", + "smithy.api#documentation": "

                              A localized message that explains the finding and provides guidance on how to address it.

                              ", "smithy.api#required": {} } }, "findingType": { "target": "com.amazonaws.accessanalyzer#ValidatePolicyFindingType", "traits": { - "smithy.api#documentation": "

                              The impact of the finding.

                              \n

                              Security warnings report when the policy allows access that we consider overly\n permissive.

                              \n

                              Errors report when a part of the policy is not functional.

                              \n

                              Warnings report non-security issues when a policy does not conform to policy writing\n best practices.

                              \n

                              Suggestions recommend stylistic improvements in the policy that do not impact\n access.

                              ", + "smithy.api#documentation": "

                              The impact of the finding.

                              Security warnings report when the policy allows access that we consider overly permissive.

                              Errors report when a part of the policy is not functional.

                              Warnings report non-security issues when a policy does not conform to policy writing best practices.

                              Suggestions recommend stylistic improvements in the policy that do not impact access.

                              ", "smithy.api#required": {} } }, @@ -8256,13 +8544,13 @@ "locations": { "target": "com.amazonaws.accessanalyzer#LocationList", "traits": { - "smithy.api#documentation": "

                              The list of locations in the policy document that are related to the finding. The issue\n code provides a summary of an issue identified by the finding.

                              ", + "smithy.api#documentation": "

                              The list of locations in the policy document that are related to the finding. The issue code provides a summary of an issue identified by the finding.

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              A finding in a policy. Each finding is an actionable recommendation that can be used to\n improve the policy.

                              " + "smithy.api#documentation": "

                              A finding in a policy. Each finding is an actionable recommendation that can be used to improve the policy.

                              " } }, "com.amazonaws.accessanalyzer#ValidatePolicyFindingList": { @@ -8327,14 +8615,14 @@ "policyType": { "target": "com.amazonaws.accessanalyzer#PolicyType", "traits": { - "smithy.api#documentation": "

                              The type of policy to validate. Identity policies grant permissions to IAM principals.\n Identity policies include managed and inline policies for IAM roles, users, and\n groups.

                              \n

                              Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust\n policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic\n input such as identity policy or resource policy or a specific input such as managed policy\n or Amazon S3 bucket policy.

                              \n

                              Service control policies (SCPs) are a type of organization policy attached to an Amazon Web Services\n organization, organizational unit (OU), or an account.

                              ", + "smithy.api#documentation": "

                              The type of policy to validate. Identity policies grant permissions to IAM principals. Identity policies include managed and inline policies for IAM roles, users, and groups.

                              Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic input such as identity policy or resource policy or a specific input such as managed policy or Amazon S3 bucket policy.

                              Service control policies (SCPs) are a type of organization policy attached to an Amazon Web Services organization, organizational unit (OU), or an account.

                              ", "smithy.api#required": {} } }, "validatePolicyResourceType": { "target": "com.amazonaws.accessanalyzer#ValidatePolicyResourceType", "traits": { - "smithy.api#documentation": "

                              The type of resource to attach to your resource policy. Specify a value for the policy\n validation resource type only if the policy type is RESOURCE_POLICY. For\n example, to validate a resource policy to attach to an Amazon S3 bucket, you can choose\n AWS::S3::Bucket for the policy validation resource type.

                              \n

                              For resource types not supported as valid values, IAM Access Analyzer runs policy checks that\n apply to all resource policies. For example, to validate a resource policy to attach to a\n KMS key, do not specify a value for the policy validation resource type and IAM Access Analyzer\n will run policy checks that apply to all resource policies.

                              " + "smithy.api#documentation": "

                              The type of resource to attach to your resource policy. Specify a value for the policy validation resource type only if the policy type is RESOURCE_POLICY. For example, to validate a resource policy to attach to an Amazon S3 bucket, you can choose AWS::S3::Bucket for the policy validation resource type.

                              For resource types not supported as valid values, IAM Access Analyzer runs policy checks that apply to all resource policies. For example, to validate a resource policy to attach to a KMS key, do not specify a value for the policy validation resource type and IAM Access Analyzer will run policy checks that apply to all resource policies.

                              " } } } @@ -8376,7 +8664,7 @@ "findings": { "target": "com.amazonaws.accessanalyzer#ValidatePolicyFindingList", "traits": { - "smithy.api#documentation": "

                              The list of findings in a policy returned by IAM Access Analyzer based on its suite of policy\n checks.

                              ", + "smithy.api#documentation": "

                              The list of findings in a policy returned by IAM Access Analyzer based on its suite of policy checks.

                              ", "smithy.api#required": {} } }, @@ -8490,13 +8778,13 @@ "vpcId": { "target": "com.amazonaws.accessanalyzer#VpcId", "traits": { - "smithy.api#documentation": "

                              If this field is specified, this access point will only allow connections from the\n specified VPC ID.

                              ", + "smithy.api#documentation": "

                              If this field is specified, this access point will only allow connections from the specified VPC ID.

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              The proposed virtual private cloud (VPC) configuration for the Amazon S3 access point. VPC\n configuration does not apply to multi-region access points. For more information, see\n VpcConfiguration.

                              " + "smithy.api#documentation": "

                              The proposed virtual private cloud (VPC) configuration for the Amazon S3 access point. VPC configuration does not apply to multi-region access points. For more information, see VpcConfiguration.

                              " } }, "com.amazonaws.accessanalyzer#VpcId": { diff --git a/tools/code-generation/smithy/api-descriptions/acm.json b/tools/code-generation/smithy/api-descriptions/acm.json index 5eb241bfc81..01d40010437 100644 --- a/tools/code-generation/smithy/api-descriptions/acm.json +++ b/tools/code-generation/smithy/api-descriptions/acm.json @@ -50,7 +50,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Adds one or more tags to an ACM certificate. Tags are labels that you can use to\n identify and organize your Amazon Web Services resources. Each tag consists of a key and an\n optional value. You specify the certificate on input by its Amazon Resource Name\n (ARN). You specify the tag by using a key-value pair.

                              \n

                              You can apply a tag to just one certificate if you want to identify a specific\n characteristic of that certificate, or you can apply the same tag to multiple certificates if\n you want to filter for a common relationship among those certificates. Similarly, you can\n apply the same tag to multiple resources if you want to specify a relationship among those\n resources. For example, you can add the same tag to an ACM certificate and an Elastic Load\n Balancing load balancer to indicate that they are both used by the same website. For more\n information, see Tagging ACM\n certificates.

                              \n

                              To remove one or more tags, use the RemoveTagsFromCertificate action. To\n view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

                              " + "smithy.api#documentation": "

                              Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your Amazon Web Services resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

                              You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates.

                              To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

                              " } }, "com.amazonaws.acm#AddTagsToCertificateRequest": { @@ -59,7 +59,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate to which the tag is to be applied.\n This must be of the form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } }, @@ -132,19 +132,19 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see\n Amazon Resource Names (ARNs) in\n the Amazon Web Services General Reference.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

                              " } }, "DomainName": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              The fully qualified domain name for the certificate, such as www.example.com or\n example.com.

                              " + "smithy.api#documentation": "

                              The fully qualified domain name for the certificate, such as www.example.com or example.com.

                              " } }, "SubjectAlternativeNames": { "target": "com.amazonaws.acm#DomainList", "traits": { - "smithy.api#documentation": "

                              One or more domain names (subject alternative names) \n included in the certificate. This\n list contains the domain names that are bound to the public key that is contained in the\n certificate. The subject alternative names include the canonical domain name (CN) of the\n certificate and additional domain names that can be used to connect to the website.

                              " + "smithy.api#documentation": "

                              One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

                              " } }, "ManagedBy": { @@ -156,7 +156,7 @@ "DomainValidationOptions": { "target": "com.amazonaws.acm#DomainValidationList", "traits": { - "smithy.api#documentation": "

                              Contains information about the initial validation of each domain name that occurs as a\n result of the RequestCertificate request. This field exists only when the\n certificate type is AMAZON_ISSUED.

                              " + "smithy.api#documentation": "

                              Contains information about the initial validation of each domain name that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

                              " } }, "Serial": { @@ -168,7 +168,7 @@ "Subject": { "target": "com.amazonaws.acm#String", "traits": { - "smithy.api#documentation": "

                              The name of the entity that is associated with the public key contained in the\n certificate.

                              " + "smithy.api#documentation": "

                              The name of the entity that is associated with the public key contained in the certificate.

                              " } }, "Issuer": { @@ -186,31 +186,31 @@ "IssuedAt": { "target": "com.amazonaws.acm#TStamp", "traits": { - "smithy.api#documentation": "

                              The time at which the certificate was issued. This value exists only when the certificate\n type is AMAZON_ISSUED.

                              " + "smithy.api#documentation": "

                              The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED.

                              " } }, "ImportedAt": { "target": "com.amazonaws.acm#TStamp", "traits": { - "smithy.api#documentation": "

                              The date and time when the certificate was imported. This value exists only when the\n certificate type is IMPORTED.

                              " + "smithy.api#documentation": "

                              The date and time when the certificate was imported. This value exists only when the certificate type is IMPORTED.

                              " } }, "Status": { "target": "com.amazonaws.acm#CertificateStatus", "traits": { - "smithy.api#documentation": "

                              The status of the certificate.

                              \n

                              A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for\n any of the reasons given in the troubleshooting topic Certificate request fails. ACM makes\n repeated attempts to validate a certificate for 72 hours and then times out. If a certificate\n shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and\n try again. If validation succeeds, the certificate enters status ISSUED.

                              " + "smithy.api#documentation": "

                              The status of the certificate.

                              A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic Certificate request fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try again. If validation succeeds, the certificate enters status ISSUED.

                              " } }, "RevokedAt": { "target": "com.amazonaws.acm#TStamp", "traits": { - "smithy.api#documentation": "

                              The time at which the certificate was revoked. This value exists only when the certificate\n status is REVOKED.

                              " + "smithy.api#documentation": "

                              The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

                              " } }, "RevocationReason": { "target": "com.amazonaws.acm#RevocationReason", "traits": { - "smithy.api#documentation": "

                              The reason the certificate was revoked. This value exists only when the certificate status\n is REVOKED.

                              " + "smithy.api#documentation": "

                              The reason the certificate was revoked. This value exists only when the certificate status is REVOKED.

                              " } }, "NotBefore": { @@ -240,60 +240,77 @@ "InUseBy": { "target": "com.amazonaws.acm#InUseList", "traits": { - "smithy.api#documentation": "

                              A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can\n be used by multiple Amazon Web Services resources.

                              " + "smithy.api#documentation": "

                              A list of ARNs for the Amazon Web Services resources that are using the certificate. A certificate can be used by multiple Amazon Web Services resources.

                              " } }, "FailureReason": { "target": "com.amazonaws.acm#FailureReason", "traits": { - "smithy.api#documentation": "

                              The reason the certificate request failed. This value exists only when the certificate\n status is FAILED. For more information, see Certificate Request\n Failed in the Certificate Manager User Guide.

                              " + "smithy.api#documentation": "

                              The reason the certificate request failed. This value exists only when the certificate status is FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide.

                              " } }, "Type": { "target": "com.amazonaws.acm#CertificateType", "traits": { - "smithy.api#documentation": "

                              The source of the certificate. For certificates provided by ACM, this value is\n AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide\n managed renewal for\n imported certificates. For more information about the differences between certificates that\n you import and those that ACM provides, see Importing Certificates in the\n Certificate Manager User Guide.

                              " + "smithy.api#documentation": "

                              The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Certificate Manager User Guide.

                              " } }, "RenewalSummary": { "target": "com.amazonaws.acm#RenewalSummary", "traits": { - "smithy.api#documentation": "

                              Contains information about the status of ACM's managed renewal for the certificate. This field\n exists only when the certificate type is AMAZON_ISSUED.

                              " + "smithy.api#documentation": "

                              Contains information about the status of ACM's managed renewal for the certificate. This field exists only when the certificate type is AMAZON_ISSUED.

                              " } }, "KeyUsages": { "target": "com.amazonaws.acm#KeyUsageList", "traits": { - "smithy.api#documentation": "

                              A list of Key Usage X.509 v3 extension objects. Each object is a string value that\n identifies the purpose of the public key contained in the certificate. Possible extension\n values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

                              " + "smithy.api#documentation": "

                              A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

                              " } }, "ExtendedKeyUsages": { "target": "com.amazonaws.acm#ExtendedKeyUsageList", "traits": { - "smithy.api#documentation": "

                              Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a\n purpose for which the certificate public key can be used and consists of a name and an object\n identifier (OID).

                              " + "smithy.api#documentation": "

                              Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

                              " } }, "CertificateAuthorityArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the\n certificate. This has the following format:

                              \n

                              \n arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012\n

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has the following format:

                              arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

                              " } }, "RenewalEligibility": { "target": "com.amazonaws.acm#RenewalEligibility", "traits": { - "smithy.api#documentation": "

                              Specifies whether the certificate is eligible for renewal. At this time, only exported\n private certificates can be renewed with the RenewCertificate\n command.

                              " + "smithy.api#documentation": "

                              Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

                              " } }, "Options": { "target": "com.amazonaws.acm#CertificateOptions", "traits": { - "smithy.api#documentation": "

                              Value that specifies whether to add the certificate to a transparency log. Certificate\n transparency makes it possible to detect SSL certificates that have been mistakenly or\n maliciously issued. A browser might respond to certificate that has not been logged by showing\n an error message. The logs are cryptographically secure.

                              " + "smithy.api#documentation": "

                              Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to certificate that has not been logged by showing an error message. The logs are cryptographically secure.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains metadata about an ACM certificate. This structure is returned in the response\n to a DescribeCertificate request.

                              " + "smithy.api#documentation": "

                              Contains metadata about an ACM certificate. This structure is returned in the response to a DescribeCertificate request.

                              " + } + }, + "com.amazonaws.acm#CertificateExport": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } } }, "com.amazonaws.acm#CertificateManagedBy": { @@ -353,6 +370,9 @@ { "target": "com.amazonaws.acm#ResendValidationEmail" }, + { + "target": "com.amazonaws.acm#RevokeCertificate" + }, { "target": "com.amazonaws.acm#UpdateCertificateOptions" } @@ -369,7 +389,7 @@ "name": "acm" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Certificate Manager\n

                              You can use Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites\n and applications. For more information about using ACM, see the Certificate Manager User Guide.

                              ", + "smithy.api#documentation": "Certificate Manager

                              You can use Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites and applications. For more information about using ACM, see the Certificate Manager User Guide.

                              ", "smithy.api#title": "AWS Certificate Manager", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1383,12 +1403,18 @@ "CertificateTransparencyLoggingPreference": { "target": "com.amazonaws.acm#CertificateTransparencyLoggingPreference", "traits": { - "smithy.api#documentation": "

                              You can opt out of certificate transparency logging by specifying the\n DISABLED option. Opt in by specifying ENABLED.

                              " + "smithy.api#documentation": "

                              You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED.

                              " + } + }, + "Export": { + "target": "com.amazonaws.acm#CertificateExport", + "traits": { + "smithy.api#documentation": "

                              You can opt in to allow the export of your certificates by specifying ENABLED.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Structure that contains options for your certificate. Currently, you can use this only to\n specify whether to opt in to or out of certificate transparency logging. Some browsers require\n that public certificates issued for your domain be recorded in a log. Certificates that are\n not logged typically generate a browser error. Transparency makes it possible for you to\n detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain.\n For general information, see Certificate Transparency\n Logging.

                              " + "smithy.api#documentation": "

                              Structure that contains options for your certificate. You can use this structure to specify whether to opt in to or out of certificate transparency logging and export your certificate.

                              Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

                              You can export public ACM certificates to use with Amazon Web Services services as well as outside Amazon Web Services Cloud. For more information, see Certificate Manager exportable public certificate.

                              " } }, "com.amazonaws.acm#CertificateStatus": { @@ -1450,37 +1476,37 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the certificate. This is of the form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              " + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the certificate. This is of the form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              " } }, "DomainName": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              Fully qualified domain name (FQDN), such as www.example.com or example.com, for the\n certificate.

                              " + "smithy.api#documentation": "

                              Fully qualified domain name (FQDN), such as www.example.com or example.com, for the certificate.

                              " } }, "SubjectAlternativeNameSummaries": { "target": "com.amazonaws.acm#DomainList", "traits": { - "smithy.api#documentation": "

                              One or more domain names (subject alternative names) \n included in the certificate. This\n list contains the domain names that are bound to the public key that is contained in the\n certificate. The subject alternative names include the canonical domain name (CN) of the\n certificate and additional domain names that can be used to connect to the website.

                              \n

                              When called by ListCertificates, this parameter will only return the first 100 subject alternative\n names included in the certificate. To display the full list of subject alternative names, use\n DescribeCertificate.

                              " + "smithy.api#documentation": "

                              One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

                              When called by ListCertificates, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

                              " } }, "HasAdditionalSubjectAlternativeNames": { "target": "com.amazonaws.acm#NullableBoolean", "traits": { - "smithy.api#documentation": "

                              When called by ListCertificates, indicates whether the full list of subject alternative names has\n been included in the response. If false, the response includes all of the subject alternative\n names included in the certificate. If true, the response only includes the first 100 subject\n alternative names included in the certificate. To display the full list of subject alternative\n names, use DescribeCertificate.

                              " + "smithy.api#documentation": "

                              When called by ListCertificates, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

                              " } }, "Status": { "target": "com.amazonaws.acm#CertificateStatus", "traits": { - "smithy.api#documentation": "

                              The status of the certificate.

                              \n

                              A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for\n any of the reasons given in the troubleshooting topic Certificate request fails. ACM makes\n repeated attempts to validate a certificate for 72 hours and then times out. If a certificate\n shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and\n try again. If validation succeeds, the certificate enters status ISSUED.

                              " + "smithy.api#documentation": "

                              The status of the certificate.

                              A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic Certificate request fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try again. If validation succeeds, the certificate enters status ISSUED.

                              " } }, "Type": { "target": "com.amazonaws.acm#CertificateType", "traits": { - "smithy.api#documentation": "

                              The source of the certificate. For certificates provided by ACM, this value is\n AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide\n managed renewal for\n imported certificates. For more information about the differences between certificates that\n you import and those that ACM provides, see Importing Certificates in the\n Certificate Manager User Guide.

                              " + "smithy.api#documentation": "

                              The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Certificate Manager User Guide.

                              " } }, "KeyAlgorithm": { @@ -1492,13 +1518,19 @@ "KeyUsages": { "target": "com.amazonaws.acm#KeyUsageNames", "traits": { - "smithy.api#documentation": "

                              A list of Key Usage X.509 v3 extension objects. Each object is a string value that\n identifies the purpose of the public key contained in the certificate. Possible extension\n values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

                              " + "smithy.api#documentation": "

                              A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

                              " } }, "ExtendedKeyUsages": { "target": "com.amazonaws.acm#ExtendedKeyUsageNames", "traits": { - "smithy.api#documentation": "

                              Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a\n purpose for which the certificate public key can be used and consists of a name and an object\n identifier (OID).

                              " + "smithy.api#documentation": "

                              Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

                              " + } + }, + "ExportOption": { + "target": "com.amazonaws.acm#CertificateExport", + "traits": { + "smithy.api#documentation": "

                              Indicates if export is enabled for the certificate.

                              " } }, "InUse": { @@ -1510,13 +1542,13 @@ "Exported": { "target": "com.amazonaws.acm#NullableBoolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether the certificate has been exported. This value exists only when the\n certificate type is PRIVATE.

                              " + "smithy.api#documentation": "

                              Indicates whether the certificate has been exported. This value exists only when the certificate type is PRIVATE.

                              " } }, "RenewalEligibility": { "target": "com.amazonaws.acm#RenewalEligibility", "traits": { - "smithy.api#documentation": "

                              Specifies whether the certificate is eligible for renewal. At this time, only exported\n private certificates can be renewed with the RenewCertificate\n command.

                              " + "smithy.api#documentation": "

                              Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

                              " } }, "NotBefore": { @@ -1540,19 +1572,19 @@ "IssuedAt": { "target": "com.amazonaws.acm#TStamp", "traits": { - "smithy.api#documentation": "

                              The time at which the certificate was issued. This value exists only when the certificate\n type is AMAZON_ISSUED.

                              " + "smithy.api#documentation": "

                              The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED.

                              " } }, "ImportedAt": { "target": "com.amazonaws.acm#TStamp", "traits": { - "smithy.api#documentation": "

                              The date and time when the certificate was imported. This value exists only when the\n certificate type is IMPORTED.

                              " + "smithy.api#documentation": "

                              The date and time when the certificate was imported. This value exists only when the certificate type is IMPORTED.

                              " } }, "RevokedAt": { "target": "com.amazonaws.acm#TStamp", "traits": { - "smithy.api#documentation": "

                              The time at which the certificate was revoked. This value exists only when the certificate\n status is REVOKED.

                              " + "smithy.api#documentation": "

                              The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

                              " } }, "ManagedBy": { @@ -1563,7 +1595,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              This structure is returned in the response object of ListCertificates\n action.

                              " + "smithy.api#documentation": "

                              This structure is returned in the response object of ListCertificates action.

                              " } }, "com.amazonaws.acm#CertificateSummaryList": { @@ -1620,7 +1652,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              You are trying to update a resource or configuration that is already being created or\n updated. Wait for the previous operation to finish and try again.

                              ", + "smithy.api#documentation": "

                              You are trying to update a resource or configuration that is already being created or updated. Wait for the previous operation to finish and try again.

                              ", "smithy.api#error": "client" } }, @@ -1653,7 +1685,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes a certificate and its associated private key. If this action succeeds, the\n certificate no longer appears in the list that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by Amazon Web Services\n services integrated with ACM.

                              \n \n

                              You cannot delete an ACM certificate that is being used by another Amazon Web Services service. To\n delete a certificate that is in use, the certificate association must first be\n removed.

                              \n
                              " + "smithy.api#documentation": "

                              Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by Amazon Web Services services integrated with ACM.

                              You cannot delete an ACM certificate that is being used by another Amazon Web Services service. To delete a certificate that is in use, the certificate association must first be removed.

                              " } }, "com.amazonaws.acm#DeleteCertificateRequest": { @@ -1662,7 +1694,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate to be deleted. This must be of the\n form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate to be deleted. This must be of the form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } } @@ -1688,7 +1720,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns detailed metadata about the specified ACM certificate.

                              \n

                              If you have just created a certificate using the RequestCertificate action,\n there is a delay of several seconds before you can retrieve information about it.

                              ", + "smithy.api#documentation": "

                              Returns detailed metadata about the specified ACM certificate.

                              If you have just created a certificate using the RequestCertificate action, there is a delay of several seconds before you can retrieve information about it.

                              ", "smithy.waiters#waitable": { "CertificateValidated": { "acceptors": [ @@ -1740,7 +1772,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following\n form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } } @@ -1814,7 +1846,7 @@ "DomainName": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              A fully qualified domain name (FQDN) in the certificate. For example,\n www.example.com or example.com.

                              ", + "smithy.api#documentation": "

                              A fully qualified domain name (FQDN) in the certificate. For example, www.example.com or example.com.

                              ", "smithy.api#required": {} } }, @@ -1833,19 +1865,19 @@ "ValidationStatus": { "target": "com.amazonaws.acm#DomainStatus", "traits": { - "smithy.api#documentation": "

                              The validation status of the domain name. This can be one of the following values:

                              \n
                                \n
                              • \n

                                \n PENDING_VALIDATION\n

                                \n
                              • \n
                              • \n

                                \n SUCCESS

                                \n
                              • \n
                              • \n

                                \n FAILED

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The validation status of the domain name. This can be one of the following values:

                              • PENDING_VALIDATION

                              • SUCCESS

                              • FAILED

                              " } }, "ResourceRecord": { "target": "com.amazonaws.acm#ResourceRecord", "traits": { - "smithy.api#documentation": "

                              Contains the CNAME record that you add to your DNS database for domain validation. For\n more information, see Use DNS to Validate Domain Ownership.

                              \n

                              Note: The CNAME information that you need does not include the name of your domain. If you\n include your domain name in the DNS database CNAME record, validation fails. For example, if\n the name is \"_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com\", only\n \"_a79865eb4cd1a6ab990a45779b4e0b96\" must be used.

                              " + "smithy.api#documentation": "

                              Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

                              The CNAME information that you need does not include the name of your domain. If you include your domain name in the DNS database CNAME record, validation fails. For example, if the name is _a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com, only _a79865eb4cd1a6ab990a45779b4e0b96 must be used.

                              " } }, "HttpRedirect": { "target": "com.amazonaws.acm#HttpRedirect", "traits": { - "smithy.api#documentation": "

                              Contains information for HTTP-based domain validation of certificates requested through CloudFront and issued by ACM.\n This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                              " + "smithy.api#documentation": "

                              Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                              " } }, "ValidationMethod": { @@ -1884,13 +1916,13 @@ "ValidationDomain": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              The domain name that you want ACM to use to send you validation emails. This domain name\n is the suffix of the email addresses that you want ACM to use. This must be the same as the\n DomainName value or a superdomain of the DomainName value. For\n example, if you request a certificate for testing.example.com, you can specify\n example.com for this value. In that case, ACM sends domain validation emails\n to the following five addresses:

                              \n
                                \n
                              • \n

                                admin@example.com

                                \n
                              • \n
                              • \n

                                administrator@example.com

                                \n
                              • \n
                              • \n

                                hostmaster@example.com

                                \n
                              • \n
                              • \n

                                postmaster@example.com

                                \n
                              • \n
                              • \n

                                webmaster@example.com

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The domain name that you want ACM to use to send you validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the DomainName value or a superdomain of the DomainName value. For example, if you request a certificate for testing.example.com, you can specify example.com for this value. In that case, ACM sends domain validation emails to the following five addresses:

                              • admin@example.com

                              • administrator@example.com

                              • hostmaster@example.com

                              • postmaster@example.com

                              • webmaster@example.com

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the domain names that you want ACM to use to send you emails\n that enable you to validate domain ownership.

                              " + "smithy.api#documentation": "

                              Contains information about the domain names that you want ACM to use to send you emails that enable you to validate domain ownership.

                              " } }, "com.amazonaws.acm#DomainValidationOptionList": { @@ -1911,7 +1943,7 @@ "DaysBeforeExpiry": { "target": "com.amazonaws.acm#PositiveInteger", "traits": { - "smithy.api#documentation": "

                              Specifies the number of days prior to certificate expiration when ACM starts generating\n EventBridge events. ACM sends one event per day per certificate until the\n certificate expires. By default, accounts receive events starting 45 days before certificate\n expiration.

                              " + "smithy.api#documentation": "

                              Specifies the number of days prior to certificate expiration when ACM starts generating EventBridge events. ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.

                              " } } }, @@ -1939,7 +1971,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Exports a private certificate issued by a private certificate authority (CA) for use\n anywhere. The exported file contains the certificate, the certificate chain, and the encrypted\n private 2048-bit RSA key associated with the public key that is embedded in the certificate.\n For security, you must assign a passphrase for the private key when exporting it.

                              \n

                              For information about exporting and formatting a certificate using the ACM console or\n CLI, see Export a\n Private Certificate.

                              " + "smithy.api#documentation": "

                              Exports a private certificate issued by a private certificate authority (CA) or public certificate for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

                              For information about exporting and formatting a certificate using the ACM console or CLI, see Export a private certificate and Export a public certificate.

                              " } }, "com.amazonaws.acm#ExportCertificateRequest": { @@ -1948,14 +1980,14 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:

                              \n

                              \n arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:

                              arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

                              ", "smithy.api#required": {} } }, "Passphrase": { "target": "com.amazonaws.acm#PassphraseBlob", "traits": { - "smithy.api#documentation": "

                              Passphrase to associate with the encrypted exported private key.

                              \n \n

                              When creating your passphrase, you can use any ASCII character except #, $, or %.

                              \n
                              \n

                              If you want to later decrypt the private key, you must have the passphrase. You can use\n the following OpenSSL command to decrypt a private key. After entering the command, you are\n prompted for the passphrase.

                              \n

                              \n openssl rsa -in encrypted_key.pem -out decrypted_key.pem\n

                              ", + "smithy.api#documentation": "

                              Passphrase to associate with the encrypted exported private key.

                              When creating your passphrase, you can use any ASCII character except #, $, or %.

                              If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key. After entering the command, you are prompted for the passphrase.

                              openssl rsa -in encrypted_key.pem -out decrypted_key.pem

                              ", "smithy.api#required": {} } } @@ -1976,13 +2008,13 @@ "CertificateChain": { "target": "com.amazonaws.acm#CertificateChain", "traits": { - "smithy.api#documentation": "

                              The base64 PEM-encoded certificate chain. This does not include the certificate that you\n are exporting.

                              " + "smithy.api#documentation": "

                              The base64 PEM-encoded certificate chain. This does not include the certificate that you are exporting.

                              " } }, "PrivateKey": { "target": "com.amazonaws.acm#PrivateKey", "traits": { - "smithy.api#documentation": "

                              The encrypted private key associated with the public key in the certificate. The key is\n output in PKCS #8 format and is base64 PEM-encoded.

                              " + "smithy.api#documentation": "

                              The encrypted private key associated with the public key in the certificate. The key is output in PKCS #8 format and is base64 PEM-encoded.

                              " } } }, @@ -2002,12 +2034,12 @@ "OID": { "target": "com.amazonaws.acm#String", "traits": { - "smithy.api#documentation": "

                              An object identifier (OID) for the extension value. OIDs are strings of numbers separated\n by periods. The following OIDs are defined in RFC 3280 and RFC 5280.

                              \n
                                \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.1 (TLS_WEB_SERVER_AUTHENTICATION)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.3 (CODE_SIGNING)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.8 (TIME_STAMPING)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)\n

                                \n
                              • \n
                              • \n

                                \n 1.3.6.1.5.5.7.3.7 (IPSEC_USER)\n

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              An object identifier (OID) for the extension value. OIDs are strings of numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC 5280.

                              • 1.3.6.1.5.5.7.3.1 (TLS_WEB_SERVER_AUTHENTICATION)

                              • 1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)

                              • 1.3.6.1.5.5.7.3.3 (CODE_SIGNING)

                              • 1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)

                              • 1.3.6.1.5.5.7.3.8 (TIME_STAMPING)

                              • 1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)

                              • 1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)

                              • 1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)

                              • 1.3.6.1.5.5.7.3.7 (IPSEC_USER)

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The Extended Key Usage X.509 v3 extension defines one or more purposes for which the\n public key can be used. This is in addition to or in place of the basic purposes specified by\n the Key Usage extension.

                              " + "smithy.api#documentation": "

                              The Extended Key Usage X.509 v3 extension defines one or more purposes for which the public key can be used. This is in addition to or in place of the basic purposes specified by the Key Usage extension.

                              " } }, "com.amazonaws.acm#ExtendedKeyUsageFilterList": { @@ -2230,7 +2262,13 @@ "keyTypes": { "target": "com.amazonaws.acm#KeyAlgorithmList", "traits": { - "smithy.api#documentation": "

                              Specify one or more algorithms that can be used to generate key pairs.

                              \n

                              Default filtering returns only RSA_1024 and RSA_2048\n certificates that have at least one domain. To return other certificate types, provide the\n desired type signatures in a comma-separated list. For example, \"keyTypes\":\n [\"RSA_2048\",\"RSA_4096\"] returns both RSA_2048 and RSA_4096\n certificates.

                              " + "smithy.api#documentation": "

                              Specify one or more algorithms that can be used to generate key pairs.

                              Default filtering returns only RSA_1024 and RSA_2048 certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, \"keyTypes\": [\"RSA_2048\",\"RSA_4096\"] returns both RSA_2048 and RSA_4096 certificates.

                              " + } + }, + "exportOption": { + "target": "com.amazonaws.acm#CertificateExport", + "traits": { + "smithy.api#documentation": "

                              Specify ENABLED or DISABLED to identify certificates that can be exported.

                              " } }, "managedBy": { @@ -2241,7 +2279,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              This structure can be used in the ListCertificates action to filter the\n output of the certificate list.

                              " + "smithy.api#documentation": "

                              This structure can be used in the ListCertificates action to filter the output of the certificate list.

                              " } }, "com.amazonaws.acm#GetAccountConfiguration": { @@ -2298,7 +2336,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a certificate and its certificate chain. The certificate may be either a public\n or private certificate issued using the ACM RequestCertificate action, or a\n certificate imported into ACM using the ImportCertificate action. The chain\n consists of the certificate of the issuing CA and the intermediate certificates of any other\n subordinate CAs. All of the certificates are base64 encoded. You can use OpenSSL to decode\n the certificates and inspect individual fields.

                              ", + "smithy.api#documentation": "

                              Retrieves a certificate and its certificate chain. The certificate may be either a public or private certificate issued using the ACM RequestCertificate action, or a certificate imported into ACM using the ImportCertificate action. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64 encoded. You can use OpenSSL to decode the certificates and inspect individual fields.

                              ", "smithy.test#smokeTests": [ { "id": "GetCertificateFailure", @@ -2322,7 +2360,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains a certificate ARN in the following format:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              String that contains a certificate ARN in the following format:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } } @@ -2343,7 +2381,7 @@ "CertificateChain": { "target": "com.amazonaws.acm#CertificateChain", "traits": { - "smithy.api#documentation": "

                              Certificates forming the requested certificate's chain of trust. The chain consists of the\n certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.\n

                              " + "smithy.api#documentation": "

                              Certificates forming the requested certificate's chain of trust. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.

                              " } } }, @@ -2368,7 +2406,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information for HTTP-based domain validation of certificates requested through CloudFront and issued by ACM.\n This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                              " + "smithy.api#documentation": "

                              Contains information for HTTP-based domain validation of certificates requested through Amazon CloudFront and issued by ACM. This field exists only when the certificate type is AMAZON_ISSUED and the validation method is HTTP.

                              " } }, "com.amazonaws.acm#IdempotencyToken": { @@ -2413,7 +2451,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Imports a certificate into Certificate Manager (ACM) to use with services that are integrated with\n ACM. Note that integrated\n services allow only certificate types and keys they support to be associated with\n their resources. Further, their support differs depending on whether the certificate is\n imported into IAM or into ACM. For more information, see the documentation for each\n service. For more information about importing certificates into ACM, see Importing\n Certificates in the Certificate Manager User Guide.

                              \n \n

                              ACM does not provide managed renewal for certificates that you import.

                              \n
                              \n

                              Note the following guidelines when importing third party certificates:

                              \n
                                \n
                              • \n

                                You must enter the private key that matches the certificate you are importing.

                                \n
                              • \n
                              • \n

                                The private key must be unencrypted. You cannot import a private key that is protected\n by a password or a passphrase.

                                \n
                              • \n
                              • \n

                                The private key must be no larger than 5 KB (5,120 bytes).

                                \n
                              • \n
                              • \n

                                The certificate, private key, and certificate chain must be PEM-encoded.

                                \n
                              • \n
                              • \n

                                The current time must be between the Not Before and Not\n After certificate fields.

                                \n
                              • \n
                              • \n

                                The Issuer field must not be empty.

                                \n
                              • \n
                              • \n

                                The OCSP authority URL, if present, must not exceed 1000 characters.

                                \n
                              • \n
                              • \n

                                To import a new certificate, omit the CertificateArn argument. Include\n this argument only when you want to replace a previously imported certificate.

                                \n
                              • \n
                              • \n

                                When you import a certificate by using the CLI, you must specify the certificate, the\n certificate chain, and the private key by their file names preceded by\n fileb://. For example, you can specify a certificate saved in the\n C:\\temp folder as fileb://C:\\temp\\certificate_to_import.pem.\n If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.\n

                                \n
                              • \n
                              • \n

                                When you import a certificate by using an SDK, you must specify the certificate, the\n certificate chain, and the private key files in the manner required by the programming\n language you're using.

                                \n
                              • \n
                              • \n

                                The cryptographic algorithm of an imported certificate must match the algorithm of the\n signing CA. For example, if the signing CA key type is RSA, then the certificate key type\n must also be RSA.

                                \n
                              • \n
                              \n

                              This operation returns the Amazon\n Resource Name (ARN) of the imported certificate.

                              " + "smithy.api#documentation": "

                              Imports a certificate into Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the Certificate Manager User Guide.

                              ACM does not provide managed renewal for certificates that you import.

                              Note the following guidelines when importing third party certificates:

                              • You must enter the private key that matches the certificate you are importing.

                              • The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.

                              • The private key must be no larger than 5 KB (5,120 bytes).

                              • The certificate, private key, and certificate chain must be PEM-encoded.

                              • The current time must be between the Not Before and Not After certificate fields.

                              • The Issuer field must not be empty.

                              • The OCSP authority URL, if present, must not exceed 1000 characters.

                              • To import a new certificate, omit the CertificateArn argument. Include this argument only when you want to replace a previously imported certificate.

                              • When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by fileb://. For example, you can specify a certificate saved in the C:\\temp folder as fileb://C:\\temp\\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.

                              • When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using.

                              • The cryptographic algorithm of an imported certificate must match the algorithm of the signing CA. For example, if the signing CA key type is RSA, then the certificate key type must also be RSA.

                              This operation returns the Amazon Resource Name (ARN) of the imported certificate.

                              " } }, "com.amazonaws.acm#ImportCertificateRequest": { @@ -2422,7 +2460,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name\n (ARN) of an imported certificate to replace. To import a new certificate, omit this\n field.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field.

                              " } }, "Certificate": { @@ -2448,7 +2486,7 @@ "Tags": { "target": "com.amazonaws.acm#TagList", "traits": { - "smithy.api#documentation": "

                              One or more resource tags to associate with the imported certificate.

                              \n

                              Note: You cannot apply tags when reimporting a certificate.

                              " + "smithy.api#documentation": "

                              One or more resource tags to associate with the imported certificate.

                              Note: You cannot apply tags when reimporting a certificate.

                              " } } }, @@ -2462,7 +2500,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name\n (ARN) of the imported certificate.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the imported certificate.

                              " } } }, @@ -2484,7 +2522,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              One or more of of request parameters specified is not valid.

                              ", + "smithy.api#documentation": "

                              One or more of request parameters specified is not valid.

                              ", "smithy.api#error": "client" } }, @@ -2508,7 +2546,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              One or more values in the DomainValidationOption structure is\n incorrect.

                              ", + "smithy.api#documentation": "

                              One or more values in the DomainValidationOption structure is incorrect.

                              ", "smithy.api#error": "client" } }, @@ -2544,7 +2582,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              One or both of the values that make up the key-value pair is not valid. For example, you\n cannot specify a tag value that begins with aws:.

                              ", + "smithy.api#documentation": "

                              One or both of the values that make up the key-value pair is not valid. For example, you cannot specify a tag value that begins with aws:.

                              ", "smithy.api#error": "client" } }, @@ -2612,7 +2650,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The Key Usage X.509 v3 extension defines the purpose of the public key contained in the\n certificate.

                              " + "smithy.api#documentation": "

                              The Key Usage X.509 v3 extension defines the purpose of the public key contained in the certificate.

                              " } }, "com.amazonaws.acm#KeyUsageFilterList": { @@ -2733,7 +2771,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves a list of certificate ARNs and domain names. You can request that only\n certificates that match a specific status be listed. You can also filter by specific\n attributes of the certificate. Default filtering returns only RSA_2048\n certificates. For more information, see Filters.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only RSA_2048 certificates. For more information, see Filters.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2767,31 +2805,31 @@ "Includes": { "target": "com.amazonaws.acm#Filters", "traits": { - "smithy.api#documentation": "

                              Filter the certificate list. For more information, see the Filters\n structure.

                              " + "smithy.api#documentation": "

                              Filter the certificate list. For more information, see the Filters structure.

                              " } }, "NextToken": { "target": "com.amazonaws.acm#NextToken", "traits": { - "smithy.api#documentation": "

                              Use this parameter only when paginating results and only in a subsequent request after you\n receive a response with truncated results. Set it to the value of NextToken from\n the response you just received.

                              " + "smithy.api#documentation": "

                              Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

                              " } }, "MaxItems": { "target": "com.amazonaws.acm#MaxItems", "traits": { - "smithy.api#documentation": "

                              Use this parameter when paginating results to specify the maximum number of items to\n return in the response. If additional items exist beyond the number you specify, the\n NextToken element is sent in the response. Use this NextToken\n value in a subsequent request to retrieve additional items.

                              " + "smithy.api#documentation": "

                              Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

                              " } }, "SortBy": { "target": "com.amazonaws.acm#SortBy", "traits": { - "smithy.api#documentation": "

                              Specifies the field to sort results by. If you specify SortBy, you must also\n specify SortOrder.

                              " + "smithy.api#documentation": "

                              Specifies the field to sort results by. If you specify SortBy, you must also specify SortOrder.

                              " } }, "SortOrder": { "target": "com.amazonaws.acm#SortOrder", "traits": { - "smithy.api#documentation": "

                              Specifies the order of sorted results. If you specify SortOrder, you must\n also specify SortBy.

                              " + "smithy.api#documentation": "

                              Specifies the order of sorted results. If you specify SortOrder, you must also specify SortBy.

                              " } } }, @@ -2805,7 +2843,7 @@ "NextToken": { "target": "com.amazonaws.acm#NextToken", "traits": { - "smithy.api#documentation": "

                              When the list is truncated, this value is present and contains the value to use for the\n NextToken parameter in a subsequent pagination request.

                              " + "smithy.api#documentation": "

                              When the list is truncated, this value is present and contains the value to use for the NextToken parameter in a subsequent pagination request.

                              " } }, "CertificateSummaryList": { @@ -2836,7 +2874,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the tags that have been applied to the ACM certificate. Use the certificate's\n Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate,\n use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action.

                              " + "smithy.api#documentation": "

                              Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action.

                              " } }, "com.amazonaws.acm#ListTagsForCertificateRequest": { @@ -2845,7 +2883,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate for which you want to list the tags.\n This must have the following form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } } @@ -2962,7 +3000,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Adds or modifies account-level configurations in ACM.

                              \n

                              The supported configuration option is DaysBeforeExpiry. This option specifies\n the number of days prior to certificate expiration when ACM starts generating\n EventBridge events. ACM sends one event per day per certificate until the\n certificate expires. By default, accounts receive events starting 45 days before certificate\n expiration.

                              " + "smithy.api#documentation": "

                              Adds or modifies account-level configurations in ACM.

                              The supported configuration option is DaysBeforeExpiry. This option specifies the number of days prior to certificate expiration when ACM starts generating EventBridge events. ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.

                              " } }, "com.amazonaws.acm#PutAccountConfigurationRequest": { @@ -2977,7 +3015,7 @@ "IdempotencyToken": { "target": "com.amazonaws.acm#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              Customer-chosen string used to distinguish between calls to\n PutAccountConfiguration. Idempotency tokens time out after one hour. If you\n call PutAccountConfiguration multiple times with the same unexpired idempotency\n token, ACM treats it as the same request and returns the original result. If you change the\n idempotency token for each call, ACM treats each call as a new request.

                              ", + "smithy.api#documentation": "

                              Customer-chosen string used to distinguish between calls to PutAccountConfiguration. Idempotency tokens time out after one hour. If you call PutAccountConfiguration multiple times with the same unexpired idempotency token, ACM treats it as the same request and returns the original result. If you change the idempotency token for each call, ACM treats each call as a new request.

                              ", "smithy.api#required": {} } } @@ -3026,7 +3064,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If\n you do not specify the value portion of the tag when calling this function, the tag will be\n removed regardless of value. If you specify a value, the tag is removed only if it is\n associated with the specified value.

                              \n

                              To add tags to a certificate, use the AddTagsToCertificate action. To\n view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action.

                              " + "smithy.api#documentation": "

                              Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value.

                              To add tags to a certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action.

                              " } }, "com.amazonaws.acm#RemoveTagsFromCertificateRequest": { @@ -3035,7 +3073,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the ACM Certificate with one or more tags that you want\n to remove. This must be of the form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } }, @@ -3071,7 +3109,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Renews an eligible ACM certificate. At this time, only exported private certificates can\n be renewed with this operation. In order to renew your Amazon Web Services Private CA certificates with ACM, you\n must first grant the ACM\n service principal permission to do so. For more information, see Testing Managed Renewal\n in the ACM User Guide.

                              " + "smithy.api#documentation": "

                              Renews an eligible ACM certificate. In order to renew your Amazon Web Services Private CA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

                              " } }, "com.amazonaws.acm#RenewCertificateRequest": { @@ -3080,7 +3118,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate to be renewed. This must be of the\n form:

                              \n

                              \n arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              \n

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", + "smithy.api#documentation": "

                              String that contains the ARN of the ACM certificate to be renewed. This must be of the form:

                              arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              For more information about ARNs, see Amazon Resource Names (ARNs).

                              ", "smithy.api#required": {} } } @@ -3148,7 +3186,7 @@ "DomainValidationOptions": { "target": "com.amazonaws.acm#DomainValidationList", "traits": { - "smithy.api#documentation": "

                              Contains information about the validation of each domain name in the certificate, as it\n pertains to ACM's managed\n renewal. This is different from the initial validation that occurs as a result of\n the RequestCertificate request. This field exists only when the certificate\n type is AMAZON_ISSUED.

                              ", + "smithy.api#documentation": "

                              Contains information about the validation of each domain name in the certificate, as it pertains to ACM's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

                              ", "smithy.api#required": {} } }, @@ -3167,7 +3205,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information about the status of ACM's managed renewal for the certificate. This\n structure exists only when the certificate type is AMAZON_ISSUED.

                              " + "smithy.api#documentation": "

                              Contains information about the status of ACM's managed renewal for the certificate. This structure exists only when the certificate type is AMAZON_ISSUED.

                              " } }, "com.amazonaws.acm#RequestCertificate": { @@ -3202,7 +3240,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM\n certificate, you must specify a fully qualified domain name (FQDN) in the\n DomainName parameter. You can also specify additional FQDNs in the\n SubjectAlternativeNames parameter.

                              \n

                              If you are requesting a private certificate, domain validation is not required. If you are\n requesting a public certificate, each domain name that you specify must be validated to verify\n that you own or control the domain. You can use DNS validation or email validation.\n We recommend that you use DNS validation. ACM issues public certificates after receiving\n approval from the domain owner.

                              \n \n

                              ACM behavior differs from the RFC 6125\n specification of the certificate validation process. ACM first checks for a Subject\n Alternative Name, and, if it finds one, ignores the common name (CN).

                              \n
                              \n

                              After successful completion of the RequestCertificate action, there is a\n delay of several seconds before you can retrieve information about the new certificate.

                              " + "smithy.api#documentation": "

                              Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

                              If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation.

                              ACM behavior differs from the RFC 6125 specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).

                              After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.

                              " } }, "com.amazonaws.acm#RequestCertificateRequest": { @@ -3211,44 +3249,44 @@ "DomainName": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with\n an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects\n several sites in the same domain. For example, *.example.com protects www.example.com,\n site.example.com, and images.example.com.

                              \n

                              In compliance with RFC\n 5280, the length of the domain name (technically, the Common Name) that you provide\n cannot exceed 64 octets (characters), including periods. To add a longer domain name, specify it in the Subject Alternative\n Name field, which supports names up to 253 octets in length.

                              ", + "smithy.api#documentation": "

                              Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com.

                              In compliance with RFC 5280, the length of the domain name (technically, the Common Name) that you provide cannot exceed 64 octets (characters), including periods. To add a longer domain name, specify it in the Subject Alternative Name field, which supports names up to 253 octets in length.

                              ", "smithy.api#required": {} } }, "ValidationMethod": { "target": "com.amazonaws.acm#ValidationMethod", "traits": { - "smithy.api#documentation": "

                              The method you want to use if you are requesting a public certificate to validate that you\n own or control domain. You can validate with DNS or validate with\n email. We recommend that you use DNS validation.

                              " + "smithy.api#documentation": "

                              The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation.

                              " } }, "SubjectAlternativeNames": { "target": "com.amazonaws.acm#DomainList", "traits": { - "smithy.api#documentation": "

                              Additional FQDNs to be included in the Subject Alternative Name extension of the ACM\n certificate. For example, add the name www.example.net to a certificate for which the\n DomainName field is www.example.com if users can reach your site by using\n either name. The maximum number of domain names that you can add to an ACM certificate is\n 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must\n request a quota increase. For more information, see Quotas.

                              \n

                              The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple\n labels separated by periods. No label can be longer than 63 octets. Consider the following\n examples:

                              \n
                                \n
                              • \n

                                \n (63 octets).(63 octets).(63 octets).(61 octets) is legal because the\n total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.

                                \n
                              • \n
                              • \n

                                \n (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the\n total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63\n octets.

                                \n
                              • \n
                              • \n

                                \n (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the\n total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must request a quota increase. For more information, see Quotas.

                              The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples:

                              • (63 octets).(63 octets).(63 octets).(61 octets) is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.

                              • (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.

                              • (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.

                              " } }, "IdempotencyToken": { "target": "com.amazonaws.acm#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              Customer chosen string that can be used to distinguish between calls to\n RequestCertificate. Idempotency tokens time out after one hour. Therefore, if\n you call RequestCertificate multiple times with the same idempotency token within\n one hour, ACM recognizes that you are requesting only one certificate and will issue only\n one. If you change the idempotency token for each call, ACM recognizes that you are\n requesting multiple certificates.

                              " + "smithy.api#documentation": "

                              Customer chosen string that can be used to distinguish between calls to RequestCertificate. Idempotency tokens time out after one hour. Therefore, if you call RequestCertificate multiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.

                              " } }, "DomainValidationOptions": { "target": "com.amazonaws.acm#DomainValidationOptionList", "traits": { - "smithy.api#documentation": "

                              The domain name that you want ACM to use to send you emails so that you can validate\n domain ownership.

                              " + "smithy.api#documentation": "

                              The domain name that you want ACM to use to send you emails so that you can validate domain ownership.

                              " } }, "Options": { "target": "com.amazonaws.acm#CertificateOptions", "traits": { - "smithy.api#documentation": "

                              Currently, you can use this parameter to specify whether to add the certificate to a\n certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS\n certificates that have been mistakenly or maliciously issued. Certificates that have not been\n logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

                              " + "smithy.api#documentation": "

                              You can use this parameter to specify whether to add the certificate to a certificate transparency log and export your certificate.

                              Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

                              You can export public ACM certificates to use with Amazon Web Services services as well as outside the Amazon Web Services Cloud. For more information, see Certificate Manager exportable public certificate.

                              " } }, "CertificateAuthorityArn": { "target": "com.amazonaws.acm#PcaArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used\n to issue the certificate. If you do not provide an ARN and you are trying to request a private\n certificate, ACM will attempt to issue a public certificate. For more information about\n private CAs, see the Amazon Web Services Private Certificate Authority user guide. The ARN must have the following form:

                              \n

                              \n arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012\n

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the Amazon Web Services Private Certificate Authority user guide. The ARN must have the following form:

                              arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

                              " } }, "Tags": { @@ -3260,7 +3298,7 @@ "KeyAlgorithm": { "target": "com.amazonaws.acm#KeyAlgorithm", "traits": { - "smithy.api#documentation": "

                              Specifies the algorithm of the public and private key pair that your certificate uses to\n encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital\n Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but\n with greater computing efficiency. However, ECDSA is not supported by all network clients.\n Some Amazon Web Services services may require RSA keys, or only support ECDSA keys of a particular size,\n while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not\n broken. Check the requirements for the Amazon Web Services service where you plan to deploy your\n certificate. For more information about selecting an algorithm, see Key\n algorithms.

                              \n \n

                              Algorithms supported for an ACM certificate request include:

                              \n
                                \n
                              • \n

                                \n RSA_2048\n

                                \n
                              • \n
                              • \n

                                \n EC_prime256v1\n

                                \n
                              • \n
                              • \n

                                \n EC_secp384r1\n

                                \n
                              • \n
                              \n

                              Other listed algorithms are for imported certificates only.

                              \n
                              \n \n

                              When you request a private PKI certificate signed by a CA from Amazon Web Services Private CA, the\n specified signing algorithm family (RSA or ECDSA) must match the algorithm family of\n the CA's secret key.

                              \n
                              \n

                              Default: RSA_2048

                              " + "smithy.api#documentation": "

                              Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some Amazon Web Services services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the Amazon Web Services service where you plan to deploy your certificate. For more information about selecting an algorithm, see Key algorithms.

                              Algorithms supported for an ACM certificate request include:

                              • RSA_2048

                              • EC_prime256v1

                              • EC_secp384r1

                              Other listed algorithms are for imported certificates only.

                              When you request a private PKI certificate signed by a CA from Amazon Web Services Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key.

                              Default: RSA_2048

                              " } }, "ManagedBy": { @@ -3280,7 +3318,7 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the issued certificate. This must be of the form:

                              \n

                              \n arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              " + "smithy.api#documentation": "

                              String that contains the ARN of the issued certificate. This must be of the form:

                              arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              " } } }, @@ -3296,7 +3334,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The certificate request is in process and the certificate in your account has not yet been\n issued.

                              ", + "smithy.api#documentation": "

                              The certificate request is in process and the certificate in your account has not yet been issued.

                              ", "smithy.api#error": "client" } }, @@ -3323,7 +3361,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Resends the email that requests domain ownership validation. The domain owner or an\n authorized representative must approve the ACM certificate before it can be issued. The\n certificate can be approved by clicking a link in the mail to navigate to the Amazon\n certificate approval website and then clicking I Approve.\n However, the validation email can be blocked by spam filters. Therefore, if you do not receive\n the original mail, you can request that the mail be resent within 72 hours of requesting the\n ACM certificate. If more than 72 hours have elapsed since your original request or since\n your last attempt to resend validation mail, you must request a new certificate. For more\n information about setting up your contact email addresses, see Configure Email for your Domain.

                              " + "smithy.api#documentation": "

                              Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

                              " } }, "com.amazonaws.acm#ResendValidationEmailRequest": { @@ -3332,21 +3370,21 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              String that contains the ARN of the requested certificate. The certificate ARN is\n generated and returned by the RequestCertificate action as soon as the\n request is made. By default, using this parameter causes email to be sent to all top-level\n domains you specified in the certificate request. The ARN must be of the form:

                              \n

                              \n arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012\n

                              ", + "smithy.api#documentation": "

                              String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the RequestCertificate action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form:

                              arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

                              ", "smithy.api#required": {} } }, "Domain": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              The fully qualified domain name (FQDN) of the certificate that needs to be\n validated.

                              ", + "smithy.api#documentation": "

                              The fully qualified domain name (FQDN) of the certificate that needs to be validated.

                              ", "smithy.api#required": {} } }, "ValidationDomain": { "target": "com.amazonaws.acm#DomainNameString", "traits": { - "smithy.api#documentation": "

                              The base validation domain that will act as the suffix of the email addresses that are\n used to send the emails. This must be the same as the Domain value or a\n superdomain of the Domain value. For example, if you requested a certificate for\n site.subdomain.example.com and specify a ValidationDomain of subdomain.example.com, ACM sends email to the\n domain registrant, technical contact, and administrative contact in WHOIS and the following\n five addresses:

                              \n
                                \n
                              • \n

                                admin@subdomain.example.com

                                \n
                              • \n
                              • \n

                                administrator@subdomain.example.com

                                \n
                              • \n
                              • \n

                                hostmaster@subdomain.example.com

                                \n
                              • \n
                              • \n

                                postmaster@subdomain.example.com

                                \n
                              • \n
                              • \n

                                webmaster@subdomain.example.com

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the Domain value or a superdomain of the Domain value. For example, if you requested a certificate for site.subdomain.example.com and specify a ValidationDomain of subdomain.example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses:

                              • admin@subdomain.example.com

                              • administrator@subdomain.example.com

                              • hostmaster@subdomain.example.com

                              • postmaster@subdomain.example.com

                              • webmaster@subdomain.example.com

                              ", "smithy.api#required": {} } } @@ -3363,7 +3401,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The certificate is in use by another Amazon Web Services service in the caller's account. Remove the\n association and try again.

                              ", + "smithy.api#documentation": "

                              The certificate is in use by another Amazon Web Services service in the caller's account. Remove the association and try again.

                              ", "smithy.api#error": "client" } }, @@ -3375,7 +3413,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The specified certificate cannot be found in the caller's account or the caller's account\n cannot be found.

                              ", + "smithy.api#documentation": "

                              The specified certificate cannot be found in the caller's account or the caller's account cannot be found.

                              ", "smithy.api#error": "client" } }, @@ -3399,13 +3437,13 @@ "Value": { "target": "com.amazonaws.acm#String", "traits": { - "smithy.api#documentation": "

                              The value of the CNAME record to add to your DNS database. This is supplied by\n ACM.

                              ", + "smithy.api#documentation": "

                              The value of the CNAME record to add to your DNS database. This is supplied by ACM.

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              Contains a DNS record value that you can use to validate ownership or control of a domain.\n This is used by the DescribeCertificate action.

                              " + "smithy.api#documentation": "

                              Contains a DNS record value that you can use to validate ownership or control of a domain. This is used by the DescribeCertificate action.

                              " } }, "com.amazonaws.acm#RevocationReason": { @@ -3479,6 +3517,74 @@ } } }, + "com.amazonaws.acm#RevokeCertificate": { + "type": "operation", + "input": { + "target": "com.amazonaws.acm#RevokeCertificateRequest" + }, + "output": { + "target": "com.amazonaws.acm#RevokeCertificateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.acm#AccessDeniedException" + }, + { + "target": "com.amazonaws.acm#ConflictException" + }, + { + "target": "com.amazonaws.acm#InvalidArnException" + }, + { + "target": "com.amazonaws.acm#ResourceInUseException" + }, + { + "target": "com.amazonaws.acm#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.acm#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Revokes a public ACM certificate. You can only revoke certificates that have been previously exported.

                              " + } + }, + "com.amazonaws.acm#RevokeCertificateRequest": { + "type": "structure", + "members": { + "CertificateArn": { + "target": "com.amazonaws.acm#Arn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the public or private certificate that will be revoked. The ARN must have the following form:

                              arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

                              ", + "smithy.api#required": {} + } + }, + "RevocationReason": { + "target": "com.amazonaws.acm#RevocationReason", + "traits": { + "smithy.api#documentation": "

                              Specifies why you revoked the certificate.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.acm#RevokeCertificateResponse": { + "type": "structure", + "members": { + "CertificateArn": { + "target": "com.amazonaws.acm#Arn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the public or private certificate that was revoked.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.acm#ServiceErrorMessage": { "type": "string" }, @@ -3633,7 +3739,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates a certificate. Currently, you can use this function to specify whether to opt in\n to or out of recording your certificate in a certificate transparency log. For more\n information, see Opting Out of\n Certificate Transparency Logging.

                              " + "smithy.api#documentation": "

                              Updates a certificate. You can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log and exporting. For more information, see Opting Out of Certificate Transparency Logging and Certificate Manager Exportable Managed Certificates.

                              " } }, "com.amazonaws.acm#UpdateCertificateOptionsRequest": { @@ -3642,14 +3748,14 @@ "CertificateArn": { "target": "com.amazonaws.acm#Arn", "traits": { - "smithy.api#documentation": "

                              ARN of the requested certificate to update. This must be of the form:

                              \n

                              \n arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012\n \n

                              ", + "smithy.api#documentation": "

                              ARN of the requested certificate to update. This must be of the form:

                              arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012

                              ", "smithy.api#required": {} } }, "Options": { "target": "com.amazonaws.acm#CertificateOptions", "traits": { - "smithy.api#documentation": "

                              Use to update the options for your certificate. Currently, you can specify whether to add\n your certificate to a transparency log. Certificate transparency makes it possible to detect\n SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have\n not been logged typically produce an error message in a browser.

                              ", + "smithy.api#documentation": "

                              Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log or export your certificate. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

                              ", "smithy.api#required": {} } } diff --git a/tools/code-generation/smithy/api-descriptions/aiops.json b/tools/code-generation/smithy/api-descriptions/aiops.json new file mode 100644 index 00000000000..db73aa9b60f --- /dev/null +++ b/tools/code-generation/smithy/api-descriptions/aiops.json @@ -0,0 +1,2169 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.aiops#AIOps": { + "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.aiops#ListTagsForResource" + }, + { + "target": "com.amazonaws.aiops#TagResource" + }, + { + "target": "com.amazonaws.aiops#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.aiops#InvestigationGroup" + }, + { + "target": "com.amazonaws.aiops#InvestigationGroupPolicy" + } + ], + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#ForbiddenException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "AIOps", + "arnNamespace": "aiops", + "cloudTrailEventSource": "aiops.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "aiops" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "X-Amz-Requested-Operation" + ] + }, + "smithy.api#documentation": "

                              The Amazon Q Developer operational investigations feature is a generative AI-powered assistant that can help you respond to incidents in your system. It uses generative AI to scan your system's telemetry and quickly surface suggestions that might be related to your issue. These suggestions include metrics, logs, deployment events, and root-cause hypotheses.

                              You can use API actions to create, manage, and delete investigation groups and investigation group policies. To start and manage investigations, you must use the CloudWatch console.

                              ", + "smithy.api#title": "AWS AI Ops", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://aiops.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://aiops.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.aiops#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              You don't have sufficient permissions to perform this action.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.aiops#ChatConfigurationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#ChatConfigurationArns": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#ChatConfigurationArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.aiops#ChatbotNotificationChannel": { + "type": "map", + "key": { + "target": "com.amazonaws.aiops#SNSTopicArn" + }, + "value": { + "target": "com.amazonaws.aiops#ChatConfigurationArns" + } + }, + "com.amazonaws.aiops#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              This operation couldn't be completed because of a conflict in resource states.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.aiops#CreateInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#CreateInvestigationGroupInput" + }, + "output": { + "target": "com.amazonaws.aiops#CreateInvestigationGroupOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates an investigation group in your account. Creating an investigation group is a one-time setup task for each Region in your account. It is a necessary task to be able to perform investigations.

                              Settings in the investigation group help you centrally manage the common properties of your investigations, such as the following:

                              • Who can access the investigations

                              • Whether investigation data is encrypted with a customer managed Key Management Service key.

                              • How long investigations and their data are retained by default.

                              Currently, you can have one investigation group in each Region in your account. Each investigation in a Region is a part of the investigation group in that Region

                              To create an investigation group and set up Amazon Q Developer operational investigations, you must be signed in to an IAM principal that has the either the AIOpsConsoleAdminPolicy or the AdministratorAccess IAM policy attached, or to an account that has similar permissions.

                              You can configure CloudWatch alarms to start investigations and add events to investigations. If you create your investigation group with CreateInvestigationGroup and you want to enable alarms to do this, you must use PutInvestigationGroupPolicy to create a resource policy that grants this permission to CloudWatch alarms.

                              For more information about configuring CloudWatch alarms to work with Amazon Q Developer operational investigations, see

                              ", + "smithy.api#http": { + "code": 201, + "method": "POST", + "uri": "/investigationGroups" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateInvestigationGroupUnauthorized", + "params": { + "name": "test-smoke", + "roleArn": "arn:aws:iam::123456789012:role/assistant-role" + }, + "expect": { + "failure": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.aiops#CreateInvestigationGroupInput": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

                              A name for the investigation group.

                              ", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn", + "traits": { + "smithy.api#documentation": "

                              Specify the ARN of the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

                              For more information, see How to control what data Amazon Q has access to during investigations.

                              ", + "smithy.api#required": {} + } + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

                              Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

                              " + } + }, + "retentionInDays": { + "target": "com.amazonaws.aiops#Retention", + "traits": { + "smithy.api#documentation": "

                              Specify how long that investigation data is kept. For more information, see Operational investigation data retention.

                              If you omit this parameter, the default of 90 days is used.

                              " + } + }, + "tags": { + "target": "com.amazonaws.aiops#Tags", + "traits": { + "smithy.api#documentation": "

                              A list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation group, you must have the cloudwatch:TagResource permission.

                              Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

                              " + } + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries", + "traits": { + "smithy.api#documentation": "

                              Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

                              You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

                              " + } + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel", + "traits": { + "smithy.api#documentation": "

                              Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                              " + } + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.aiops#CreateInvestigationGroupOutput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the investigation group that you just created.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes the specified investigation group from your account. You can currently have one investigation group per Region in your account. After you delete an investigation group, you can later create a new investigation group in the same Region.

                              ", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/investigationGroups/{identifier}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Removes the IAM resource policy from being associated with the investigation group that you specify.

                              ", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/investigationGroups/{identifier}/policy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupPolicyOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupPolicyRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

                              Specify either the name or the ARN of the investigation group that you want to remove the policy from.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#DeleteInvestigationGroupRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

                              Specify either the name or the ARN of the investigation group that you want to delete.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#EncryptionConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.aiops#EncryptionConfigurationType", + "traits": { + "smithy.api#documentation": "

                              Displays whether investigation data is encrypted by a customer managed key or an Amazon Web Services owned kay.

                              " + } + }, + "kmsKeyId": { + "target": "com.amazonaws.aiops#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                              If the investigation group uses a customer managed key for encryption, this field displays the ID of that key.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Use this structure to specify a customer managed KMS key to use to encrypt investigation data.

                              " + } + }, + "com.amazonaws.aiops#EncryptionConfigurationType": { + "type": "enum", + "members": { + "AWS_OWNED_KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_OWNED_KEY" + } + }, + "CUSTOMER_MANAGED_KMS_KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOMER_MANAGED_KMS_KEY" + } + } + } + }, + "com.amazonaws.aiops#ForbiddenException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              Access id denied for this operation, or this operation is not valid for the specified resource.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.aiops#GetInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#GetInvestigationGroupRequest" + }, + "output": { + "target": "com.amazonaws.aiops#GetInvestigationGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns the configuration information for the specified investigation group.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/investigationGroups/{identifier}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#GetInvestigationGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#GetInvestigationGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.aiops#GetInvestigationGroupPolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns the IAM resource policy that is associated with the specified investigation group.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/investigationGroups/{identifier}/policy" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#GetInvestigationGroupPolicyRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

                              Specify either the name or the ARN of the investigation group that you want to view the policy of.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#GetInvestigationGroupPolicyResponse": { + "type": "structure", + "members": { + "investigationGroupArn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the investigation group that you want to view the policy of.

                              " + } + }, + "policy": { + "target": "com.amazonaws.aiops#InvestigationGroupPolicyDocument", + "traits": { + "smithy.api#documentation": "

                              The policy, in JSON format.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#GetInvestigationGroupRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

                              Specify either the name or the ARN of the investigation group that you want to view.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#GetInvestigationGroupResponse": { + "type": "structure", + "members": { + "createdBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

                              The name of the user who created the investigation group.

                              " + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time that the investigation group was created.

                              " + } + }, + "lastModifiedBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

                              The name of the user who created the investigation group.

                              " + } + }, + "lastModifiedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time that the investigation group was most recently modified.

                              " + } + }, + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

                              The name of the investigation group.

                              " + } + }, + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the investigation group.

                              " + } + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the IAM role that the investigation group uses for permissions to gather data.

                              " + } + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

                              Specifies the customer managed KMS key that the investigation group uses to encrypt data, if there is one. If not, the investigation group uses an Amazon Web Services key to encrypt the data.

                              " + } + }, + "retentionInDays": { + "target": "com.amazonaws.aiops#Retention", + "traits": { + "smithy.api#documentation": "

                              Specifies how long that investigation data is kept.

                              " + } + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel", + "traits": { + "smithy.api#documentation": "

                              This structure is a string array. The first string is the ARN of a Amazon SNS topic. The array of strings display the ARNs of Amazon Q in chat applications configurations that are associated with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                              " + } + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries", + "traits": { + "smithy.api#documentation": "

                              Displays the custom tag keys for custom applications in your system that you have specified in the investigation group. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources.

                              " + } + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Specifies whether Amazon Q Developer operational investigationshas access to change events that are recorded by CloudTrail.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^[\\-_\\/A-Za-z0-9:\\.]+$" + } + }, + "com.amazonaws.aiops#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              An internal server error occurred. You can try again later.

                              ", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.aiops#InvestigationGroup": { + "type": "resource", + "identifiers": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier" + } + }, + "properties": { + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn" + }, + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits" + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn" + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration" + }, + "retentionInDays": { + "target": "com.amazonaws.aiops#Retention" + }, + "lastModifiedAt": { + "target": "smithy.api#Timestamp" + }, + "lastModifiedBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits" + }, + "createdBy": { + "target": "com.amazonaws.aiops#IdentifierStringWithPatternAndLengthLimits" + }, + "createdAt": { + "target": "smithy.api#Timestamp" + }, + "tags": { + "target": "com.amazonaws.aiops#Tags" + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries" + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel" + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean" + } + }, + "create": { + "target": "com.amazonaws.aiops#CreateInvestigationGroup" + }, + "read": { + "target": "com.amazonaws.aiops#GetInvestigationGroup" + }, + "update": { + "target": "com.amazonaws.aiops#UpdateInvestigationGroup" + }, + "delete": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroup" + }, + "list": { + "target": "com.amazonaws.aiops#ListInvestigationGroups" + } + }, + "com.amazonaws.aiops#InvestigationGroupArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16}$" + } + }, + "com.amazonaws.aiops#InvestigationGroupIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?:[\\-_A-Za-z0-9]{1,512}|arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16})$" + } + }, + "com.amazonaws.aiops#InvestigationGroupPolicy": { + "type": "resource", + "identifiers": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier" + } + }, + "properties": { + "investigationGroupArn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn" + }, + "policy": { + "target": "com.amazonaws.aiops#InvestigationGroupPolicyDocument" + } + }, + "put": { + "target": "com.amazonaws.aiops#PutInvestigationGroupPolicy" + }, + "read": { + "target": "com.amazonaws.aiops#GetInvestigationGroupPolicy" + }, + "delete": { + "target": "com.amazonaws.aiops#DeleteInvestigationGroupPolicy" + } + }, + "com.amazonaws.aiops#InvestigationGroupPolicyDocument": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32768 + }, + "smithy.api#pattern": "^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+$" + } + }, + "com.amazonaws.aiops#InvestigationGroups": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#ListInvestigationGroupsModel" + } + }, + "com.amazonaws.aiops#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#ListInvestigationGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#ListInvestigationGroupsInput" + }, + "output": { + "target": "com.amazonaws.aiops#ListInvestigationGroupsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns the ARN and name of each investigation group in the account.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/investigationGroups" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "pageSize": "maxResults", + "outputToken": "nextToken", + "items": "investigationGroups" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#ListInvestigationGroupsInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.aiops#SensitiveStringWithLengthLimits", + "traits": { + "smithy.api#documentation": "

                              Include this value, if it was returned by the previous operation, to get the next set of service operations.

                              ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

                              ", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.aiops#ListInvestigationGroupsModel": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the investigation group.

                              " + } + }, + "name": { + "target": "com.amazonaws.aiops#StringWithPatternAndLengthLimits", + "traits": { + "smithy.api#documentation": "

                              The name of the investigation group.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              This structure contains information about one investigation group in the account.

                              " + } + }, + "com.amazonaws.aiops#ListInvestigationGroupsOutput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.aiops#SensitiveStringWithLengthLimits", + "traits": { + "smithy.api#documentation": "

                              Include this value in your next use of this operation to get the next set of service operations.

                              " + } + }, + "investigationGroups": { + "target": "com.amazonaws.aiops#InvestigationGroups", + "traits": { + "smithy.api#documentation": "

                              An array of structures, where each structure contains the information about one investigation group in the account.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.aiops#ListTagsForResourceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Displays the tags associated with a Amazon Q Developer operational investigations resource. Currently, investigation groups support tagging.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.aiops#ListTagsForResourceOutput": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.aiops#Tags", + "traits": { + "smithy.api#documentation": "

                              The list of tag keys and values associated with the resource you specified.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The ARN of the Amazon Q Developer operational investigations resource that you want to view tags for. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                              The ARN format for an investigation group is arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id .

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.aiops#PutInvestigationGroupPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#PutInvestigationGroupPolicyRequest" + }, + "output": { + "target": "com.amazonaws.aiops#PutInvestigationGroupPolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates an IAM resource policy and assigns it to the specified investigation group.

                              If you create your investigation group with CreateInvestigationGroup and you want to enable CloudWatch alarms to create investigations and add events to investigations, you must use this operation to create a policy similar to this example.

                              { \"Version\": \"2008-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"aiops.alarms.cloudwatch.amazonaws.com\" }, \"Action\": [\"aiops:CreateInvestigation\", \"aiops:CreateInvestigationEvent\"], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"account-id\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:cloudwatch:region:account-id:alarm:*\" } } }] }

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/investigationGroups/{identifier}/policy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#PutInvestigationGroupPolicyRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

                              Specify either the name or the ARN of the investigation group that you want to assign the policy to.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.aiops#InvestigationGroupPolicyDocument", + "traits": { + "smithy.api#documentation": "

                              The policy, in JSON format.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#PutInvestigationGroupPolicyResponse": { + "type": "structure", + "members": { + "investigationGroupArn": { + "target": "com.amazonaws.aiops#InvestigationGroupArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the investigation group that will use this policy.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              The specified resource doesn't exist.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.aiops#Retention": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 7, + "max": 90 + } + } + }, + "com.amazonaws.aiops#RoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#SNSTopicArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*$" + } + }, + "com.amazonaws.aiops#SensitiveStringWithLengthLimits": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.aiops#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The resource that caused the quota exception.

                              " + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The type of resource that caused the quota exception.

                              " + } + }, + "serviceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              This name of the service associated with the error.

                              " + } + }, + "quotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              This quota that was exceeded.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              This request exceeds a service quota.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.aiops#StringWithPatternAndLengthLimits": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^[\\-_A-Za-z0-9\\[\\]\\(\\)\\{\\}\\.: ]+$" + } + }, + "com.amazonaws.aiops#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$" + } + }, + "com.amazonaws.aiops#TagKeyBoundaries": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#TagKey" + } + }, + "com.amazonaws.aiops#TagKeys": { + "type": "list", + "member": { + "target": "com.amazonaws.aiops#TagKey" + }, + "traits": { + "smithy.api#length": { + "max": 50 + } + } + }, + "com.amazonaws.aiops#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.aiops#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Assigns one or more tags (key-value pairs) to the specified resource.

                              Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

                              Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

                              You can associate as many as 50 tags with a resource.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.aiops#Tags", + "traits": { + "smithy.api#documentation": "

                              The list of key-value pairs to associate with the resource.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.aiops#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.aiops#Tags": { + "type": "map", + "key": { + "target": "com.amazonaws.aiops#TagKey" + }, + "value": { + "target": "com.amazonaws.aiops#TagValue" + } + }, + "com.amazonaws.aiops#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              The request was throttled because of quota limits. You can try again later.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.aiops#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.aiops#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Removes one or more tags from the specified resource.

                              ", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.aiops#TagKeys", + "traits": { + "smithy.api#documentation": "

                              The list of tag keys to remove from the resource.

                              ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "resourceArn" + } + } + ] + } + }, + "com.amazonaws.aiops#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#UpdateInvestigationGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.aiops#UpdateInvestigationGroupRequest" + }, + "output": { + "target": "com.amazonaws.aiops#UpdateInvestigationGroupOutput" + }, + "errors": [ + { + "target": "com.amazonaws.aiops#AccessDeniedException" + }, + { + "target": "com.amazonaws.aiops#ConflictException" + }, + { + "target": "com.amazonaws.aiops#InternalServerException" + }, + { + "target": "com.amazonaws.aiops#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.aiops#ThrottlingException" + }, + { + "target": "com.amazonaws.aiops#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Updates the configuration of the specified investigation group.

                              ", + "smithy.api#http": { + "code": 200, + "method": "PATCH", + "uri": "/investigationGroups/{identifier}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.aiops#UpdateInvestigationGroupOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.aiops#UpdateInvestigationGroupRequest": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.aiops#InvestigationGroupIdentifier", + "traits": { + "smithy.api#documentation": "

                              Specify either the name or the ARN of the investigation group that you want to modify.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.aiops#RoleArn", + "traits": { + "smithy.api#documentation": "

                              Specify this field if you want to change the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.

                              The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.

                              For more information, see EHow to control what data Amazon Q has access to during investigations.

                              " + } + }, + "encryptionConfiguration": { + "target": "com.amazonaws.aiops#EncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

                              Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

                              " + } + }, + "tagKeyBoundaries": { + "target": "com.amazonaws.aiops#TagKeyBoundaries", + "traits": { + "smithy.api#documentation": "

                              Enter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.

                              You don't need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.

                              " + } + }, + "chatbotNotificationChannel": { + "target": "com.amazonaws.aiops#ChatbotNotificationChannel", + "traits": { + "smithy.api#documentation": "

                              Use this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.

                              " + } + }, + "isCloudTrailEventHistoryEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Specify true to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default is true.

                              " + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.aiops#InvestigationGroup", + "ids": { + "identifier": "identifier" + } + }, + { + "resource": "com.amazonaws.aiops#InvestigationGroupPolicy", + "ids": { + "identifier": "identifier" + } + } + ] + } + }, + "com.amazonaws.aiops#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

                              This operation or its parameters aren't formatted correctly.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + } + } +} \ No newline at end of file diff --git a/tools/code-generation/smithy/api-descriptions/api-gateway.json b/tools/code-generation/smithy/api-descriptions/api-gateway.json index 170269acf0a..dd4dd7a3b3d 100644 --- a/tools/code-generation/smithy/api-descriptions/api-gateway.json +++ b/tools/code-generation/smithy/api-descriptions/api-gateway.json @@ -5046,7 +5046,7 @@ "domainNameArn": { "target": "com.amazonaws.apigateway#String", "traits": { - "smithy.api#documentation": "

                              The ARN of the domain name. Supported only for private custom domain names.\n

                              " + "smithy.api#documentation": "

                              The ARN of the domain name.\n

                              " } }, "certificateName": { @@ -8988,7 +8988,7 @@ "target": "com.amazonaws.apigateway#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

                              " + "smithy.api#documentation": "

                              Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.

                              " } }, "cacheNamespace": { @@ -10045,7 +10045,7 @@ "timeoutInMillis": { "target": "com.amazonaws.apigateway#NullableInteger", "traits": { - "smithy.api#documentation": "

                              Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

                              " + "smithy.api#documentation": "

                              Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.

                              " } }, "tlsConfig": { diff --git a/tools/code-generation/smithy/api-descriptions/apigatewayv2.json b/tools/code-generation/smithy/api-descriptions/apigatewayv2.json index 3e80504c5c1..0549e10588f 100644 --- a/tools/code-generation/smithy/api-descriptions/apigatewayv2.json +++ b/tools/code-generation/smithy/api-descriptions/apigatewayv2.json @@ -3509,7 +3509,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a RoutingRule

                              ", + "smithy.api#documentation": "

                              Creates a RoutingRule.

                              ", "smithy.api#http": { "method": "POST", "uri": "/v2/domainnames/{DomainName}/routingrules", diff --git a/tools/code-generation/smithy/api-descriptions/appsync.json b/tools/code-generation/smithy/api-descriptions/appsync.json index c8dd0725ae2..9bf4842142f 100644 --- a/tools/code-generation/smithy/api-descriptions/appsync.json +++ b/tools/code-generation/smithy/api-descriptions/appsync.json @@ -2541,6 +2541,10 @@ "target": "com.amazonaws.appsync#Boolean", "traits": { "smithy.api#default": false, + "smithy.api#deprecated": { + "since": "5/15/2025", + "message": "transitEncryptionEnabled attribute is deprecated. Encryption in transit is always enabled." + }, "smithy.api#documentation": "

                              Transit encryption flag when connecting to cache. You cannot update this setting after\n creation.

                              " } }, @@ -2548,6 +2552,10 @@ "target": "com.amazonaws.appsync#Boolean", "traits": { "smithy.api#default": false, + "smithy.api#deprecated": { + "since": "5/15/2025", + "message": "atRestEncryptionEnabled attribute is deprecated. Encryption at rest is always enabled." + }, "smithy.api#documentation": "

                              At-rest encryption flag for cache. You cannot update this setting after creation.

                              " } }, diff --git a/tools/code-generation/smithy/api-descriptions/auto-scaling.json b/tools/code-generation/smithy/api-descriptions/auto-scaling.json index 52375ee2e4b..7f184728002 100644 --- a/tools/code-generation/smithy/api-descriptions/auto-scaling.json +++ b/tools/code-generation/smithy/api-descriptions/auto-scaling.json @@ -976,6 +976,12 @@ "smithy.api#documentation": "

                              The names of the Auto Scaling groups. By default, you can only specify up to 50 names. You can\n optionally increase this limit using the MaxRecords property.

                              \n

                              If you omit this property, all Auto Scaling groups are described.

                              " } }, + "IncludeInstances": { + "target": "com.amazonaws.autoscaling#IncludeInstances", + "traits": { + "smithy.api#documentation": "

                              \n Specifies whether to include information about Amazon EC2 instances in the response. When set to true (default), the response includes instance details.\n

                              " + } + }, "NextToken": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { @@ -1355,7 +1361,7 @@ "name": "autoscaling" }, "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "Amazon EC2 Auto Scaling\n

                              Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

                              \n

                              For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

                              ", + "smithy.api#documentation": "Amazon EC2 Auto Scaling\n

                              The DescribeAutoScalingGroups API operation might be throttled when retrieving details for an Auto Scaling group that contains many instances. By default, this operation returns details for all instances in the group. \n To help prevent throttling, you can set the IncludeInstances parameter to false to exclude instance details from the response.

                              \n

                              Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

                              \n

                              For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

                              ", "smithy.api#title": "Auto Scaling", "smithy.api#xmlNamespace": { "uri": "http://autoscaling.amazonaws.com/doc/2011-01-01/" @@ -6470,6 +6476,9 @@ "com.amazonaws.autoscaling#IncludeDeletedGroups": { "type": "boolean" }, + "com.amazonaws.autoscaling#IncludeInstances": { + "type": "boolean" + }, "com.amazonaws.autoscaling#Instance": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/backup.json b/tools/code-generation/smithy/api-descriptions/backup.json index f672e5a6c2d..fc524330073 100644 --- a/tools/code-generation/smithy/api-descriptions/backup.json +++ b/tools/code-generation/smithy/api-descriptions/backup.json @@ -126,6 +126,69 @@ "smithy.api#error": "client" } }, + "com.amazonaws.backup#AssociateBackupVaultMpaApprovalTeam": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#AssociateBackupVaultMpaApprovalTeamInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#InvalidRequestException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Associates an MPA approval team with a backup vault.

                              ", + "smithy.api#http": { + "method": "PUT", + "uri": "/backup-vaults/{BackupVaultName}/mpaApprovalTeam", + "code": 204 + } + } + }, + "com.amazonaws.backup#AssociateBackupVaultMpaApprovalTeamInput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

                              The name of the backup vault to associate with the MPA approval team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MpaApprovalTeamArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault.

                              ", + "smithy.api#required": {} + } + }, + "RequesterComment": { + "target": "com.amazonaws.backup#RequesterComment", + "traits": { + "smithy.api#documentation": "

                              A comment provided by the requester explaining the association request.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.backup#BackupJob": { "type": "structure", "members": { @@ -1056,6 +1119,12 @@ "smithy.api#enumValue": "S3_RESTORE_OBJECT_FAILED" } }, + "CONTINUOUS_BACKUP_INTERRUPTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTINUOUS_BACKUP_INTERRUPTED" + } + }, "RECOVERY_POINT_INDEX_COMPLETED": { "target": "smithy.api#Unit", "traits": { @@ -1880,7 +1949,8 @@ "CreatorRequestId": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              Identifies the request and allows failed requests to be retried without the risk of\n running the operation twice. If the request includes a CreatorRequestId that\n matches an existing backup plan, that plan is returned. This parameter is optional.

                              \n

                              If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                              " + "smithy.api#documentation": "

                              Identifies the request and allows failed requests to be retried without the risk of\n running the operation twice. If the request includes a CreatorRequestId that\n matches an existing backup plan, that plan is returned. This parameter is optional.

                              \n

                              If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                              ", + "smithy.api#idempotencyToken": {} } } }, @@ -1982,7 +2052,8 @@ "CreatorRequestId": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              A unique string that identifies the request and allows failed requests to be retried\n without the risk of running the operation twice. This parameter is optional.

                              \n

                              If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                              " + "smithy.api#documentation": "

                              A unique string that identifies the request and allows failed requests to be retried\n without the risk of running the operation twice. This parameter is optional.

                              \n

                              If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                              ", + "smithy.api#idempotencyToken": {} } } }, @@ -2077,7 +2148,8 @@ "CreatorRequestId": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              A unique string that identifies the request and allows failed requests to be retried\n without the risk of running the operation twice. This parameter is optional.

                              \n

                              If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                              " + "smithy.api#documentation": "

                              A unique string that identifies the request and allows failed requests to be retried\n without the risk of running the operation twice. This parameter is optional.

                              \n

                              If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

                              ", + "smithy.api#idempotencyToken": {} } } }, @@ -2259,7 +2331,8 @@ "IdempotencyToken": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              This is a user-chosen string used to distinguish between otherwise identical \n calls. Retrying a successful request with the \n same idempotency token results in a success message with no action taken.

                              " + "smithy.api#documentation": "

                              This is a user-chosen string used to distinguish between otherwise identical \n calls. Retrying a successful request with the \n same idempotency token results in a success message with no action taken.

                              ", + "smithy.api#idempotencyToken": {} } }, "RecoveryPointSelection": { @@ -2387,7 +2460,8 @@ "CreatorRequestId": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              The ID of the creation request.

                              \n

                              This parameter is optional. If used, this parameter must contain \n 1 to 50 alphanumeric or '-_.' characters.

                              " + "smithy.api#documentation": "

                              The ID of the creation request.

                              \n

                              This parameter is optional. If used, this parameter must contain \n 1 to 50 alphanumeric or '-_.' characters.

                              ", + "smithy.api#idempotencyToken": {} } }, "MinRetentionDays": { @@ -2550,6 +2624,119 @@ "smithy.api#output": {} } }, + "com.amazonaws.backup#CreateRestoreAccessBackupVault": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#CreateRestoreAccessBackupVaultInput" + }, + "output": { + "target": "com.amazonaws.backup#CreateRestoreAccessBackupVaultOutput" + }, + "errors": [ + { + "target": "com.amazonaws.backup#AlreadyExistsException" + }, + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#InvalidRequestException" + }, + { + "target": "com.amazonaws.backup#LimitExceededException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates a restore access backup vault that provides temporary access to recovery points in a logically air-gapped backup vault, subject to MPA approval.

                              ", + "smithy.api#http": { + "method": "PUT", + "uri": "/restore-access-backup-vaults", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.backup#CreateRestoreAccessBackupVaultInput": { + "type": "structure", + "members": { + "SourceBackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the source backup vault containing the recovery points to which temporary access is requested.

                              ", + "smithy.api#required": {} + } + }, + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

                              The name of the backup vault to associate with an MPA approval team.

                              " + } + }, + "BackupVaultTags": { + "target": "com.amazonaws.backup#Tags", + "traits": { + "smithy.api#documentation": "

                              Optional tags to assign to the restore access backup vault.

                              " + } + }, + "CreatorRequestId": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

                              A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

                              ", + "smithy.api#idempotencyToken": {} + } + }, + "RequesterComment": { + "target": "com.amazonaws.backup#RequesterComment", + "traits": { + "smithy.api#documentation": "

                              A comment explaining the reason for requesting restore access to the backup vault.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.backup#CreateRestoreAccessBackupVaultOutput": { + "type": "structure", + "members": { + "RestoreAccessBackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN that uniquely identifies the created restore access backup vault.

                              " + } + }, + "VaultState": { + "target": "com.amazonaws.backup#VaultState", + "traits": { + "smithy.api#documentation": "

                              The current state of the restore access backup vault.

                              " + } + }, + "RestoreAccessBackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

                              The name of the created restore access backup vault.

                              " + } + }, + "CreationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              >The date and time when the restore access backup vault was created, in Unix format and Coordinated Universal Time

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.backup#CreateRestoreTestingPlan": { "type": "operation", "input": { @@ -2754,6 +2941,9 @@ "type": "service", "version": "2018-11-15", "operations": [ + { + "target": "com.amazonaws.backup#AssociateBackupVaultMpaApprovalTeam" + }, { "target": "com.amazonaws.backup#CancelLegalHold" }, @@ -2778,6 +2968,9 @@ { "target": "com.amazonaws.backup#CreateReportPlan" }, + { + "target": "com.amazonaws.backup#CreateRestoreAccessBackupVault" + }, { "target": "com.amazonaws.backup#CreateRestoreTestingPlan" }, @@ -2850,6 +3043,9 @@ { "target": "com.amazonaws.backup#DescribeRestoreJob" }, + { + "target": "com.amazonaws.backup#DisassociateBackupVaultMpaApprovalTeam" + }, { "target": "com.amazonaws.backup#DisassociateRecoveryPoint" }, @@ -2958,6 +3154,9 @@ { "target": "com.amazonaws.backup#ListReportPlans" }, + { + "target": "com.amazonaws.backup#ListRestoreAccessBackupVaults" + }, { "target": "com.amazonaws.backup#ListRestoreJobs" }, @@ -2988,6 +3187,9 @@ { "target": "com.amazonaws.backup#PutRestoreValidationResult" }, + { + "target": "com.amazonaws.backup#RevokeRestoreAccessBackupVault" + }, { "target": "com.amazonaws.backup#StartBackupJob" }, @@ -4170,7 +4372,8 @@ "method": "DELETE", "uri": "/backup-vaults/{BackupVaultName}", "code": 200 - } + }, + "smithy.api#idempotent": {} } }, "com.amazonaws.backup#DeleteBackupVaultAccessPolicy": { @@ -4970,6 +5173,30 @@ "traits": { "smithy.api#documentation": "

                              The date and time when Backup Vault Lock configuration cannot be changed or\n deleted.

                              \n

                              If you applied Vault Lock to your vault without specifying a lock date, you can change\n any of your Vault Lock settings, or delete Vault Lock from the vault entirely, at any\n time.

                              \n

                              This value is in Unix format, Coordinated Universal Time (UTC), and accurate to\n milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018\n 12:11:30.087 AM.

                              " } + }, + "SourceBackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the source backup vault from which this restore access backup vault was created.

                              " + } + }, + "MpaApprovalTeamArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the MPA approval team associated with this backup vault.

                              " + } + }, + "MpaSessionArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the MPA session associated with this backup vault.

                              " + } + }, + "LatestMpaApprovalTeamUpdate": { + "target": "com.amazonaws.backup#LatestMpaApprovalTeamUpdate", + "traits": { + "smithy.api#documentation": "

                              Information about the latest update to the MPA approval team association for this backup vault.

                              " + } } }, "traits": { @@ -5435,6 +5662,12 @@ "smithy.api#documentation": "

                              The date and time that a recovery point is created, in Unix format and Coordinated\n Universal Time (UTC). The value of CreationDate is accurate to milliseconds.\n For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

                              " } }, + "InitiationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the backup job that created this recovery point was initiated, in\n Unix format and Coordinated Universal Time (UTC).

                              " + } + }, "CompletionDate": { "target": "com.amazonaws.backup#timestamp", "traits": { @@ -5873,6 +6106,62 @@ "smithy.api#output": {} } }, + "com.amazonaws.backup#DisassociateBackupVaultMpaApprovalTeam": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#DisassociateBackupVaultMpaApprovalTeamInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#InvalidRequestException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Removes the association between an MPA approval team and a backup vault, disabling the MPA approval workflow for restore operations.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/backup-vaults/{BackupVaultName}/mpaApprovalTeam?delete", + "code": 204 + } + } + }, + "com.amazonaws.backup#DisassociateBackupVaultMpaApprovalTeamInput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

                              The name of the backup vault from which to disassociate the MPA approval team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RequesterComment": { + "target": "com.amazonaws.backup#RequesterComment", + "traits": { + "smithy.api#documentation": "

                              An optional comment explaining the reason for disassociating the MPA approval team from the backup vault.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.backup#DisassociateRecoveryPoint": { "type": "operation", "input": { @@ -7551,6 +7840,82 @@ "target": "com.amazonaws.backup#KeyValue" } }, + "com.amazonaws.backup#LatestMpaApprovalTeamUpdate": { + "type": "structure", + "members": { + "MpaSessionArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the MPA session associated with this update.

                              " + } + }, + "Status": { + "target": "com.amazonaws.backup#MpaSessionStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the MPA approval team update.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

                              A message describing the current status of the MPA approval team update.

                              " + } + }, + "InitiationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the MPA approval team update was initiated.

                              " + } + }, + "ExpiryDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the MPA approval team update will expire.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about the latest update to an MPA approval team association.

                              " + } + }, + "com.amazonaws.backup#LatestRevokeRequest": { + "type": "structure", + "members": { + "MpaSessionArn": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

                              The ARN of the MPA session associated with this revoke request.

                              " + } + }, + "Status": { + "target": "com.amazonaws.backup#MpaRevokeSessionStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the revoke request.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

                              A message describing the current status of the revoke request.

                              " + } + }, + "InitiationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the revoke request was initiated.

                              " + } + }, + "ExpiryDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the revoke request will expire.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about the latest request to revoke access to a backup vault.

                              " + } + }, "com.amazonaws.backup#LegalHold": { "type": "structure", "members": { @@ -9575,6 +9940,93 @@ "smithy.api#output": {} } }, + "com.amazonaws.backup#ListRestoreAccessBackupVaults": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#ListRestoreAccessBackupVaultsInput" + }, + "output": { + "target": "com.amazonaws.backup#ListRestoreAccessBackupVaultsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns a list of restore access backup vaults associated with a specified backup vault.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/logically-air-gapped-backup-vaults/{BackupVaultName}/restore-access-backup-vaults", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "RestoreAccessBackupVaults", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.backup#ListRestoreAccessBackupVaultsInput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

                              The name of the backup vault for which to list associated restore access backup vaults.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request to retrieve the next set of results.

                              ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.backup#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of items to return in the response.

                              ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.backup#ListRestoreAccessBackupVaultsOutput": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use in a subsequent request to retrieve the next set of results.

                              " + } + }, + "RestoreAccessBackupVaults": { + "target": "com.amazonaws.backup#RestoreAccessBackupVaultList", + "traits": { + "smithy.api#documentation": "

                              A list of restore access backup vaults associated with the specified backup vault.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.backup#ListRestoreJobSummaries": { "type": "operation", "input": { @@ -10264,6 +10716,46 @@ "smithy.api#error": "client" } }, + "com.amazonaws.backup#MpaRevokeSessionStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.backup#MpaSessionStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "APPROVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "APPROVED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, "com.amazonaws.backup#ParameterName": { "type": "string" }, @@ -10516,7 +11008,7 @@ "BackupVaultEvents": { "target": "com.amazonaws.backup#BackupVaultEvents", "traits": { - "smithy.api#documentation": "

                              An array of events that indicate the status of jobs to back up resources to the backup\n vault.

                              \n

                              For common use cases and code samples, see Using Amazon SNS to\n track Backup events.

                              \n

                              The following events are supported:

                              \n
                                \n
                              • \n

                                \n BACKUP_JOB_STARTED | BACKUP_JOB_COMPLETED | BACKUP_JOB_FAILED\n

                                \n
                              • \n
                              • \n

                                \n COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL |\n COPY_JOB_FAILED\n

                                \n
                              • \n
                              • \n

                                \n RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED |\n RECOVERY_POINT_MODIFIED\n

                                \n
                              • \n
                              • \n

                                \n S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED\n

                                \n
                              • \n
                              • \n

                                \n RECOVERY_POINT_INDEX_COMPLETED | RECOVERY_POINT_INDEX_DELETED | \n RECOVERY_POINT_INDEXING_FAILED\n

                                \n
                              • \n
                              \n \n

                              The list below includes both supported events and deprecated events that are no longer\n in use (for reference). Deprecated events do not return statuses or notifications. \n Refer to the list above for the supported events.

                              \n
                              ", + "smithy.api#documentation": "

                              An array of events that indicate the status of jobs to back up resources to the backup\n vault. For the list of supported events, common use cases, and code samples, see Notification options\n with Backup.

                              ", "smithy.api#required": {} } } @@ -10658,6 +11150,12 @@ "smithy.api#documentation": "

                              The date and time a recovery point is created, in Unix format and Coordinated Universal\n Time (UTC). The value of CreationDate is accurate to milliseconds. For\n example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087\n AM.

                              " } }, + "InitiationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the backup job that created this recovery point was initiated, in\n Unix format and Coordinated Universal Time (UTC).

                              " + } + }, "CompletionDate": { "target": "com.amazonaws.backup#timestamp", "traits": { @@ -11237,6 +11735,12 @@ "smithy.api#documentation": "

                              Contains detailed information about a report setting.

                              " } }, + "com.amazonaws.backup#RequesterComment": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.backup#ResourceArns": { "type": "list", "member": { @@ -11312,6 +11816,50 @@ "target": "com.amazonaws.backup#ResourceType" } }, + "com.amazonaws.backup#RestoreAccessBackupVaultList": { + "type": "list", + "member": { + "target": "com.amazonaws.backup#RestoreAccessBackupVaultListMember" + } + }, + "com.amazonaws.backup#RestoreAccessBackupVaultListMember": { + "type": "structure", + "members": { + "RestoreAccessBackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the restore access backup vault.

                              " + } + }, + "CreationDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the restore access backup vault was created.

                              " + } + }, + "ApprovalDate": { + "target": "com.amazonaws.backup#timestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time when the restore access backup vault was approved.

                              " + } + }, + "VaultState": { + "target": "com.amazonaws.backup#VaultState", + "traits": { + "smithy.api#documentation": "

                              The current state of the restore access backup vault.

                              " + } + }, + "LatestRevokeRequest": { + "target": "com.amazonaws.backup#LatestRevokeRequest", + "traits": { + "smithy.api#documentation": "

                              Information about the latest request to revoke access to this backup vault.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about a restore access backup vault.

                              " + } + }, "com.amazonaws.backup#RestoreDeletionStatus": { "type": "enum", "members": { @@ -12172,6 +12720,71 @@ } } }, + "com.amazonaws.backup#RevokeRestoreAccessBackupVault": { + "type": "operation", + "input": { + "target": "com.amazonaws.backup#RevokeRestoreAccessBackupVaultInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.backup#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.backup#InvalidRequestException" + }, + { + "target": "com.amazonaws.backup#MissingParameterValueException" + }, + { + "target": "com.amazonaws.backup#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.backup#ServiceUnavailableException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Revokes access to a restore access backup vault, removing the ability to restore from its recovery points and permanently deleting the vault.

                              ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/logically-air-gapped-backup-vaults/{BackupVaultName}/restore-access-backup-vaults/{RestoreAccessBackupVaultArn}", + "code": 200 + } + } + }, + "com.amazonaws.backup#RevokeRestoreAccessBackupVaultInput": { + "type": "structure", + "members": { + "BackupVaultName": { + "target": "com.amazonaws.backup#BackupVaultName", + "traits": { + "smithy.api#documentation": "

                              The name of the source backup vault associated with the restore access backup vault to be revoked.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RestoreAccessBackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

                              The ARN of the restore access backup vault to revoke.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RequesterComment": { + "target": "com.amazonaws.backup#RequesterComment", + "traits": { + "smithy.api#documentation": "

                              A comment explaining the reason for revoking access to the restore access backup vault.

                              ", + "smithy.api#httpQuery": "requesterComment" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.backup#SensitiveStringMap": { "type": "map", "key": { @@ -12276,7 +12889,8 @@ "IdempotencyToken": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              A customer-chosen string that you can use to distinguish between otherwise identical\n calls to StartBackupJob. Retrying a successful request with the same\n idempotency token results in a success message with no action taken.

                              " + "smithy.api#documentation": "

                              A customer-chosen string that you can use to distinguish between otherwise identical\n calls to StartBackupJob. Retrying a successful request with the same\n idempotency token results in a success message with no action taken.

                              ", + "smithy.api#idempotencyToken": {} } }, "StartWindowMinutes": { @@ -12425,7 +13039,8 @@ "IdempotencyToken": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              A customer-chosen string that you can use to distinguish between otherwise identical\n calls to StartCopyJob. Retrying a successful request with the same idempotency\n token results in a success message with no action taken.

                              " + "smithy.api#documentation": "

                              A customer-chosen string that you can use to distinguish between otherwise identical\n calls to StartCopyJob. Retrying a successful request with the same idempotency\n token results in a success message with no action taken.

                              ", + "smithy.api#idempotencyToken": {} } }, "Lifecycle": { @@ -12593,7 +13208,8 @@ "IdempotencyToken": { "target": "com.amazonaws.backup#string", "traits": { - "smithy.api#documentation": "

                              A customer-chosen string that you can use to distinguish between otherwise identical\n calls to StartRestoreJob. Retrying a successful request with the same\n idempotency token results in a success message with no action taken.

                              " + "smithy.api#documentation": "

                              A customer-chosen string that you can use to distinguish between otherwise identical\n calls to StartRestoreJob. Retrying a successful request with the same\n idempotency token results in a success message with no action taken.

                              ", + "smithy.api#idempotencyToken": {} } }, "ResourceType": { @@ -13681,6 +14297,12 @@ "traits": { "smithy.api#enumValue": "LOGICALLY_AIR_GAPPED_BACKUP_VAULT" } + }, + "RESTORE_ACCESS_BACKUP_VAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESTORE_ACCESS_BACKUP_VAULT" + } } } }, diff --git a/tools/code-generation/smithy/api-descriptions/bedrock.json b/tools/code-generation/smithy/api-descriptions/bedrock.json index fec39441dce..afe39557972 100644 --- a/tools/code-generation/smithy/api-descriptions/bedrock.json +++ b/tools/code-generation/smithy/api-descriptions/bedrock.json @@ -54,6 +54,9 @@ { "target": "com.amazonaws.bedrock#BedrockMarketplaceResource" }, + { + "target": "com.amazonaws.bedrock#CustomModelResource" + }, { "target": "com.amazonaws.bedrock#EvaluationJobResource" }, @@ -820,7 +823,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The configuration details of an automated evaluation job. The EvaluationDatasetMetricConfig object \n is used to specify the prompt datasets, task type, and metric names.

                              " + "smithy.api#documentation": "

                              The configuration details of an automated evaluation job. The EvaluationDatasetMetricConfig object is used to specify the prompt datasets, task type, and metric names.

                              " } }, "com.amazonaws.bedrock#AutomatedEvaluationCustomMetricConfig": { @@ -842,7 +845,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Defines the configuration of custom metrics to be used in an evaluation job. To learn more about using custom metrics \n in Amazon Bedrock evaluation jobs, see Create a prompt for a custom metrics (LLM-as-a-judge model evaluations) and \n Create a prompt for a custom metrics (RAG evaluations).

                              " + "smithy.api#documentation": "

                              Defines the configuration of custom metrics to be used in an evaluation job. To learn more about using custom metrics in Amazon Bedrock evaluation jobs, see Create a prompt for a custom metrics (LLM-as-a-judge model evaluations) and Create a prompt for a custom metrics (RAG evaluations).

                              " } }, "com.amazonaws.bedrock#AutomatedEvaluationCustomMetricSource": { @@ -910,7 +913,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes a batch of evaluation jobs. An evaluation job can only be deleted if it has \n following status FAILED, COMPLETED, and STOPPED. \n You can request up to 25 model evaluation jobs be deleted in a single request.

                              ", + "smithy.api#documentation": "

                              Deletes a batch of evaluation jobs. An evaluation job can only be deleted if it has following status FAILED, COMPLETED, and STOPPED. You can request up to 25 model evaluation jobs be deleted in a single request.

                              ", "smithy.api#examples": [ { "title": "Delete evaluation jobs", @@ -1244,6 +1247,140 @@ "smithy.api#pattern": "[a-z]{1,20}/.{1,20}" } }, + "com.amazonaws.bedrock#CreateCustomModel": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrock#CreateCustomModelRequest" + }, + "output": { + "target": "com.amazonaws.bedrock#CreateCustomModelResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrock#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrock#ConflictException" + }, + { + "target": "com.amazonaws.bedrock#InternalServerException" + }, + { + "target": "com.amazonaws.bedrock#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrock#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrock#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrock#TooManyTagsException" + }, + { + "target": "com.amazonaws.bedrock#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates a new custom model in Amazon Bedrock. After the model is active, you can use it for inference.

                              To use the model for inference, you must purchase Provisioned Throughput for it. You can't use On-demand inference with these custom models. For more information about Provisioned Throughput, see Provisioned Throughput.

                              The model appears in ListCustomModels with a customizationType of imported. To track the status of the new model, you use the GetCustomModel API operation. The model can be in the following states:

                              • Creating - Initial state during validation and registration

                              • Active - Model is ready for use in inference

                              • Failed - Creation process encountered an error

                              Related APIs

                              ", + "smithy.api#examples": [ + { + "title": "Successful CreateCustomModel API call", + "input": { + "modelName": "SampleModel", + "modelSourceConfig": { + "s3DataSource": { + "s3Uri": "s3://my-bucket/folder" + } + }, + "roleArn": "arn:aws:iam::123456789012:role/SampleRole", + "modelKmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "modelTags": [ + { + "key": "foo", + "value": "foo" + }, + { + "key": "foo", + "value": "foo" + } + ], + "clientRequestToken": "foo" + }, + "output": { + "modelArn": "arn:aws:bedrock:us-east-1:123456789012:custom-model/imported/abcdef123456" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/custom-models/create-custom-model" + } + } + }, + "com.amazonaws.bedrock#CreateCustomModelRequest": { + "type": "structure", + "members": { + "modelName": { + "target": "com.amazonaws.bedrock#CustomModelName", + "traits": { + "smithy.api#documentation": "

                              A unique name for the custom model.

                              ", + "smithy.api#required": {} + } + }, + "modelSourceConfig": { + "target": "com.amazonaws.bedrock#ModelDataSource", + "traits": { + "smithy.api#documentation": "

                              The data source for the model. The Amazon S3 URI in the model source must be for the Amazon-managed Amazon S3 bucket containing your model artifacts.

                              ", + "smithy.api#required": {} + } + }, + "modelKmsKeyArn": { + "target": "com.amazonaws.bedrock#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the customer managed KMS key to encrypt the custom model. If you don't provide a KMS key, Amazon Bedrock uses an Amazon Web Services-managed KMS key to encrypt the model.

                              If you provide a customer managed KMS key, your Amazon Bedrock service role must have permissions to use it. For more information see Encryption of imported models.

                              " + } + }, + "roleArn": { + "target": "com.amazonaws.bedrock#RoleArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock assumes to perform tasks on your behalf. This role must have permissions to access the Amazon S3 bucket containing your model artifacts and the KMS key (if specified). For more information, see Setting up an IAM service role for importing models in the Amazon Bedrock User Guide.

                              " + } + }, + "modelTags": { + "target": "com.amazonaws.bedrock#TagList", + "traits": { + "smithy.api#documentation": "

                              A list of key-value pairs to associate with the custom model resource. You can use these tags to organize and identify your resources.

                              For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              " + } + }, + "clientRequestToken": { + "target": "com.amazonaws.bedrock#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrock#CreateCustomModelResponse": { + "type": "structure", + "members": { + "modelArn": { + "target": "com.amazonaws.bedrock#ModelArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the new custom model.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrock#CreateEvaluationJob": { "type": "operation", "input": { @@ -1291,7 +1428,7 @@ "jobName": { "target": "com.amazonaws.bedrock#EvaluationJobName", "traits": { - "smithy.api#documentation": "

                              A name for the evaluation job. Names must unique with your Amazon Web Services account, \n and your account's Amazon Web Services region.

                              ", + "smithy.api#documentation": "

                              A name for the evaluation job. Names must unique with your Amazon Web Services account, and your account's Amazon Web Services region.

                              ", "smithy.api#required": {} } }, @@ -1304,14 +1441,14 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", "smithy.api#idempotencyToken": {} } }, "roleArn": { "target": "com.amazonaws.bedrock#RoleArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can \n assume to perform tasks on your behalf. To learn more about the required permissions, \n see Required \n permissions for model evaluations.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. To learn more about the required permissions, see Required permissions for model evaluations.

                              ", "smithy.api#required": {} } }, @@ -1330,7 +1467,7 @@ "applicationType": { "target": "com.amazonaws.bedrock#ApplicationType", "traits": { - "smithy.api#documentation": "

                              Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base\n (retrieval and response generation).

                              " + "smithy.api#documentation": "

                              Specifies whether the evaluation job is for evaluating a model or evaluating a knowledge base (retrieval and response generation).

                              " } }, "evaluationConfig": { @@ -1343,14 +1480,14 @@ "inferenceConfig": { "target": "com.amazonaws.bedrock#EvaluationInferenceConfig", "traits": { - "smithy.api#documentation": "

                              Contains the configuration details of the inference model for the evaluation job.

                              \n

                              For model evaluation jobs, automated jobs support a single model or \n inference profile, and jobs that use human workers support \n two models or inference profiles.

                              ", + "smithy.api#documentation": "

                              Contains the configuration details of the inference model for the evaluation job.

                              For model evaluation jobs, automated jobs support a single model or inference profile, and jobs that use human workers support two models or inference profiles.

                              ", "smithy.api#required": {} } }, "outputDataConfig": { "target": "com.amazonaws.bedrock#EvaluationOutputDataConfig", "traits": { - "smithy.api#documentation": "

                              Contains the configuration details of the Amazon S3 bucket for storing the results \n of the evaluation job.

                              ", + "smithy.api#documentation": "

                              Contains the configuration details of the Amazon S3 bucket for storing the results of the evaluation job.

                              ", "smithy.api#required": {} } } @@ -1409,7 +1546,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a guardrail to block topics and to implement safeguards for your generative AI applications.

                              \n

                              You can configure the following policies in a guardrail to avoid undesirable and harmful content, filter \n out denied topics and words, and remove sensitive information for privacy protection.

                              \n
                                \n
                              • \n

                                \n Content filters - Adjust filter strengths\n to block input prompts or model responses containing harmful content.

                                \n
                              • \n
                              • \n

                                \n Denied topics - Define a set of topics that\n are undesirable in the context of your application. These topics will be blocked if\n detected in user queries or model responses.

                                \n
                              • \n
                              • \n

                                \n Word filters - Configure filters to block\n undesirable words, phrases, and profanity. Such words can include offensive terms, \n competitor names etc.

                                \n
                              • \n
                              • \n

                                \n Sensitive information filters - Block or\n mask sensitive information such as personally identifiable information (PII) or custom \n regex in user inputs and model responses.

                                \n
                              • \n
                              \n

                              In addition to the above policies, you can also configure the messages to be returned to \n the user if a user input or model response is in violation of the policies defined in the guardrail.

                              \n

                              For more information, see Amazon Bedrock Guardrails in\n the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Creates a guardrail to block topics and to implement safeguards for your generative AI applications.

                              You can configure the following policies in a guardrail to avoid undesirable and harmful content, filter out denied topics and words, and remove sensitive information for privacy protection.

                              • Content filters - Adjust filter strengths to block input prompts or model responses containing harmful content.

                              • Denied topics - Define a set of topics that are undesirable in the context of your application. These topics will be blocked if detected in user queries or model responses.

                              • Word filters - Configure filters to block undesirable words, phrases, and profanity. Such words can include offensive terms, competitor names etc.

                              • Sensitive information filters - Block or mask sensitive information such as personally identifiable information (PII) or custom regex in user inputs and model responses.

                              In addition to the above policies, you can also configure the messages to be returned to the user if a user input or model response is in violation of the policies defined in the guardrail.

                              For more information, see Amazon Bedrock Guardrails in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 202, "method": "POST", @@ -1466,7 +1603,7 @@ "crossRegionConfig": { "target": "com.amazonaws.bedrock#GuardrailCrossRegionConfig", "traits": { - "smithy.api#documentation": "

                              The system-defined guardrail profile that you're using with your guardrail. Guardrail profiles define the destination Amazon Web Services Regions where guardrail inference requests can be automatically routed.

                              \n

                              For more information, see the Amazon Bedrock User Guide.

                              " + "smithy.api#documentation": "

                              The system-defined guardrail profile that you're using with your guardrail. Guardrail profiles define the destination Amazon Web Services Regions where guardrail inference requests can be automatically routed.

                              For more information, see the Amazon Bedrock User Guide.

                              " } }, "blockedInputMessaging": { @@ -1498,7 +1635,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request \n completes no more than once. If this token matches a previous request, \n Amazon Bedrock ignores the request, but does not return an error. \n For more information, see Ensuring \n idempotency in the Amazon S3 User Guide.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than once. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

                              ", "smithy.api#idempotencyToken": {} } } @@ -1527,7 +1664,7 @@ "version": { "target": "com.amazonaws.bedrock#GuardrailDraftVersion", "traits": { - "smithy.api#documentation": "

                              The version of the guardrail that was created. \n This value will always be DRAFT.

                              ", + "smithy.api#documentation": "

                              The version of the guardrail that was created. This value will always be DRAFT.

                              ", "smithy.api#required": {} } }, @@ -1575,7 +1712,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a version of the guardrail. Use this API to create a snapshot of the \n guardrail when you are satisfied with a configuration, or to compare the configuration with another version.

                              ", + "smithy.api#documentation": "

                              Creates a version of the guardrail. Use this API to create a snapshot of the guardrail when you are satisfied with a configuration, or to compare the configuration with another version.

                              ", "smithy.api#http": { "code": 202, "method": "POST", @@ -1603,7 +1740,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request \n completes no more than once. If this token matches a previous request, \n Amazon Bedrock ignores the request, but does not return an error. \n For more information, see Ensuring \n idempotency in the Amazon S3 User Guide.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than once. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

                              ", "smithy.api#idempotencyToken": {} } } @@ -1697,7 +1834,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", "smithy.api#idempotencyToken": {} } }, @@ -1711,7 +1848,7 @@ "tags": { "target": "com.amazonaws.bedrock#TagList", "traits": { - "smithy.api#documentation": "

                              An array of objects, each of which contains a tag and its value. For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              " + "smithy.api#documentation": "

                              An array of objects, each of which contains a tag and its value. For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              " } } }, @@ -1772,7 +1909,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates an endpoint for a model from Amazon Bedrock Marketplace. The endpoint is hosted by\n Amazon SageMaker.

                              ", + "smithy.api#documentation": "

                              Creates an endpoint for a model from Amazon Bedrock Marketplace. The endpoint is hosted by Amazon SageMaker.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1786,14 +1923,14 @@ "modelSourceIdentifier": { "target": "com.amazonaws.bedrock#ModelSourceIdentifier", "traits": { - "smithy.api#documentation": "

                              The ARN of the model from Amazon Bedrock Marketplace that you want to deploy to the\n endpoint.

                              ", + "smithy.api#documentation": "

                              The ARN of the model from Amazon Bedrock Marketplace that you want to deploy to the endpoint.

                              ", "smithy.api#required": {} } }, "endpointConfig": { "target": "com.amazonaws.bedrock#EndpointConfig", "traits": { - "smithy.api#documentation": "

                              The configuration for the endpoint, including the number and type of instances to\n use.

                              ", + "smithy.api#documentation": "

                              The configuration for the endpoint, including the number and type of instances to use.

                              ", "smithy.api#required": {} } }, @@ -1801,27 +1938,27 @@ "target": "com.amazonaws.bedrock#AcceptEula", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

                              Indicates whether you accept the end-user license agreement (EULA) for the model. Set\n to true to accept the EULA.

                              " + "smithy.api#documentation": "

                              Indicates whether you accept the end-user license agreement (EULA) for the model. Set to true to accept the EULA.

                              " } }, "endpointName": { "target": "com.amazonaws.bedrock#EndpointName", "traits": { - "smithy.api#documentation": "

                              The name of the endpoint. This name must be unique within your Amazon Web Services\n account and region.

                              ", + "smithy.api#documentation": "

                              The name of the endpoint. This name must be unique within your Amazon Web Services account and region.

                              ", "smithy.api#required": {} } }, "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. This token is listed as not required because Amazon Web Services SDKs\n automatically generate it for you and set this parameter. If you're not using the\n Amazon Web Services SDK or the CLI, you must provide this token or the\n action will fail.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is listed as not required because Amazon Web Services SDKs automatically generate it for you and set this parameter. If you're not using the Amazon Web Services SDK or the CLI, you must provide this token or the action will fail.

                              ", "smithy.api#idempotencyToken": {} } }, "tags": { "target": "com.amazonaws.bedrock#TagList", "traits": { - "smithy.api#documentation": "

                              An array of key-value pairs to apply to the underlying Amazon SageMaker endpoint. You can use\n these tags to organize and identify your Amazon Web Services resources.

                              " + "smithy.api#documentation": "

                              An array of key-value pairs to apply to the underlying Amazon SageMaker endpoint. You can use these tags to organize and identify your Amazon Web Services resources.

                              " } } }, @@ -1908,7 +2045,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", "smithy.api#idempotencyToken": {} } } @@ -1967,7 +2104,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a fine-tuning job to customize a base model.

                              \n

                              You specify the base foundation model and the location of the training data.\n After the model-customization job completes successfully, your custom model resource will be ready to use. Amazon Bedrock returns validation loss metrics and output generations after the job completes.\n

                              \n

                              For information on the format of training and validation data, see Prepare the datasets.

                              \n

                              \n Model-customization jobs are asynchronous and the completion time depends on the base model and the training/validation data size.\n To monitor a job, use the GetModelCustomizationJob operation to retrieve the job status.

                              \n

                              For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Creates a fine-tuning job to customize a base model.

                              You specify the base foundation model and the location of the training data. After the model-customization job completes successfully, your custom model resource will be ready to use. Amazon Bedrock returns validation loss metrics and output generations after the job completes.

                              For information on the format of training and validation data, see Prepare the datasets.

                              Model-customization jobs are asynchronous and the completion time depends on the base model and the training/validation data size. To monitor a job, use the GetModelCustomizationJob operation to retrieve the job status.

                              For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 201, "method": "POST", @@ -1996,14 +2133,14 @@ "roleArn": { "target": "com.amazonaws.bedrock#RoleArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf.\n For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket.\n To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission.\n

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission.

                              ", "smithy.api#required": {} } }, "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", "smithy.api#idempotencyToken": {} } }, @@ -2131,7 +2268,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a model import job to import model that you have customized in other environments, such as Amazon SageMaker. For more information, \n see Import a customized model\n

                              ", + "smithy.api#documentation": "

                              Creates a model import job to import model that you have customized in other environments, such as Amazon SageMaker. For more information, see Import a customized model

                              ", "smithy.api#http": { "code": 201, "method": "POST", @@ -2186,13 +2323,13 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, \n see Ensuring idempotency.

                              " + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              " } }, "vpcConfig": { "target": "com.amazonaws.bedrock#VpcConfig", "traits": { - "smithy.api#documentation": "

                              VPC configuration parameters for the\n private Virtual Private Cloud (VPC) that contains the resources you are using for the import job.

                              " + "smithy.api#documentation": "

                              VPC configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for the import job.

                              " } }, "importedModelKmsKeyId": { @@ -2253,7 +2390,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a batch inference job to invoke a model on multiple prompts. Format your data according to Format your inference data and upload it to an Amazon S3 bucket. For more information, see Process multiple prompts with batch inference.

                              \n

                              The response returns a jobArn that you can use to stop or get details about the job.

                              ", + "smithy.api#documentation": "

                              Creates a batch inference job to invoke a model on multiple prompts. Format your data according to Format your inference data and upload it to an Amazon S3 bucket. For more information, see Process multiple prompts with batch inference.

                              The response returns a jobArn that you can use to stop or get details about the job.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -2282,7 +2419,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#ModelInvocationIdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              ", "smithy.api#idempotencyToken": {} } }, @@ -2395,7 +2532,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure idempotency of your requests. If not specified, the Amazon Web Services SDK\n automatically generates one for you.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure idempotency of your requests. If not specified, the Amazon Web Services SDK automatically generates one for you.

                              ", "smithy.api#idempotencyToken": {} } }, @@ -2505,14 +2642,14 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

                              ", "smithy.api#idempotencyToken": {} } }, "modelUnits": { "target": "com.amazonaws.bedrock#PositiveInteger", "traits": { - "smithy.api#documentation": "

                              Number of model units to allocate. A model unit delivers a specific throughput level for the specified model. The throughput level of a model unit specifies the total number of input and output tokens that it can process and generate within a span of one minute. By default, your account has no model units for purchasing Provisioned Throughputs with commitment. You must first visit the Amazon Web Services support center to request MUs.

                              \n

                              For model unit quotas, see Provisioned Throughput quotas in the Amazon Bedrock User Guide.

                              \n

                              For more information about what an MU specifies, contact your Amazon Web Services account manager.

                              ", + "smithy.api#documentation": "

                              Number of model units to allocate. A model unit delivers a specific throughput level for the specified model. The throughput level of a model unit specifies the total number of input and output tokens that it can process and generate within a span of one minute. By default, your account has no model units for purchasing Provisioned Throughputs with commitment. You must first visit the Amazon Web Services support center to request MUs.

                              For model unit quotas, see Provisioned Throughput quotas in the Amazon Bedrock User Guide.

                              For more information about what an MU specifies, contact your Amazon Web Services account manager.

                              ", "smithy.api#required": {} } }, @@ -2533,7 +2670,7 @@ "commitmentDuration": { "target": "com.amazonaws.bedrock#CommitmentDuration", "traits": { - "smithy.api#documentation": "

                              The commitment duration requested for the Provisioned Throughput. Billing occurs hourly and is discounted for longer commitment terms. To request a no-commit Provisioned Throughput, omit this field.

                              \n

                              Custom models support all levels of commitment. To see which base models support no commitment, see Supported regions and models for Provisioned Throughput in the Amazon Bedrock User Guide\n

                              " + "smithy.api#documentation": "

                              The commitment duration requested for the Provisioned Throughput. Billing occurs hourly and is discounted for longer commitment terms. To request a no-commit Provisioned Throughput, omit this field.

                              Custom models support all levels of commitment. To see which base models support no commitment, see Supported regions and models for Provisioned Throughput in the Amazon Bedrock User Guide

                              " } }, "tags": { @@ -2568,7 +2705,7 @@ "modelIdentifier": { "target": "com.amazonaws.bedrock#EvaluatorModelIdentifier", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the evaluator model for custom metrics. For a list of supported evaluator models, see Evaluate model performance \n using another LLM as a judge and Evaluate the performance of RAG sources using Amazon Bedrock evaluations.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the evaluator model for custom metrics. For a list of supported evaluator models, see Evaluate model performance using another LLM as a judge and Evaluate the performance of RAG sources using Amazon Bedrock evaluations.

                              ", "smithy.api#required": {} } } @@ -2609,12 +2746,12 @@ "ratingScale": { "target": "com.amazonaws.bedrock#RatingScale", "traits": { - "smithy.api#documentation": "

                              Defines the rating scale to be used for a custom metric. We recommend that you always define a ratings scale when creating a custom metric. If you don't \n define a scale, Amazon Bedrock won't be able to visually display the results of the evaluation in the console or calculate average values of numerical scores. For \n more information on specifying a rating scale, see Specifying an output schema (rating scale).

                              " + "smithy.api#documentation": "

                              Defines the rating scale to be used for a custom metric. We recommend that you always define a ratings scale when creating a custom metric. If you don't define a scale, Amazon Bedrock won't be able to visually display the results of the evaluation in the console or calculate average values of numerical scores. For more information on specifying a rating scale, see Specifying an output schema (rating scale).

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The definition of a custom metric for use in an Amazon Bedrock evaluation job. A custom metric definition includes a metric name, prompt (instructions) and optionally, \n a rating scale. Your prompt must include a task description and input variables. The required input variables are different for model-as-a-judge and RAG evaluations.

                              \n

                              For more information about how to define a custom metric in Amazon Bedrock, \n see Create a prompt for a custom metrics (LLM-as-a-judge model evaluations) and \n Create a prompt for a custom metrics (RAG evaluations).

                              ", + "smithy.api#documentation": "

                              The definition of a custom metric for use in an Amazon Bedrock evaluation job. A custom metric definition includes a metric name, prompt (instructions) and optionally, a rating scale. Your prompt must include a task description and input variables. The required input variables are different for model-as-a-judge and RAG evaluations.

                              For more information about how to define a custom metric in Amazon Bedrock, see Create a prompt for a custom metrics (LLM-as-a-judge model evaluations) and Create a prompt for a custom metrics (RAG evaluations).

                              ", "smithy.api#sensitive": {} } }, @@ -2649,7 +2786,7 @@ "min": 20, "max": 1011 }, - "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12}$" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/(imported|[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2})/[a-z0-9]{12}$" } }, "com.amazonaws.bedrock#CustomModelName": { @@ -2662,6 +2799,23 @@ "smithy.api#pattern": "^([0-9a-zA-Z][_-]?){1,63}$" } }, + "com.amazonaws.bedrock#CustomModelResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.bedrock#CreateCustomModel" + }, + { + "target": "com.amazonaws.bedrock#DeleteCustomModel" + }, + { + "target": "com.amazonaws.bedrock#GetCustomModel" + }, + { + "target": "com.amazonaws.bedrock#ListCustomModels" + } + ] + }, "com.amazonaws.bedrock#CustomModelSummary": { "type": "structure", "members": { @@ -2711,6 +2865,12 @@ "traits": { "smithy.api#documentation": "

                              The unique identifier of the account that owns the model.

                              " } + }, + "modelStatus": { + "target": "com.amazonaws.bedrock#ModelStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the custom model. Possible values include:

                              • Creating - The model is being created and validated.

                              • Active - The model has been successfully created and is ready for use.

                              • Failed - The model creation process failed.

                              " + } } }, "traits": { @@ -2740,7 +2900,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A CustomModelUnit (CMU) is an abstract view of the hardware utilization that \n Amazon Bedrock needs to host a single copy of your custom model. A model copy represents a \n single instance of your imported model that is ready to serve inference requests. Amazon Bedrock \n determines the number of custom model units that a model copy needs when you import the custom model.\n

                              \n

                              You can use CustomModelUnits to estimate the cost of running\n your custom model. For more information, see Calculate the cost of running a custom model in the\n Amazon Bedrock user guide.\n

                              " + "smithy.api#documentation": "

                              A CustomModelUnit (CMU) is an abstract view of the hardware utilization that Amazon Bedrock needs to host a single copy of your custom model. A model copy represents a single instance of your imported model that is ready to serve inference requests. Amazon Bedrock determines the number of custom model units that a model copy needs when you import the custom model.

                              You can use CustomModelUnits to estimate the cost of running your custom model. For more information, see Calculate the cost of running a custom model in the Amazon Bedrock user guide.

                              " } }, "com.amazonaws.bedrock#CustomModelUnitsVersion": { @@ -2783,6 +2943,12 @@ "traits": { "smithy.api#enumValue": "DISTILLATION" } + }, + "IMPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IMPORTED" + } } } }, @@ -2902,7 +3068,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes a guardrail.

                              \n
                                \n
                              • \n

                                To delete a guardrail, only specify the ARN of the guardrail in the guardrailIdentifier field. If you delete a guardrail, all of its versions will be deleted.

                                \n
                              • \n
                              • \n

                                To delete a version of a guardrail, specify the ARN of the guardrail in the guardrailIdentifier field and the version in the guardrailVersion field.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Deletes a guardrail.

                              • To delete a guardrail, only specify the ARN of the guardrail in the guardrailIdentifier field. If you delete a guardrail, all of its versions will be deleted.

                              • To delete a version of a guardrail, specify the ARN of the guardrail in the guardrailIdentifier field and the version in the guardrailVersion field.

                              ", "smithy.api#http": { "code": 202, "method": "DELETE", @@ -2917,7 +3083,7 @@ "guardrailIdentifier": { "target": "com.amazonaws.bedrock#GuardrailIdentifier", "traits": { - "smithy.api#documentation": "

                              The unique identifier of the guardrail. This can be an ID or the ARN.

                              ", + "smithy.api#documentation": "

                              The unique identifier of the guardrail. This can be an ID or the ARN.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2970,7 +3136,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes a custom model that you imported earlier. For more information, \n see Import a customized model in the Amazon Bedrock User Guide.\n

                              ", + "smithy.api#documentation": "

                              Deletes a custom model that you imported earlier. For more information, see Import a customized model in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "DELETE", @@ -3312,7 +3478,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deregisters an endpoint for a model from Amazon Bedrock Marketplace. This operation removes the\n endpoint's association with Amazon Bedrock but does not delete the underlying Amazon SageMaker\n endpoint.

                              ", + "smithy.api#documentation": "

                              Deregisters an endpoint for a model from Amazon Bedrock Marketplace. This operation removes the endpoint's association with Amazon Bedrock but does not delete the underlying Amazon SageMaker endpoint.

                              ", "smithy.api#http": { "code": 200, "method": "DELETE", @@ -3438,7 +3604,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains the ARN of the Amazon Bedrock model or inference profile specified in your evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

                              \n

                              The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

                              " + "smithy.api#documentation": "

                              Contains the ARN of the Amazon Bedrock model or inference profile specified in your evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

                              The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

                              " } }, "com.amazonaws.bedrock#EvaluationBedrockModelIdentifier": { @@ -3524,7 +3690,7 @@ "taskType": { "target": "com.amazonaws.bedrock#EvaluationTaskType", "traits": { - "smithy.api#documentation": "

                              The the type of task you want to evaluate for your evaluation job. This applies only \n to model evaluation jobs and is ignored for knowledge base evaluation jobs.

                              ", + "smithy.api#documentation": "

                              The the type of task you want to evaluate for your evaluation job. This applies only to model evaluation jobs and is ignored for knowledge base evaluation jobs.

                              ", "smithy.api#required": {} } }, @@ -3538,7 +3704,7 @@ "metricNames": { "target": "com.amazonaws.bedrock#EvaluationMetricNames", "traits": { - "smithy.api#documentation": "

                              The names of the metrics you want to use for your evaluation job.

                              \n

                              For knowledge base evaluation jobs that evaluate retrieval only, valid values are \n \"Builtin.ContextRelevance\", \"Builtin.ContextCoverage\".

                              \n

                              For knowledge base evaluation jobs that evaluate retrieval with response generation, \n valid values are \"Builtin.Correctness\", \"Builtin.Completeness\", \n \"Builtin.Helpfulness\", \"Builtin.LogicalCoherence\", \n \"Builtin.Faithfulness\", \"Builtin.Harmfulness\", \n \"Builtin.Stereotyping\", \"Builtin.Refusal\".

                              \n

                              For automated model evaluation jobs, valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In model evaluation jobs that use a LLM as judge you can specify \"Builtin.Correctness\", \"Builtin.Completeness\", \"Builtin.Faithfulness\", \"Builtin.Helpfulness\", \"Builtin.Coherence\", \"Builtin.Relevance\", \"Builtin.FollowingInstructions\", \"Builtin.ProfessionalStyleAndTone\", You can also specify the following responsible AI related metrics only for model evaluation job that use a LLM as judge \"Builtin.Harmfulness\", \"Builtin.Stereotyping\", and \"Builtin.Refusal\".

                              \n

                              For human-based model evaluation jobs, the list of strings must match the \n name parameter specified in HumanEvaluationCustomMetric.

                              ", + "smithy.api#documentation": "

                              The names of the metrics you want to use for your evaluation job.

                              For knowledge base evaluation jobs that evaluate retrieval only, valid values are \"Builtin.ContextRelevance\", \"Builtin.ContextCoverage\".

                              For knowledge base evaluation jobs that evaluate retrieval with response generation, valid values are \"Builtin.Correctness\", \"Builtin.Completeness\", \"Builtin.Helpfulness\", \"Builtin.LogicalCoherence\", \"Builtin.Faithfulness\", \"Builtin.Harmfulness\", \"Builtin.Stereotyping\", \"Builtin.Refusal\".

                              For automated model evaluation jobs, valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In model evaluation jobs that use a LLM as judge you can specify \"Builtin.Correctness\", \"Builtin.Completeness\", \"Builtin.Faithfulness\", \"Builtin.Helpfulness\", \"Builtin.Coherence\", \"Builtin.Relevance\", \"Builtin.FollowingInstructions\", \"Builtin.ProfessionalStyleAndTone\", You can also specify the following responsible AI related metrics only for model evaluation job that use a LLM as judge \"Builtin.Harmfulness\", \"Builtin.Stereotyping\", and \"Builtin.Refusal\".

                              For human-based model evaluation jobs, the list of strings must match the name parameter specified in HumanEvaluationCustomMetric.

                              ", "smithy.api#required": {} } } @@ -3582,12 +3748,12 @@ "ragConfigs": { "target": "com.amazonaws.bedrock#RagConfigs", "traits": { - "smithy.api#documentation": "

                              Contains the configuration details of the inference for a knowledge base evaluation \n job, including either the retrieval only configuration or the retrieval with response \n generation configuration.

                              " + "smithy.api#documentation": "

                              Contains the configuration details of the inference for a knowledge base evaluation job, including either the retrieval only configuration or the retrieval with response generation configuration.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The configuration details of the inference model for an evaluation job.

                              \n

                              For automated model evaluation jobs, only a single model is supported.

                              \n

                              For human-based model evaluation jobs, your annotator can compare the responses for up to two different models.

                              " + "smithy.api#documentation": "

                              The configuration details of the inference model for an evaluation job.

                              For automated model evaluation jobs, only a single model is supported.

                              For human-based model evaluation jobs, your annotator can compare the responses for up to two different models.

                              " } }, "com.amazonaws.bedrock#EvaluationInferenceConfigSummary": { @@ -3596,13 +3762,13 @@ "modelConfigSummary": { "target": "com.amazonaws.bedrock#EvaluationModelConfigSummary", "traits": { - "smithy.api#documentation": "

                              A summary of the models used in an Amazon Bedrock model evaluation job. These resources can be models in Amazon Bedrock\n or models outside of Amazon Bedrock that you use to generate your own inference response data.

                              " + "smithy.api#documentation": "

                              A summary of the models used in an Amazon Bedrock model evaluation job. These resources can be models in Amazon Bedrock or models outside of Amazon Bedrock that you use to generate your own inference response data.

                              " } }, "ragConfigSummary": { "target": "com.amazonaws.bedrock#EvaluationRagConfigSummary", "traits": { - "smithy.api#documentation": "

                              A summary of the RAG resources used in an Amazon Bedrock Knowledge Base evaluation job. These resources can be Knowledge Bases in\n Amazon Bedrock or RAG sources outside of Amazon Bedrock that you use to generate your own inference response data.

                              " + "smithy.api#documentation": "

                              A summary of the RAG resources used in an Amazon Bedrock Knowledge Base evaluation job. These resources can be Knowledge Bases in Amazon Bedrock or RAG sources outside of Amazon Bedrock that you use to generate your own inference response data.

                              " } } }, @@ -3811,7 +3977,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A summary of the models used in an Amazon Bedrock model evaluation job. These resources can be models in Amazon Bedrock\n or models outside of Amazon Bedrock that you use to generate your own inference response data.

                              " + "smithy.api#documentation": "

                              A summary of the models used in an Amazon Bedrock model evaluation job. These resources can be models in Amazon Bedrock or models outside of Amazon Bedrock that you use to generate your own inference response data.

                              " } }, "com.amazonaws.bedrock#EvaluationModelConfigs": { @@ -3848,7 +4014,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The Amazon S3 location where the results of your evaluation job are saved.

                              " + "smithy.api#documentation": "

                              The Amazon S3 location where the results of your evaluation job are saved.

                              " } }, "com.amazonaws.bedrock#EvaluationPrecomputedInferenceSource": { @@ -3977,7 +4143,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A summary of the RAG resources used in an Amazon Bedrock Knowledge Base evaluation job. These resources can be Knowledge Bases in Amazon Bedrock\n or RAG sources outside of Amazon Bedrock that you use to generate your own inference response data.

                              " + "smithy.api#documentation": "

                              A summary of the RAG resources used in an Amazon Bedrock Knowledge Base evaluation job. These resources can be Knowledge Bases in Amazon Bedrock or RAG sources outside of Amazon Bedrock that you use to generate your own inference response data.

                              " } }, "com.amazonaws.bedrock#EvaluationRatingMethod": { @@ -4262,13 +4428,13 @@ "kbInferenceConfig": { "target": "com.amazonaws.bedrock#KbInferenceConfig", "traits": { - "smithy.api#documentation": "

                              Configuration details for inference when using RetrieveAndGenerate to generate \n responses while using an external source.

                              " + "smithy.api#documentation": "

                              Configuration details for inference when using RetrieveAndGenerate to generate responses while using an external source.

                              " } }, "additionalModelRequestFields": { "target": "com.amazonaws.bedrock#AdditionalModelRequestFields", "traits": { - "smithy.api#documentation": "

                              Additional model parameters and their corresponding values not included in the \n text inference configuration for an external source. Takes in custom model parameters \n specific to the language model being used.

                              " + "smithy.api#documentation": "

                              Additional model parameters and their corresponding values not included in the text inference configuration for an external source. Takes in custom model parameters specific to the language model being used.

                              " } } }, @@ -4282,7 +4448,7 @@ "modelArn": { "target": "com.amazonaws.bedrock#BedrockModelArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the foundation model or inference profile\n used to generate responses.\n

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the foundation model or inference profile used to generate responses.

                              ", "smithy.api#required": {} } }, @@ -4301,7 +4467,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The configuration of the external source wrapper object in the retrieveAndGenerate \n function.

                              " + "smithy.api#documentation": "

                              The configuration of the external source wrapper object in the retrieveAndGenerate function.

                              " } }, "com.amazonaws.bedrock#FilterAttribute": { @@ -4310,7 +4476,7 @@ "key": { "target": "com.amazonaws.bedrock#FilterKey", "traits": { - "smithy.api#documentation": "

                              The name of metadata attribute/field, which must match the name in your \n data source/document metadata.

                              ", + "smithy.api#documentation": "

                              The name of metadata attribute/field, which must match the name in your data source/document metadata.

                              ", "smithy.api#required": {} } }, @@ -4323,7 +4489,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Specifies the name of the metadata attribute/field to apply filters. \n You must match the name of the attribute/field in your data source/document metadata.

                              " + "smithy.api#documentation": "

                              Specifies the name of the metadata attribute/field to apply filters. You must match the name of the attribute/field in your data source/document metadata.

                              " } }, "com.amazonaws.bedrock#FilterKey": { @@ -4581,7 +4747,7 @@ "additionalModelRequestFields": { "target": "com.amazonaws.bedrock#AdditionalModelRequestFields", "traits": { - "smithy.api#documentation": "

                              Additional model parameters and corresponding values not included in the \n textInferenceConfig structure for a knowledge base. This allows \n you to provide custom model parameters specific to the language model being \n used.

                              " + "smithy.api#documentation": "

                              Additional model parameters and corresponding values not included in the textInferenceConfig structure for a knowledge base. This allows you to provide custom model parameters specific to the language model being used.

                              " } } }, @@ -4615,7 +4781,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Get the properties associated with a Amazon Bedrock custom model that you have created.For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Get the properties associated with a Amazon Bedrock custom model that you have created. For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -4666,15 +4832,13 @@ "jobArn": { "target": "com.amazonaws.bedrock#ModelCustomizationJobArn", "traits": { - "smithy.api#documentation": "

                              Job Amazon Resource Name (ARN) associated with this model.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              Job Amazon Resource Name (ARN) associated with this model. For models that you create with the CreateCustomModel API operation, this is NULL.

                              " } }, "baseModelArn": { "target": "com.amazonaws.bedrock#ModelArn", "traits": { - "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the base model.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the base model.

                              " } }, "customizationType": { @@ -4698,8 +4862,7 @@ "trainingDataConfig": { "target": "com.amazonaws.bedrock#TrainingDataConfig", "traits": { - "smithy.api#documentation": "

                              Contains information about the training dataset.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              Contains information about the training dataset.

                              " } }, "validationDataConfig": { @@ -4711,8 +4874,7 @@ "outputDataConfig": { "target": "com.amazonaws.bedrock#OutputDataConfig", "traits": { - "smithy.api#documentation": "

                              Output data configuration associated with this custom model.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              Output data configuration associated with this custom model.

                              " } }, "trainingMetrics": { @@ -4739,6 +4901,18 @@ "traits": { "smithy.api#documentation": "

                              The customization configuration for the custom model.

                              " } + }, + "modelStatus": { + "target": "com.amazonaws.bedrock#ModelStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the custom model. Possible values include:

                              • Creating - The model is being created and validated.

                              • Active - The model has been successfully created and is ready for use.

                              • Failed - The model creation process failed. Check the failureMessage field for details.

                              " + } + }, + "failureMessage": { + "target": "com.amazonaws.bedrock#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                              A failure message for any issues that occurred when creating the custom model. This is included for only a failed CreateCustomModel operation.

                              " + } } }, "traits": { @@ -4869,7 +5043,7 @@ "outputDataConfig": { "target": "com.amazonaws.bedrock#EvaluationOutputDataConfig", "traits": { - "smithy.api#documentation": "

                              Contains the configuration details of the Amazon S3 bucket for \n storing the results of the evaluation job.

                              ", + "smithy.api#documentation": "

                              Contains the configuration details of the Amazon S3 bucket for storing the results of the evaluation job.

                              ", "smithy.api#required": {} } }, @@ -5003,7 +5177,7 @@ "guardrailIdentifier": { "target": "com.amazonaws.bedrock#GuardrailIdentifier", "traits": { - "smithy.api#documentation": "

                              The unique identifier of the guardrail for which to get details. This can be an ID or the ARN.

                              ", + "smithy.api#documentation": "

                              The unique identifier of the guardrail for which to get details. This can be an ID or the ARN.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5380,7 +5554,7 @@ "type": { "target": "com.amazonaws.bedrock#InferenceProfileType", "traits": { - "smithy.api#documentation": "

                              The type of the inference profile. The following types are possible:

                              \n
                                \n
                              • \n

                                \n SYSTEM_DEFINED – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.

                                \n
                              • \n
                              • \n

                                \n APPLICATION – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The type of the inference profile. The following types are possible:

                              • SYSTEM_DEFINED – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.

                              • APPLICATION – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions.

                              ", "smithy.api#required": {} } } @@ -5430,7 +5604,7 @@ "endpointArn": { "target": "com.amazonaws.bedrock#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the endpoint you want to get information\n about.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the endpoint you want to get information about.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5611,7 +5785,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves the properties associated with a model-customization job, including the status of the job.\n For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Retrieves the properties associated with a model-customization job, including the status of the job. For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -5682,13 +5856,7 @@ "status": { "target": "com.amazonaws.bedrock#ModelCustomizationJobStatus", "traits": { - "smithy.api#documentation": "

                              The status of the job. A successful job transitions from in-progress to completed when the output model is ready to use.\n If the job failed, the failure message contains information about why the job failed.

                              " - } - }, - "failureMessage": { - "target": "com.amazonaws.bedrock#ErrorMessage", - "traits": { - "smithy.api#documentation": "

                              Information about why the job failed.

                              " + "smithy.api#documentation": "

                              The status of the job. A successful job transitions from in-progress to completed when the output model is ready to use. If the job failed, the failure message contains information about why the job failed.

                              " } }, "statusDetails": { @@ -5697,6 +5865,12 @@ "smithy.api#documentation": "

                              For a Distillation job, the details about the statuses of the sub-tasks of the customization job.

                              " } }, + "failureMessage": { + "target": "com.amazonaws.bedrock#ErrorMessage", + "traits": { + "smithy.api#documentation": "

                              Information about why the job failed.

                              " + } + }, "creationTime": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { @@ -5817,7 +5991,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves the properties associated with import model job, including the status of the \n job. For more information, \n see Import a customized model in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Retrieves the properties associated with import model job, including the status of the job. For more information, see Import a customized model in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -5884,7 +6058,7 @@ "status": { "target": "com.amazonaws.bedrock#ModelImportJobStatus", "traits": { - "smithy.api#documentation": "

                              The status of the job. A successful job transitions from in-progress to completed when the imported model is ready to use.\n If the job failed, the failure message contains information about why the job failed.

                              " + "smithy.api#documentation": "

                              The status of the job. A successful job transitions from in-progress to completed when the imported model is ready to use. If the job failed, the failure message contains information about why the job failed.

                              " } }, "failureMessage": { @@ -5954,7 +6128,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Gets details about a batch inference job. For more information, see Monitor batch inference jobs\n

                              ", + "smithy.api#documentation": "

                              Gets details about a batch inference job. For more information, see Monitor batch inference jobs

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -6005,7 +6179,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#ModelInvocationIdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              " + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              " } }, "roleArn": { @@ -6018,7 +6192,7 @@ "status": { "target": "com.amazonaws.bedrock#ModelInvocationJobStatus", "traits": { - "smithy.api#documentation": "

                              The status of the batch inference job.

                              \n

                              The following statuses are possible:

                              \n
                                \n
                              • \n

                                Submitted – This job has been submitted to a queue for validation.

                                \n
                              • \n
                              • \n

                                Validating – This job is being validated for the requirements described in Format and upload your batch inference data. The criteria include the following:

                                \n
                                  \n
                                • \n

                                  Your IAM service role has access to the Amazon S3 buckets containing your files.

                                  \n
                                • \n
                                • \n

                                  Your files are .jsonl files and each individual record is a JSON object in the correct format. Note that validation doesn't check if the modelInput value matches the request body for the model.

                                  \n
                                • \n
                                • \n

                                  Your files fulfill the requirements for file size and number of records. For more information, see Quotas for Amazon Bedrock.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Scheduled – This job has been validated and is now in a queue. The job will automatically start when it reaches its turn.

                                \n
                              • \n
                              • \n

                                Expired – This job timed out because it was scheduled but didn't begin before the set timeout duration. Submit a new job request.

                                \n
                              • \n
                              • \n

                                InProgress – This job has begun. You can start viewing the results in the output S3 location.

                                \n
                              • \n
                              • \n

                                Completed – This job has successfully completed. View the output files in the output S3 location.

                                \n
                              • \n
                              • \n

                                PartiallyCompleted – This job has partially completed. Not all of your records could be processed in time. View the output files in the output S3 location.

                                \n
                              • \n
                              • \n

                                Failed – This job has failed. Check the failure message for any further details. For further assistance, reach out to the Amazon Web ServicesSupport Center.

                                \n
                              • \n
                              • \n

                                Stopped – This job was stopped by a user.

                                \n
                              • \n
                              • \n

                                Stopping – This job is being stopped by a user.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The status of the batch inference job.

                              The following statuses are possible:

                              • Submitted – This job has been submitted to a queue for validation.

                              • Validating – This job is being validated for the requirements described in Format and upload your batch inference data. The criteria include the following:

                                • Your IAM service role has access to the Amazon S3 buckets containing your files.

                                • Your files are .jsonl files and each individual record is a JSON object in the correct format. Note that validation doesn't check if the modelInput value matches the request body for the model.

                                • Your files fulfill the requirements for file size and number of records. For more information, see Quotas for Amazon Bedrock.

                              • Scheduled – This job has been validated and is now in a queue. The job will automatically start when it reaches its turn.

                              • Expired – This job timed out because it was scheduled but didn't begin before the set timeout duration. Submit a new job request.

                              • InProgress – This job has begun. You can start viewing the results in the output S3 location.

                              • Completed – This job has successfully completed. View the output files in the output S3 location.

                              • PartiallyCompleted – This job has partially completed. Not all of your records could be processed in time. View the output files in the output S3 location.

                              • Failed – This job has failed. Check the failure message for any further details. For further assistance, reach out to the Amazon Web ServicesSupport Center.

                              • Stopped – This job was stopped by a user.

                              • Stopping – This job is being stopped by a user.

                              " } }, "message": { @@ -6469,14 +6643,14 @@ "inputStrength": { "target": "com.amazonaws.bedrock#GuardrailFilterStrength", "traits": { - "smithy.api#documentation": "

                              The strength of the content filter to apply to prompts. As you\n increase the filter strength, the likelihood of filtering harmful content increases\n and the probability of seeing harmful content in your application reduces.

                              ", + "smithy.api#documentation": "

                              The strength of the content filter to apply to prompts. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

                              ", "smithy.api#required": {} } }, "outputStrength": { "target": "com.amazonaws.bedrock#GuardrailFilterStrength", "traits": { - "smithy.api#documentation": "

                              The strength of the content filter to apply to model responses. As you\n increase the filter strength, the likelihood of filtering harmful content increases\n and the probability of seeing harmful content in your application reduces.

                              ", + "smithy.api#documentation": "

                              The strength of the content filter to apply to model responses. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

                              ", "smithy.api#required": {} } }, @@ -6495,30 +6669,30 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailContentFilterAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the\n trace response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailContentFilterAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains filter strengths for harmful content. Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

                              \n
                                \n
                              • \n

                                \n Hate – Describes language or a statement that discriminates, criticizes, insults, denounces, or dehumanizes a person or group on the basis of an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and national origin).

                                \n
                              • \n
                              • \n

                                \n Insults – Describes language or a statement that includes demeaning, humiliating, mocking, insulting, or belittling language. This type of language is also labeled as bullying.

                                \n
                              • \n
                              • \n

                                \n Sexual – Describes language or a statement that indicates sexual interest, activity, or arousal using direct or indirect references to body parts, physical traits, or sex.

                                \n
                              • \n
                              • \n

                                \n Violence – Describes language or a statement that includes glorification of or threats to inflict physical pain, hurt, or injury toward a person, group or thing.

                                \n
                              • \n
                              \n

                              Content filtering depends on the confidence classification of user inputs and FM\n responses across each of the four harmful categories. All input and output statements are\n classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each\n harmful category. For example, if a statement is classified as\n Hate with HIGH confidence, the likelihood of the statement\n representing hateful content is high. A single statement can be classified across\n multiple categories with varying confidence levels. For example, a single statement\n can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

                              \n

                              For more information, see Guardrails content filters.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              Contains filter strengths for harmful content. Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

                              • Hate – Describes language or a statement that discriminates, criticizes, insults, denounces, or dehumanizes a person or group on the basis of an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and national origin).

                              • Insults – Describes language or a statement that includes demeaning, humiliating, mocking, insulting, or belittling language. This type of language is also labeled as bullying.

                              • Sexual – Describes language or a statement that indicates sexual interest, activity, or arousal using direct or indirect references to body parts, physical traits, or sex.

                              • Violence – Describes language or a statement that includes glorification of or threats to inflict physical pain, hurt, or injury toward a person, group or thing.

                              Content filtering depends on the confidence classification of user inputs and FM responses across each of the four harmful categories. All input and output statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement is classified as Hate with HIGH confidence, the likelihood of the statement representing hateful content is high. A single statement can be classified across multiple categories with varying confidence levels. For example, a single statement can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

                              For more information, see Guardrails content filters.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#GuardrailContentFilterAction": { @@ -6554,14 +6728,14 @@ "inputStrength": { "target": "com.amazonaws.bedrock#GuardrailFilterStrength", "traits": { - "smithy.api#documentation": "

                              The strength of the content filter to apply to prompts. As you\n increase the filter strength, the likelihood of filtering harmful content increases\n and the probability of seeing harmful content in your application reduces.

                              ", + "smithy.api#documentation": "

                              The strength of the content filter to apply to prompts. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

                              ", "smithy.api#required": {} } }, "outputStrength": { "target": "com.amazonaws.bedrock#GuardrailFilterStrength", "traits": { - "smithy.api#documentation": "

                              The strength of the content filter to apply to model responses. As you\n increase the filter strength, the likelihood of filtering harmful content increases\n and the probability of seeing harmful content in your application reduces.

                              ", + "smithy.api#documentation": "

                              The strength of the content filter to apply to model responses. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

                              ", "smithy.api#required": {} } }, @@ -6580,30 +6754,30 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailContentFilterAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the\n trace response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailContentFilterAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains filter strengths for harmful content. Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

                              \n
                                \n
                              • \n

                                \n Hate – Describes language or a statement that discriminates, criticizes, insults, denounces, or dehumanizes a person or group on the basis of an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and national origin).

                                \n
                              • \n
                              • \n

                                \n Insults – Describes language or a statement that includes demeaning, humiliating, mocking, insulting, or belittling language. This type of language is also labeled as bullying.

                                \n
                              • \n
                              • \n

                                \n Sexual – Describes language or a statement that indicates sexual interest, activity, or arousal using direct or indirect references to body parts, physical traits, or sex.

                                \n
                              • \n
                              • \n

                                \n Violence – Describes language or a statement that includes glorification of or threats to inflict physical pain, hurt, or injury toward a person, group or thing.

                                \n
                              • \n
                              \n

                              Content filtering depends on the confidence classification of user inputs and FM\n responses across each of the four harmful categories. All input and output statements are\n classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each\n harmful category. For example, if a statement is classified as\n Hate with HIGH confidence, the likelihood of the statement\n representing hateful content is high. A single statement can be classified across\n multiple categories with varying confidence levels. For example, a single statement\n can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

                              \n

                              For more information, see Guardrails content filters.

                              " + "smithy.api#documentation": "

                              Contains filter strengths for harmful content. Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

                              • Hate – Describes language or a statement that discriminates, criticizes, insults, denounces, or dehumanizes a person or group on the basis of an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and national origin).

                              • Insults – Describes language or a statement that includes demeaning, humiliating, mocking, insulting, or belittling language. This type of language is also labeled as bullying.

                              • Sexual – Describes language or a statement that indicates sexual interest, activity, or arousal using direct or indirect references to body parts, physical traits, or sex.

                              • Violence – Describes language or a statement that includes glorification of or threats to inflict physical pain, hurt, or injury toward a person, group or thing.

                              Content filtering depends on the confidence classification of user inputs and FM responses across each of the four harmful categories. All input and output statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement is classified as Hate with HIGH confidence, the likelihood of the statement representing hateful content is high. A single statement can be classified across multiple categories with varying confidence levels. For example, a single statement can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

                              For more information, see Guardrails content filters.

                              " } }, "com.amazonaws.bedrock#GuardrailContentFilterType": { @@ -6671,6 +6845,56 @@ } } }, + "com.amazonaws.bedrock#GuardrailContentFiltersTier": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTierName", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for content filters. Valid values include:

                              • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                              • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for content filters.

                              " + } + }, + "com.amazonaws.bedrock#GuardrailContentFiltersTierConfig": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTierName", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for content filters. Valid values include:

                              • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                              • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for content filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                              " + } + }, + "com.amazonaws.bedrock#GuardrailContentFiltersTierName": { + "type": "enum", + "members": { + "CLASSIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLASSIC" + } + }, + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + } + }, + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#GuardrailContentPolicy": { "type": "structure", "members": { @@ -6679,10 +6903,16 @@ "traits": { "smithy.api#documentation": "

                              Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                              " } + }, + "tier": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTier", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for content filters.

                              " + } } }, "traits": { - "smithy.api#documentation": "

                              Contains details about how to handle harmful content.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              Contains details about how to handle harmful content.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#GuardrailContentPolicyConfig": { @@ -6694,6 +6924,12 @@ "smithy.api#documentation": "

                              Contains the type of the content filter and how strongly it should apply to prompts and model responses.

                              ", "smithy.api#required": {} } + }, + "tierConfig": { + "target": "com.amazonaws.bedrock#GuardrailContentFiltersTierConfig", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for content filters.

                              " + } } }, "traits": { @@ -6743,7 +6979,7 @@ "action": { "target": "com.amazonaws.bedrock#GuardrailContextualGroundingAction", "traits": { - "smithy.api#documentation": "

                              The action to take when content fails the contextual grounding evaluation. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when content fails the contextual grounding evaluation. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "enabled": { @@ -6780,7 +7016,7 @@ "action": { "target": "com.amazonaws.bedrock#GuardrailContextualGroundingAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when content fails the contextual grounding evaluation. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when content fails the contextual grounding evaluation. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "enabled": { @@ -6875,7 +7111,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The system-defined guardrail profile that you're using with your guardrail. Guardrail profiles define the destination Amazon Web Services Regions where guardrail inference requests can be automatically routed. Using guardrail profiles helps maintain guardrail performance and reliability when demand increases.

                              \n

                              For more information, see the Amazon Bedrock User Guide.

                              " + "smithy.api#documentation": "

                              The system-defined guardrail profile that you're using with your guardrail. Guardrail profiles define the destination Amazon Web Services Regions where guardrail inference requests can be automatically routed. Using guardrail profiles helps maintain guardrail performance and reliability when demand increases.

                              For more information, see the Amazon Bedrock User Guide.

                              " } }, "com.amazonaws.bedrock#GuardrailCrossRegionDetails": { @@ -6884,7 +7120,7 @@ "guardrailProfileId": { "target": "com.amazonaws.bedrock#GuardrailCrossRegionGuardrailProfileId", "traits": { - "smithy.api#documentation": "

                              The ID of the guardrail profile that your guardrail is using. Profile availability\n depends on your current Amazon Web Services Region. For more information, see the Amazon Bedrock User Guide.

                              " + "smithy.api#documentation": "

                              The ID of the guardrail profile that your guardrail is using. Profile availability depends on your current Amazon Web Services Region. For more information, see the Amazon Bedrock User Guide.

                              " } }, "guardrailProfileArn": { @@ -6895,7 +7131,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains details about the system-defined guardrail profile that you're using with your guardrail for cross-Region inference.

                              \n

                              For more information, see the Amazon Bedrock User Guide.

                              " + "smithy.api#documentation": "

                              Contains details about the system-defined guardrail profile that you're using with your guardrail for cross-Region inference.

                              For more information, see the Amazon Bedrock User Guide.

                              " } }, "com.amazonaws.bedrock#GuardrailCrossRegionGuardrailProfileArn": { @@ -7034,37 +7270,37 @@ "type": { "target": "com.amazonaws.bedrock#GuardrailManagedWordsType", "traits": { - "smithy.api#documentation": "

                              ManagedWords$type\n The managed word type that was configured for the guardrail.\n (For now, we only offer profanity word list)

                              ", + "smithy.api#documentation": "

                              ManagedWords$type The managed word type that was configured for the guardrail. (For now, we only offer profanity word list)

                              ", "smithy.api#required": {} } }, "inputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The managed word list that was configured for the guardrail.\n (This is a list of words that are pre-defined and managed by guardrails only.)

                              " + "smithy.api#documentation": "

                              The managed word list that was configured for the guardrail. (This is a list of words that are pre-defined and managed by guardrails only.)

                              " } }, "com.amazonaws.bedrock#GuardrailManagedWordsConfig": { @@ -7080,25 +7316,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -7210,25 +7446,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n ANONYMIZE – Mask the content and replace it with identifier\n tags.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the\n trace response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • ANONYMIZE – Mask the content and replace it with identifier tags.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n ANONYMIZE – Mask the content and replace it with identifier\n tags.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the\n trace response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • ANONYMIZE – Mask the content and replace it with identifier tags.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -7242,7 +7478,7 @@ "type": { "target": "com.amazonaws.bedrock#GuardrailPiiEntityType", "traits": { - "smithy.api#documentation": "

                              Configure guardrail type when the PII entity is detected.

                              \n

                              The following PIIs are used to block or mask sensitive information:

                              \n
                                \n
                              • \n

                                \n General\n

                                \n
                                  \n
                                • \n

                                  \n ADDRESS\n

                                  \n

                                  A physical address, such as \"100 Main Street, Anytown, USA\" \n or \"Suite #12, Building 123\". An address can include information \n such as the street, building, location, city, state, country, county, \n zip code, precinct, and neighborhood.

                                  \n
                                • \n
                                • \n

                                  \n AGE\n

                                  \n

                                  An individual's age, including the quantity and unit of time. For \n example, in the phrase \"I am 40 years old,\" Guardrails recognizes \"40 years\" \n as an age.\n

                                  \n
                                • \n
                                • \n

                                  \n NAME\n

                                  \n

                                  An individual's name. This entity type does not include titles, such as \n Dr., Mr., Mrs., or Miss. guardrails doesn't apply this entity type to names that \n are part of organizations or addresses. For example, guardrails recognizes \n the \"John Doe Organization\" as an organization, and it recognizes \"Jane Doe \n Street\" as an address.\n

                                  \n
                                • \n
                                • \n

                                  \n EMAIL\n

                                  \n

                                  An email address, such as marymajor@email.com.

                                  \n
                                • \n
                                • \n

                                  \n PHONE\n

                                  \n

                                  A phone number. This entity type also includes fax and pager numbers.\n

                                  \n
                                • \n
                                • \n

                                  \n USERNAME\n

                                  \n

                                  A user name that identifies an account, such as a login name, screen name, \n nick name, or handle.\n

                                  \n
                                • \n
                                • \n

                                  \n PASSWORD\n

                                  \n

                                  An alphanumeric string that is used as a password, such as \n \"*very20special#pass*\".\n

                                  \n
                                • \n
                                • \n

                                  \n DRIVER_ID\n

                                  \n

                                  The number assigned to a driver's license, which is an official \n document permitting an individual to operate one or more motorized \n vehicles on a public road. A driver's license number consists of \n alphanumeric characters.\n

                                  \n
                                • \n
                                • \n

                                  \n LICENSE_PLATE\n

                                  \n

                                  A license plate for a vehicle is issued by the state or country where \n the vehicle is registered. The format for passenger vehicles is typically \n five to eight digits, consisting of upper-case letters and numbers. The \n format varies depending on the location of the issuing state or country.\n

                                  \n
                                • \n
                                • \n

                                  \n VEHICLE_IDENTIFICATION_NUMBER\n

                                  \n

                                  A Vehicle Identification Number (VIN) uniquely identifies a vehicle. \n VIN content and format are defined in the ISO 3779 specification. \n Each country has specific codes and formats for VINs.\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Finance\n

                                \n
                                  \n
                                • \n

                                  \n CREDIT_DEBIT_CARD_CVV\n

                                  \n

                                  A three-digit card verification code (CVV) that is present on VISA, \n MasterCard, and Discover credit and debit cards. For American Express \n credit or debit cards, the CVV is a four-digit numeric code.\n

                                  \n
                                • \n
                                • \n

                                  \n CREDIT_DEBIT_CARD_EXPIRY\n

                                  \n

                                  The expiration date for a credit or debit card. This number is usually \n four digits long and is often formatted as month/year or \n MM/YY. Guardrails recognizes expiration dates such as \n 01/21, 01/2021, and Jan 2021.\n

                                  \n
                                • \n
                                • \n

                                  \n CREDIT_DEBIT_CARD_NUMBER\n

                                  \n

                                  The number for a credit or debit card. These numbers can vary from 13 to 16 \n digits in length. However, Amazon Comprehend also recognizes credit or debit \n card numbers when only the last four digits are present.\n

                                  \n
                                • \n
                                • \n

                                  \n PIN\n

                                  \n

                                  A four-digit personal identification number (PIN) with which you can \n access your bank account.\n

                                  \n
                                • \n
                                • \n

                                  \n INTERNATIONAL_BANK_ACCOUNT_NUMBER\n

                                  \n

                                  An International Bank Account Number has specific formats in each country. \n For more information, see www.iban.com/structure.

                                  \n
                                • \n
                                • \n

                                  \n SWIFT_CODE\n

                                  \n

                                  A SWIFT code is a standard format of Bank Identifier Code (BIC) used to specify \n a particular bank or branch. Banks use these codes for money transfers such as \n international wire transfers.

                                  \n

                                  SWIFT codes consist of eight or 11 characters. The 11-digit codes refer to specific \n branches, while eight-digit codes (or 11-digit codes ending in 'XXX') refer to the \n head or primary office.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n IT\n

                                \n
                                  \n
                                • \n

                                  \n IP_ADDRESS\n

                                  \n

                                  An IPv4 address, such as 198.51.100.0.\n

                                  \n
                                • \n
                                • \n

                                  \n MAC_ADDRESS\n

                                  \n

                                  A media access control (MAC) address is a unique identifier \n assigned to a network interface controller (NIC).\n

                                  \n
                                • \n
                                • \n

                                  \n URL\n

                                  \n

                                  A web address, such as www.example.com.\n

                                  \n
                                • \n
                                • \n

                                  \n AWS_ACCESS_KEY\n

                                  \n

                                  A unique identifier that's associated with a secret access key; \n you use the access key ID and secret access key to sign programmatic \n Amazon Web Services requests cryptographically.\n

                                  \n
                                • \n
                                • \n

                                  \n AWS_SECRET_KEY\n

                                  \n

                                  A unique identifier that's associated with an access key. You use the \n access key ID and secret access key to sign programmatic Amazon Web Services \n requests cryptographically.\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n USA specific\n

                                \n
                                  \n
                                • \n

                                  \n US_BANK_ACCOUNT_NUMBER\n

                                  \n

                                  A US bank account number, which is typically 10 to 12 digits long. \n

                                  \n
                                • \n
                                • \n

                                  \n US_BANK_ROUTING_NUMBER\n

                                  \n

                                  A US bank account routing number. These are typically nine digits long, \n

                                  \n
                                • \n
                                • \n

                                  \n US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER\n

                                  \n

                                  A US Individual Taxpayer Identification Number (ITIN) is a nine-digit number \n that starts with a \"9\" and contain a \"7\" or \"8\" as the fourth digit. An ITIN \n can be formatted with a space or a dash after the third and forth digits.\n

                                  \n
                                • \n
                                • \n

                                  \n US_PASSPORT_NUMBER\n

                                  \n

                                  A US passport number. Passport numbers range from six to nine alphanumeric \n characters.\n

                                  \n
                                • \n
                                • \n

                                  \n US_SOCIAL_SECURITY_NUMBER\n

                                  \n

                                  A US Social Security Number (SSN) is a nine-digit number that is issued to \n US citizens, permanent residents, and temporary working residents. \n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Canada specific\n

                                \n
                                  \n
                                • \n

                                  \n CA_HEALTH_NUMBER\n

                                  \n

                                  A Canadian Health Service Number is a 10-digit unique identifier, \n required for individuals to access healthcare benefits.\n

                                  \n
                                • \n
                                • \n

                                  \n CA_SOCIAL_INSURANCE_NUMBER\n

                                  \n

                                  A Canadian Social Insurance Number (SIN) is a nine-digit unique identifier, \n required for individuals to access government programs and benefits.

                                  \n

                                  The SIN is formatted as three groups of three digits, such as \n 123-456-789. A SIN can be validated through a simple \n check-digit process called the Luhn algorithm.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n UK Specific\n

                                \n
                                  \n
                                • \n

                                  \n UK_NATIONAL_HEALTH_SERVICE_NUMBER\n

                                  \n

                                  A UK National Health Service Number is a 10-17 digit number, \n such as 485 777 3456. The current system formats the 10-digit \n number with spaces after the third and sixth digits. The final digit is an \n error-detecting checksum.

                                  \n
                                • \n
                                • \n

                                  \n UK_NATIONAL_INSURANCE_NUMBER\n

                                  \n

                                  A UK National Insurance Number (NINO) provides individuals with access to National \n Insurance (social security) benefits. It is also used for some purposes in the UK \n tax system.

                                  \n

                                  The number is nine digits long and starts with two letters, followed by six \n numbers and one letter. A NINO can be formatted with a space or a dash after \n the two letters and after the second, forth, and sixth digits.

                                  \n
                                • \n
                                • \n

                                  \n UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER\n

                                  \n

                                  A UK Unique Taxpayer Reference (UTR) is a 10-digit number that identifies a taxpayer or a business.\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Custom\n

                                \n
                                  \n
                                • \n

                                  \n Regex filter - You can use\n a regular expressions to define patterns for a guardrail to recognize\n and act upon such as serial number, booking ID etc..

                                  \n
                                • \n
                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Configure guardrail type when the PII entity is detected.

                              The following PIIs are used to block or mask sensitive information:

                              • General

                                • ADDRESS

                                  A physical address, such as \"100 Main Street, Anytown, USA\" or \"Suite #12, Building 123\". An address can include information such as the street, building, location, city, state, country, county, zip code, precinct, and neighborhood.

                                • AGE

                                  An individual's age, including the quantity and unit of time. For example, in the phrase \"I am 40 years old,\" Guardrails recognizes \"40 years\" as an age.

                                • NAME

                                  An individual's name. This entity type does not include titles, such as Dr., Mr., Mrs., or Miss. guardrails doesn't apply this entity type to names that are part of organizations or addresses. For example, guardrails recognizes the \"John Doe Organization\" as an organization, and it recognizes \"Jane Doe Street\" as an address.

                                • EMAIL

                                  An email address, such as marymajor@email.com.

                                • PHONE

                                  A phone number. This entity type also includes fax and pager numbers.

                                • USERNAME

                                  A user name that identifies an account, such as a login name, screen name, nick name, or handle.

                                • PASSWORD

                                  An alphanumeric string that is used as a password, such as \"*very20special#pass*\".

                                • DRIVER_ID

                                  The number assigned to a driver's license, which is an official document permitting an individual to operate one or more motorized vehicles on a public road. A driver's license number consists of alphanumeric characters.

                                • LICENSE_PLATE

                                  A license plate for a vehicle is issued by the state or country where the vehicle is registered. The format for passenger vehicles is typically five to eight digits, consisting of upper-case letters and numbers. The format varies depending on the location of the issuing state or country.

                                • VEHICLE_IDENTIFICATION_NUMBER

                                  A Vehicle Identification Number (VIN) uniquely identifies a vehicle. VIN content and format are defined in the ISO 3779 specification. Each country has specific codes and formats for VINs.

                              • Finance

                                • CREDIT_DEBIT_CARD_CVV

                                  A three-digit card verification code (CVV) that is present on VISA, MasterCard, and Discover credit and debit cards. For American Express credit or debit cards, the CVV is a four-digit numeric code.

                                • CREDIT_DEBIT_CARD_EXPIRY

                                  The expiration date for a credit or debit card. This number is usually four digits long and is often formatted as month/year or MM/YY. Guardrails recognizes expiration dates such as 01/21, 01/2021, and Jan 2021.

                                • CREDIT_DEBIT_CARD_NUMBER

                                  The number for a credit or debit card. These numbers can vary from 13 to 16 digits in length. However, Amazon Comprehend also recognizes credit or debit card numbers when only the last four digits are present.

                                • PIN

                                  A four-digit personal identification number (PIN) with which you can access your bank account.

                                • INTERNATIONAL_BANK_ACCOUNT_NUMBER

                                  An International Bank Account Number has specific formats in each country. For more information, see www.iban.com/structure.

                                • SWIFT_CODE

                                  A SWIFT code is a standard format of Bank Identifier Code (BIC) used to specify a particular bank or branch. Banks use these codes for money transfers such as international wire transfers.

                                  SWIFT codes consist of eight or 11 characters. The 11-digit codes refer to specific branches, while eight-digit codes (or 11-digit codes ending in 'XXX') refer to the head or primary office.

                              • IT

                                • IP_ADDRESS

                                  An IPv4 address, such as 198.51.100.0.

                                • MAC_ADDRESS

                                  A media access control (MAC) address is a unique identifier assigned to a network interface controller (NIC).

                                • URL

                                  A web address, such as www.example.com.

                                • AWS_ACCESS_KEY

                                  A unique identifier that's associated with a secret access key; you use the access key ID and secret access key to sign programmatic Amazon Web Services requests cryptographically.

                                • AWS_SECRET_KEY

                                  A unique identifier that's associated with an access key. You use the access key ID and secret access key to sign programmatic Amazon Web Services requests cryptographically.

                              • USA specific

                                • US_BANK_ACCOUNT_NUMBER

                                  A US bank account number, which is typically 10 to 12 digits long.

                                • US_BANK_ROUTING_NUMBER

                                  A US bank account routing number. These are typically nine digits long,

                                • US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER

                                  A US Individual Taxpayer Identification Number (ITIN) is a nine-digit number that starts with a \"9\" and contain a \"7\" or \"8\" as the fourth digit. An ITIN can be formatted with a space or a dash after the third and forth digits.

                                • US_PASSPORT_NUMBER

                                  A US passport number. Passport numbers range from six to nine alphanumeric characters.

                                • US_SOCIAL_SECURITY_NUMBER

                                  A US Social Security Number (SSN) is a nine-digit number that is issued to US citizens, permanent residents, and temporary working residents.

                              • Canada specific

                                • CA_HEALTH_NUMBER

                                  A Canadian Health Service Number is a 10-digit unique identifier, required for individuals to access healthcare benefits.

                                • CA_SOCIAL_INSURANCE_NUMBER

                                  A Canadian Social Insurance Number (SIN) is a nine-digit unique identifier, required for individuals to access government programs and benefits.

                                  The SIN is formatted as three groups of three digits, such as 123-456-789. A SIN can be validated through a simple check-digit process called the Luhn algorithm.

                              • UK Specific

                                • UK_NATIONAL_HEALTH_SERVICE_NUMBER

                                  A UK National Health Service Number is a 10-17 digit number, such as 485 777 3456. The current system formats the 10-digit number with spaces after the third and sixth digits. The final digit is an error-detecting checksum.

                                • UK_NATIONAL_INSURANCE_NUMBER

                                  A UK National Insurance Number (NINO) provides individuals with access to National Insurance (social security) benefits. It is also used for some purposes in the UK tax system.

                                  The number is nine digits long and starts with two letters, followed by six numbers and one letter. A NINO can be formatted with a space or a dash after the two letters and after the second, forth, and sixth digits.

                                • UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER

                                  A UK Unique Taxpayer Reference (UTR) is a 10-digit number that identifies a taxpayer or a business.

                              • Custom

                                • Regex filter - You can use a regular expressions to define patterns for a guardrail to recognize and act upon such as serial number, booking ID etc..

                              ", "smithy.api#required": {} } }, @@ -7256,25 +7492,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n ANONYMIZE – Mask the content and replace it with identifier\n tags.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the\n trace response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • ANONYMIZE – Mask the content and replace it with identifier tags.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n ANONYMIZE – Mask the content and replace it with identifier\n tags.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the\n trace response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • ANONYMIZE – Mask the content and replace it with identifier tags.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -7518,25 +7754,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -7589,25 +7825,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailSensitiveInformationAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -7835,7 +8071,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains details about a guardrail.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              Contains details about a guardrail.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#GuardrailTopic": { @@ -7870,30 +8106,30 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailTopicAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailTopicAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Details about topics for the guardrail to identify and deny.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              Details about topics for the guardrail to identify and deny.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#GuardrailTopicAction": { @@ -7949,25 +8185,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailTopicAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailTopicAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -8027,10 +8263,16 @@ "smithy.api#documentation": "

                              A list of policies related to topics that the guardrail should deny.

                              ", "smithy.api#required": {} } + }, + "tier": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTier", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for denied topic filters.

                              " + } } }, "traits": { - "smithy.api#documentation": "

                              Contains details about topics that the guardrail should identify and deny.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              Contains details about topics that the guardrail should identify and deny.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#GuardrailTopicPolicyConfig": { @@ -8042,6 +8284,12 @@ "smithy.api#documentation": "

                              A list of policies related to topics that the guardrail should deny.

                              ", "smithy.api#required": {} } + }, + "tierConfig": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTierConfig", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for denied topic filters.

                              " + } } }, "traits": { @@ -8083,6 +8331,56 @@ } } }, + "com.amazonaws.bedrock#GuardrailTopicsTier": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTierName", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for denied topic filters. Valid values include:

                              • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                              • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for denied topic filters.

                              " + } + }, + "com.amazonaws.bedrock#GuardrailTopicsTierConfig": { + "type": "structure", + "members": { + "tierName": { + "target": "com.amazonaws.bedrock#GuardrailTopicsTierName", + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for denied topic filters. Valid values include:

                              • CLASSIC tier – Provides established guardrails functionality supporting English, French, and Spanish languages.

                              • STANDARD tier – Provides a more robust solution than the CLASSIC tier and has more comprehensive language support. This tier requires that your guardrail use cross-Region inference.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The tier that your guardrail uses for denied topic filters. Consider using a tier that balances performance, accuracy, and compatibility with your existing generative AI workflows.

                              " + } + }, + "com.amazonaws.bedrock#GuardrailTopicsTierName": { + "type": "enum", + "members": { + "CLASSIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLASSIC" + } + }, + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + } + }, + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#GuardrailVersion": { "type": "string", "traits": { @@ -8106,25 +8404,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't\n charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the input. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Indicates whether guardrail evaluation is enabled on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -8169,25 +8467,25 @@ "inputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the input. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "outputAction": { "target": "com.amazonaws.bedrock#GuardrailWordAction", "traits": { - "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              \n
                                \n
                              • \n

                                \n BLOCK – Block the content and replace it with blocked\n messaging.

                                \n
                              • \n
                              • \n

                                \n NONE – Take no action but return detection information in the trace\n response.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the action to take when harmful content is detected in the output. Supported values include:

                              • BLOCK – Block the content and replace it with blocked messaging.

                              • NONE – Take no action but return detection information in the trace response.

                              " } }, "inputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the intput. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the intput. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } }, "outputEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you\n aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " + "smithy.api#documentation": "

                              Specifies whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. The evaluation doesn't appear in the response.

                              " } } }, @@ -8316,7 +8614,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Specifies the custom metrics, how tasks will be rated, the flow definition ARN, and your custom prompt datasets. Model evaluation jobs use human workers only support the use of custom prompt datasets. To learn more about custom prompt datasets and the required format, see Custom prompt datasets.

                              \n

                              When you create custom metrics in HumanEvaluationCustomMetric you must specify the metric's name. The list of names specified in the HumanEvaluationCustomMetric array, must match the metricNames array of strings specified in EvaluationDatasetMetricConfig. For example, if in the HumanEvaluationCustomMetric array your specified the names \"accuracy\", \"toxicity\", \"readability\" as custom metrics then the metricNames array would need to look like the following [\"accuracy\", \"toxicity\", \"readability\"] in EvaluationDatasetMetricConfig.

                              " + "smithy.api#documentation": "

                              Specifies the custom metrics, how tasks will be rated, the flow definition ARN, and your custom prompt datasets. Model evaluation jobs use human workers only support the use of custom prompt datasets. To learn more about custom prompt datasets and the required format, see Custom prompt datasets.

                              When you create custom metrics in HumanEvaluationCustomMetric you must specify the metric's name. The list of names specified in the HumanEvaluationCustomMetric array, must match the metricNames array of strings specified in EvaluationDatasetMetricConfig. For example, if in the HumanEvaluationCustomMetric array your specified the names \"accuracy\", \"toxicity\", \"readability\" as custom metrics then the metricNames array would need to look like the following [\"accuracy\", \"toxicity\", \"readability\"] in EvaluationDatasetMetricConfig.

                              " } }, "com.amazonaws.bedrock#HumanEvaluationCustomMetric": { @@ -8338,13 +8636,13 @@ "ratingMethod": { "target": "com.amazonaws.bedrock#EvaluationRatingMethod", "traits": { - "smithy.api#documentation": "

                              Choose how you want your human workers to evaluation your model. Valid values for rating methods are ThumbsUpDown, IndividualLikertScale,ComparisonLikertScale, ComparisonChoice, and ComparisonRank\n

                              ", + "smithy.api#documentation": "

                              Choose how you want your human workers to evaluation your model. Valid values for rating methods are ThumbsUpDown, IndividualLikertScale,ComparisonLikertScale, ComparisonChoice, and ComparisonRank

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              In a model evaluation job that uses human workers you must \n define the name of the metric, and how you want that metric rated\n ratingMethod, and an optional description of the metric.

                              " + "smithy.api#documentation": "

                              In a model evaluation job that uses human workers you must define the name of the metric, and how you want that metric rated ratingMethod, and an optional description of the metric.

                              " } }, "com.amazonaws.bedrock#HumanEvaluationCustomMetrics": { @@ -8690,7 +8988,7 @@ "type": { "target": "com.amazonaws.bedrock#InferenceProfileType", "traits": { - "smithy.api#documentation": "

                              The type of the inference profile. The following types are possible:

                              \n
                                \n
                              • \n

                                \n SYSTEM_DEFINED – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.

                                \n
                              • \n
                              • \n

                                \n APPLICATION – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The type of the inference profile. The following types are possible:

                              • SYSTEM_DEFINED – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.

                              • APPLICATION – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions.

                              ", "smithy.api#required": {} } } @@ -8871,7 +9169,7 @@ "textInferenceConfig": { "target": "com.amazonaws.bedrock#TextInferenceConfig", "traits": { - "smithy.api#documentation": "

                              Contains configuration details for text generation using a language model via the \n RetrieveAndGenerate function.

                              " + "smithy.api#documentation": "

                              Contains configuration details for text generation using a language model via the RetrieveAndGenerate function.

                              " } } }, @@ -8964,7 +9262,7 @@ "modelArn": { "target": "com.amazonaws.bedrock#BedrockModelArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the foundation model or inference profile \n used to generate responses.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the foundation model or inference profile used to generate responses.

                              ", "smithy.api#required": {} } }, @@ -9007,7 +9305,7 @@ "overrideSearchType": { "target": "com.amazonaws.bedrock#SearchType", "traits": { - "smithy.api#documentation": "

                              By default, Amazon Bedrock decides a search strategy for you. If you're using an \n Amazon OpenSearch Serverless vector store that contains a filterable text field, you \n can specify whether to query the knowledge base with a HYBRID search \n using both vector embeddings and raw text, or SEMANTIC search using \n only vector embeddings. For other vector store configurations, only SEMANTIC \n search is available.

                              " + "smithy.api#documentation": "

                              By default, Amazon Bedrock decides a search strategy for you. If you're using an Amazon OpenSearch Serverless vector store that contains a filterable text field, you can specify whether to query the knowledge base with a HYBRID search using both vector embeddings and raw text, or SEMANTIC search using only vector embeddings. For other vector store configurations, only SEMANTIC search is available.

                              " } }, "filter": { @@ -9044,7 +9342,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of the custom models that you have created with the CreateModelCustomizationJob operation.

                              \n

                              For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Returns a list of the custom models that you have created with the CreateModelCustomizationJob operation.

                              For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -9131,6 +9429,13 @@ "smithy.api#documentation": "

                              Return custom models depending on if the current account owns them (true) or if they were shared with the current account (false).

                              ", "smithy.api#httpQuery": "isOwned" } + }, + "modelStatus": { + "target": "com.amazonaws.bedrock#ModelStatus", + "traits": { + "smithy.api#documentation": "

                              The status of them model to filter results by. Possible values include:

                              • Creating - Include only models that are currently being created and validated.

                              • Active - Include only models that have been successfully created and are ready for use.

                              • Failed - Include only models where the creation process failed.

                              If you don't specify a status, the API returns models in all states.

                              ", + "smithy.api#httpQuery": "modelStatus" + } } }, "traits": { @@ -9394,7 +9699,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists details about all the guardrails in an account. To list the DRAFT version of all your guardrails, don't specify the guardrailIdentifier field. To list all versions of a guardrail, specify the ARN of the guardrail in the guardrailIdentifier field.

                              \n

                              You can set the maximum number of results to return in a response in the maxResults field. If there are more results than the number you set, the response returns a nextToken that you can send in another ListGuardrails request to see the next batch of results.

                              ", + "smithy.api#documentation": "

                              Lists details about all the guardrails in an account. To list the DRAFT version of all your guardrails, don't specify the guardrailIdentifier field. To list all versions of a guardrail, specify the ARN of the guardrail in the guardrailIdentifier field.

                              You can set the maximum number of results to return in a response in the maxResults field. If there are more results than the number you set, the response returns a nextToken that you can send in another ListGuardrails request to see the next batch of results.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -9415,7 +9720,7 @@ "guardrailIdentifier": { "target": "com.amazonaws.bedrock#GuardrailIdentifier", "traits": { - "smithy.api#documentation": "

                              The unique identifier of the guardrail. This can be an ID or the ARN.

                              ", + "smithy.api#documentation": "

                              The unique identifier of the guardrail. This can be an ID or the ARN.

                              ", "smithy.api#httpQuery": "guardrailIdentifier" } }, @@ -9482,7 +9787,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of models you've imported. You can filter the results to return based on one or more criteria. \n For more information, \n see Import a customized model in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Returns a list of models you've imported. You can filter the results to return based on one or more criteria. For more information, see Import a customized model in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -9632,7 +9937,7 @@ "typeEquals": { "target": "com.amazonaws.bedrock#InferenceProfileType", "traits": { - "smithy.api#documentation": "

                              Filters for inference profiles that match the type you specify.

                              \n
                                \n
                              • \n

                                \n SYSTEM_DEFINED – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.

                                \n
                              • \n
                              • \n

                                \n APPLICATION – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Filters for inference profiles that match the type you specify.

                              • SYSTEM_DEFINED – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles.

                              • APPLICATION – The inference profile was created by a user. This type of inference profile can track metrics and costs when invoking the model in it. The inference profile may route requests to one or multiple regions.

                              ", "smithy.api#httpQuery": "type" } } @@ -9687,7 +9992,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the endpoints for models from Amazon Bedrock Marketplace in your Amazon Web Services\n account.

                              ", + "smithy.api#documentation": "

                              Lists the endpoints for models from Amazon Bedrock Marketplace in your Amazon Web Services account.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -9708,21 +10013,21 @@ "maxResults": { "target": "com.amazonaws.bedrock#MaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results to return in a single call. If more results are\n available, the operation returns a NextToken value.

                              ", + "smithy.api#documentation": "

                              The maximum number of results to return in a single call. If more results are available, the operation returns a NextToken value.

                              ", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { "target": "com.amazonaws.bedrock#PaginationToken", "traits": { - "smithy.api#documentation": "

                              The token for the next set of results. You receive this token from a previous\n ListMarketplaceModelEndpoints call.

                              ", + "smithy.api#documentation": "

                              The token for the next set of results. You receive this token from a previous ListMarketplaceModelEndpoints call.

                              ", "smithy.api#httpQuery": "nextToken" } }, "modelSourceEquals": { "target": "com.amazonaws.bedrock#ModelSourceIdentifier", "traits": { - "smithy.api#documentation": "

                              If specified, only endpoints for the given model source identifier are\n returned.

                              ", + "smithy.api#documentation": "

                              If specified, only endpoints for the given model source identifier are returned.

                              ", "smithy.api#httpQuery": "modelSourceIdentifier" } } @@ -9743,7 +10048,7 @@ "nextToken": { "target": "com.amazonaws.bedrock#PaginationToken", "traits": { - "smithy.api#documentation": "

                              The token for the next set of results. Use this token to get the next set of\n results.

                              " + "smithy.api#documentation": "

                              The token for the next set of results. Use this token to get the next set of results.

                              " } } }, @@ -9777,7 +10082,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of model copy jobs that you have submitted. You can filter the jobs to return based on\n one or more criteria. For more information, see Copy models to be used in other regions in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Returns a list of model copy jobs that you have submitted. You can filter the jobs to return based on one or more criteria. For more information, see Copy models to be used in other regions in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -9913,7 +10218,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of model customization jobs that you have submitted. You can filter the jobs to return based on\n one or more criteria.

                              \n

                              For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Returns a list of model customization jobs that you have submitted. You can filter the jobs to return based on one or more criteria.

                              For more information, see Custom models in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -10035,7 +10340,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of import jobs you've submitted. You can filter the results to return based on one or more criteria. \n For more information, \n see Import a customized model in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Returns a list of import jobs you've submitted. You can filter the results to return based on one or more criteria. For more information, see Import a customized model in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -10192,7 +10497,7 @@ "statusEquals": { "target": "com.amazonaws.bedrock#ModelInvocationJobStatus", "traits": { - "smithy.api#documentation": "

                              Specify a status to filter for batch inference jobs whose statuses match the string you specify.

                              \n

                              The following statuses are possible:

                              \n
                                \n
                              • \n

                                Submitted – This job has been submitted to a queue for validation.

                                \n
                              • \n
                              • \n

                                Validating – This job is being validated for the requirements described in Format and upload your batch inference data. The criteria include the following:

                                \n
                                  \n
                                • \n

                                  Your IAM service role has access to the Amazon S3 buckets containing your files.

                                  \n
                                • \n
                                • \n

                                  Your files are .jsonl files and each individual record is a JSON object in the correct format. Note that validation doesn't check if the modelInput value matches the request body for the model.

                                  \n
                                • \n
                                • \n

                                  Your files fulfill the requirements for file size and number of records. For more information, see Quotas for Amazon Bedrock.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Scheduled – This job has been validated and is now in a queue. The job will automatically start when it reaches its turn.

                                \n
                              • \n
                              • \n

                                Expired – This job timed out because it was scheduled but didn't begin before the set timeout duration. Submit a new job request.

                                \n
                              • \n
                              • \n

                                InProgress – This job has begun. You can start viewing the results in the output S3 location.

                                \n
                              • \n
                              • \n

                                Completed – This job has successfully completed. View the output files in the output S3 location.

                                \n
                              • \n
                              • \n

                                PartiallyCompleted – This job has partially completed. Not all of your records could be processed in time. View the output files in the output S3 location.

                                \n
                              • \n
                              • \n

                                Failed – This job has failed. Check the failure message for any further details. For further assistance, reach out to the Amazon Web ServicesSupport Center.

                                \n
                              • \n
                              • \n

                                Stopped – This job was stopped by a user.

                                \n
                              • \n
                              • \n

                                Stopping – This job is being stopped by a user.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Specify a status to filter for batch inference jobs whose statuses match the string you specify.

                              The following statuses are possible:

                              • Submitted – This job has been submitted to a queue for validation.

                              • Validating – This job is being validated for the requirements described in Format and upload your batch inference data. The criteria include the following:

                                • Your IAM service role has access to the Amazon S3 buckets containing your files.

                                • Your files are .jsonl files and each individual record is a JSON object in the correct format. Note that validation doesn't check if the modelInput value matches the request body for the model.

                                • Your files fulfill the requirements for file size and number of records. For more information, see Quotas for Amazon Bedrock.

                              • Scheduled – This job has been validated and is now in a queue. The job will automatically start when it reaches its turn.

                              • Expired – This job timed out because it was scheduled but didn't begin before the set timeout duration. Submit a new job request.

                              • InProgress – This job has begun. You can start viewing the results in the output S3 location.

                              • Completed – This job has successfully completed. View the output files in the output S3 location.

                              • PartiallyCompleted – This job has partially completed. Not all of your records could be processed in time. View the output files in the output S3 location.

                              • Failed – This job has failed. Check the failure message for any further details. For further assistance, reach out to the Amazon Web ServicesSupport Center.

                              • Stopped – This job was stopped by a user.

                              • Stopping – This job is being stopped by a user.

                              ", "smithy.api#httpQuery": "statusEquals" } }, @@ -10213,7 +10518,7 @@ "nextToken": { "target": "com.amazonaws.bedrock#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If there were more results than the value you specified\n in the maxResults field in a previous ListModelInvocationJobs request, the response would have returned a nextToken\n value. To see the next batch of results, send the\n nextToken value in another\n request.

                              ", + "smithy.api#documentation": "

                              If there were more results than the value you specified in the maxResults field in a previous ListModelInvocationJobs request, the response would have returned a nextToken value. To see the next batch of results, send the nextToken value in another request.

                              ", "smithy.api#httpQuery": "nextToken" } }, @@ -10423,14 +10728,14 @@ "maxResults": { "target": "com.amazonaws.bedrock#MaxResults", "traits": { - "smithy.api#documentation": "

                              THe maximum number of results to return in the response. If there are more results than the number you specified, the response returns a nextToken\n value. To see the next batch of results, send the nextToken value in another list request.

                              ", + "smithy.api#documentation": "

                              THe maximum number of results to return in the response. If there are more results than the number you specified, the response returns a nextToken value. To see the next batch of results, send the nextToken value in another list request.

                              ", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { "target": "com.amazonaws.bedrock#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If there are more results than the number you specified in the maxResults field, the response returns a nextToken\n value. To see the next batch of results, specify the nextToken value in this field.

                              ", + "smithy.api#documentation": "

                              If there are more results than the number you specified in the maxResults field, the response returns a nextToken value. To see the next batch of results, specify the nextToken value in this field.

                              ", "smithy.api#httpQuery": "nextToken" } }, @@ -10499,7 +10804,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              List the tags associated with the specified resource.

                              \n

                              For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              List the tags associated with the specified resource.

                              For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -10623,7 +10928,7 @@ "status": { "target": "com.amazonaws.bedrock#Status", "traits": { - "smithy.api#documentation": "

                              The overall status of the endpoint in Amazon Bedrock Marketplace (e.g., ACTIVE,\n INACTIVE).

                              " + "smithy.api#documentation": "

                              The overall status of the endpoint in Amazon Bedrock Marketplace (e.g., ACTIVE, INACTIVE).

                              " } }, "statusMessage": { @@ -10649,14 +10954,14 @@ "endpointConfig": { "target": "com.amazonaws.bedrock#EndpointConfig", "traits": { - "smithy.api#documentation": "

                              The configuration of the endpoint, including the number and type of instances\n used.

                              ", + "smithy.api#documentation": "

                              The configuration of the endpoint, including the number and type of instances used.

                              ", "smithy.api#required": {} } }, "endpointStatus": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The current status of the endpoint (e.g., Creating, InService, Updating,\n Failed).

                              ", + "smithy.api#documentation": "

                              The current status of the endpoint (e.g., Creating, InService, Updating, Failed).

                              ", "smithy.api#required": {} } }, @@ -10781,7 +11086,7 @@ "min": 20, "max": 1011 }, - "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}))$" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/((imported)|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}))(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}))$" } }, "com.amazonaws.bedrock#ModelCopyJobArn": { @@ -10899,7 +11204,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains details about each model copy job.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              Contains details about each model copy job.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#ModelCopyResource": { @@ -11038,18 +11343,18 @@ "smithy.api#required": {} } }, - "lastModifiedTime": { - "target": "com.amazonaws.bedrock#Timestamp", - "traits": { - "smithy.api#documentation": "

                              Time that the customization job was last modified.

                              " - } - }, "statusDetails": { "target": "com.amazonaws.bedrock#StatusDetails", "traits": { "smithy.api#documentation": "

                              Details about the status of the data processing sub-task of the job.

                              " } }, + "lastModifiedTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

                              Time that the customization job was last modified.

                              " + } + }, "creationTime": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { @@ -11098,12 +11403,12 @@ "s3DataSource": { "target": "com.amazonaws.bedrock#S3DataSource", "traits": { - "smithy.api#documentation": "

                              The Amazon S3 data source of the imported model.

                              " + "smithy.api#documentation": "

                              The Amazon S3 data source of the model to import.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Data source for the imported model.

                              " + "smithy.api#documentation": "

                              The data source of the model to import.

                              " } }, "com.amazonaws.bedrock#ModelId": { @@ -11123,7 +11428,7 @@ "min": 1, "max": 2048 }, - "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$" + "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/((imported)|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}))(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$" } }, "com.amazonaws.bedrock#ModelImportJobArn": { @@ -11491,7 +11796,7 @@ "clientRequestToken": { "target": "com.amazonaws.bedrock#ModelInvocationIdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request,\n Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              " + "smithy.api#documentation": "

                              A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

                              " } }, "roleArn": { @@ -11504,7 +11809,7 @@ "status": { "target": "com.amazonaws.bedrock#ModelInvocationJobStatus", "traits": { - "smithy.api#documentation": "

                              The status of the batch inference job.

                              \n

                              The following statuses are possible:

                              \n
                                \n
                              • \n

                                Submitted – This job has been submitted to a queue for validation.

                                \n
                              • \n
                              • \n

                                Validating – This job is being validated for the requirements described in Format and upload your batch inference data. The criteria include the following:

                                \n
                                  \n
                                • \n

                                  Your IAM service role has access to the Amazon S3 buckets containing your files.

                                  \n
                                • \n
                                • \n

                                  Your files are .jsonl files and each individual record is a JSON object in the correct format. Note that validation doesn't check if the modelInput value matches the request body for the model.

                                  \n
                                • \n
                                • \n

                                  Your files fulfill the requirements for file size and number of records. For more information, see Quotas for Amazon Bedrock.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Scheduled – This job has been validated and is now in a queue. The job will automatically start when it reaches its turn.

                                \n
                              • \n
                              • \n

                                Expired – This job timed out because it was scheduled but didn't begin before the set timeout duration. Submit a new job request.

                                \n
                              • \n
                              • \n

                                InProgress – This job has begun. You can start viewing the results in the output S3 location.

                                \n
                              • \n
                              • \n

                                Completed – This job has successfully completed. View the output files in the output S3 location.

                                \n
                              • \n
                              • \n

                                PartiallyCompleted – This job has partially completed. Not all of your records could be processed in time. View the output files in the output S3 location.

                                \n
                              • \n
                              • \n

                                Failed – This job has failed. Check the failure message for any further details. For further assistance, reach out to the Amazon Web ServicesSupport Center.

                                \n
                              • \n
                              • \n

                                Stopped – This job was stopped by a user.

                                \n
                              • \n
                              • \n

                                Stopping – This job is being stopped by a user.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The status of the batch inference job.

                              The following statuses are possible:

                              • Submitted – This job has been submitted to a queue for validation.

                              • Validating – This job is being validated for the requirements described in Format and upload your batch inference data. The criteria include the following:

                                • Your IAM service role has access to the Amazon S3 buckets containing your files.

                                • Your files are .jsonl files and each individual record is a JSON object in the correct format. Note that validation doesn't check if the modelInput value matches the request body for the model.

                                • Your files fulfill the requirements for file size and number of records. For more information, see Quotas for Amazon Bedrock.

                              • Scheduled – This job has been validated and is now in a queue. The job will automatically start when it reaches its turn.

                              • Expired – This job timed out because it was scheduled but didn't begin before the set timeout duration. Submit a new job request.

                              • InProgress – This job has begun. You can start viewing the results in the output S3 location.

                              • Completed – This job has successfully completed. View the output files in the output S3 location.

                              • PartiallyCompleted – This job has partially completed. Not all of your records could be processed in time. View the output files in the output S3 location.

                              • Failed – This job has failed. Check the failure message for any further details. For further assistance, reach out to the Amazon Web ServicesSupport Center.

                              • Stopped – This job was stopped by a user.

                              • Stopping – This job is being stopped by a user.

                              " } }, "message": { @@ -11620,18 +11925,9 @@ "com.amazonaws.bedrock#ModelResource": { "type": "resource", "operations": [ - { - "target": "com.amazonaws.bedrock#DeleteCustomModel" - }, - { - "target": "com.amazonaws.bedrock#GetCustomModel" - }, { "target": "com.amazonaws.bedrock#GetFoundationModel" }, - { - "target": "com.amazonaws.bedrock#ListCustomModels" - }, { "target": "com.amazonaws.bedrock#ListFoundationModels" } @@ -11646,6 +11942,29 @@ "smithy.api#pattern": "arn:aws:sagemaker:.*:hub-content/SageMakerPublicHub/Model/.*" } }, + "com.amazonaws.bedrock#ModelStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Active" + } + }, + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Creating" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + } + } + }, "com.amazonaws.bedrock#NonBlankString": { "type": "string", "traits": { @@ -11929,7 +12248,7 @@ "textPromptTemplate": { "target": "com.amazonaws.bedrock#TextPromptTemplate", "traits": { - "smithy.api#documentation": "

                              The template for the prompt that's sent to the model for response generation. You can include \n prompt placeholders, which become replaced before the prompt is sent to the model to provide \n instructions and context to the model. In addition, you can include XML tags to delineate \n meaningful sections of the prompt template.

                              \n

                              For more information, see Knowledge base prompt template and \n Use XML tags with Anthropic Claude models.

                              " + "smithy.api#documentation": "

                              The template for the prompt that's sent to the model for response generation. You can include prompt placeholders, which become replaced before the prompt is sent to the model to provide instructions and context to the model. In addition, you can include XML tags to delineate meaningful sections of the prompt template.

                              For more information, see Knowledge base prompt template and Use XML tags with Anthropic Claude models.

                              " } } }, @@ -12087,7 +12406,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A summary of information about a Provisioned Throughput.

                              \n

                              This data type is used in the following API operations:

                              \n " + "smithy.api#documentation": "

                              A summary of information about a Provisioned Throughput.

                              This data type is used in the following API operations:

                              " } }, "com.amazonaws.bedrock#ProvisionedModelThroughputResource": { @@ -12336,7 +12655,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Registers an existing Amazon SageMaker endpoint with Amazon Bedrock Marketplace, allowing it to be used with\n Amazon Bedrock APIs.

                              ", + "smithy.api#documentation": "

                              Registers an existing Amazon SageMaker endpoint with Amazon Bedrock Marketplace, allowing it to be used with Amazon Bedrock APIs.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -12431,7 +12750,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Rules for filtering invocation logs. A filter can be a mapping of a metadata\n key to a value that it should or should not equal (a base filter), or a list of base filters\n that are all applied with AND or OR logical operators

                              " + "smithy.api#documentation": "

                              Rules for filtering invocation logs. A filter can be a mapping of a metadata key to a value that it should or should not equal (a base filter), or a list of base filters that are all applied with AND or OR logical operators

                              " } }, "com.amazonaws.bedrock#RequestMetadataFiltersList": { @@ -12495,84 +12814,84 @@ "equals": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose \n name matches the key and whose value matches the value in this object.

                              \n

                              The following example would return data sources with an animal attribute whose value is 'cat':\n \"equals\": { \"key\": \"animal\", \"value\": \"cat\" }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value matches the value in this object.

                              The following example would return data sources with an animal attribute whose value is 'cat': \"equals\": { \"key\": \"animal\", \"value\": \"cat\" }

                              " } }, "notEquals": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources that contain a metadata attribute whose name matches the key and whose value \n doesn't match the value in this object are returned.

                              \n

                              The following example would return data sources that don't contain an animal attribute whose value is 'cat': \n \"notEquals\": { \"key\": \"animal\", \"value\": \"cat\" }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources that contain a metadata attribute whose name matches the key and whose value doesn't match the value in this object are returned.

                              The following example would return data sources that don't contain an animal attribute whose value is 'cat': \"notEquals\": { \"key\": \"animal\", \"value\": \"cat\" }

                              " } }, "greaterThan": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name \n matches the key and whose value is greater than the value in this object.

                              \n

                              The following example would return data sources with an year attribute whose value is \n greater than '1989': \"greaterThan\": { \"key\": \"year\", \"value\": 1989 }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is greater than the value in this object.

                              The following example would return data sources with an year attribute whose value is greater than '1989': \"greaterThan\": { \"key\": \"year\", \"value\": 1989 }

                              " } }, "greaterThanOrEquals": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name \n matches the key and whose value is greater than or equal to the value in this object.

                              \n

                              The following example would return data sources with an year attribute whose value is \n greater than or equal to '1989': \"greaterThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is greater than or equal to the value in this object.

                              The following example would return data sources with an year attribute whose value is greater than or equal to '1989': \"greaterThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }

                              " } }, "lessThan": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the \n key and whose value is less than the value in this object.

                              \n

                              The following example would return data sources with an year attribute whose value is less than to '1989':\n \"lessThan\": { \"key\": \"year\", \"value\": 1989 }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is less than the value in this object.

                              The following example would return data sources with an year attribute whose value is less than to '1989': \"lessThan\": { \"key\": \"year\", \"value\": 1989 }

                              " } }, "lessThanOrEquals": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value is less than or equal to the value in this object.

                              \n

                              The following example would return data sources with an year attribute whose value is less than or equal \n to '1989': \"lessThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is less than or equal to the value in this object.

                              The following example would return data sources with an year attribute whose value is less than or equal to '1989': \"lessThanOrEquals\": { \"key\": \"year\", \"value\": 1989 }

                              " } }, "in": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose \n name matches the key and whose value is in the list specified in the value in this object.

                              \n

                              The following example would return data sources with an animal attribute that is either 'cat' or 'dog':\n \"in\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is in the list specified in the value in this object.

                              The following example would return data sources with an animal attribute that is either 'cat' or 'dog': \"in\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }

                              " } }, "notIn": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value isn't in the list specified in the value in this object.

                              \n

                              The following example would return data sources whose animal attribute is neither 'cat' nor 'dog':\n \"notIn\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value isn't in the list specified in the value in this object.

                              The following example would return data sources whose animal attribute is neither 'cat' nor 'dog': \"notIn\": { \"key\": \"animal\", \"value\": [\"cat\", \"dog\"] }

                              " } }, "startsWith": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value starts with the value in this object. This filter is currently only supported for \n Amazon OpenSearch Serverless vector stores.

                              \n

                              The following example would return data sources with an animal attribute starts with 'ca' (for example, 'cat' or 'camel').\n \"startsWith\": { \"key\": \"animal\", \"value\": \"ca\" }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value starts with the value in this object. This filter is currently only supported for Amazon OpenSearch Serverless vector stores.

                              The following example would return data sources with an animal attribute starts with 'ca' (for example, 'cat' or 'camel'). \"startsWith\": { \"key\": \"animal\", \"value\": \"ca\" }

                              " } }, "listContains": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value is a list that contains the value as one of its members.

                              \n

                              The following example would return data sources with an animals attribute that is a list containing a cat \n member (for example, [\"dog\", \"cat\"]): \"listContains\": { \"key\": \"animals\", \"value\": \"cat\" }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is a list that contains the value as one of its members.

                              The following example would return data sources with an animals attribute that is a list containing a cat member (for example, [\"dog\", \"cat\"]): \"listContains\": { \"key\": \"animals\", \"value\": \"cat\" }

                              " } }, "stringContains": { "target": "com.amazonaws.bedrock#FilterAttribute", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key \n and whose value is one of the following:

                              \n

                              A string that contains the value as a substring. The following example would return data sources with an \n animal attribute that contains the substring at (for example, 'cat'): \n \"stringContains\": { \"key\": \"animal\", \"value\": \"at\" }\n

                              \n

                              A list with a member that contains the value as a substring. The following example would return data \n sources with an animals attribute that is a list containing a member that contains the substring at \n (for example, [\"dog\", \"cat\"]): \"stringContains\": { \"key\": \"animals\", \"value\": \"at\" }\n

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if they contain a metadata attribute whose name matches the key and whose value is one of the following:

                              A string that contains the value as a substring. The following example would return data sources with an animal attribute that contains the substring at (for example, 'cat'): \"stringContains\": { \"key\": \"animal\", \"value\": \"at\" }

                              A list with a member that contains the value as a substring. The following example would return data sources with an animals attribute that is a list containing a member that contains the substring at (for example, [\"dog\", \"cat\"]): \"stringContains\": { \"key\": \"animals\", \"value\": \"at\" }

                              " } }, "andAll": { "target": "com.amazonaws.bedrock#RetrievalFilterList", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if their metadata attributes fulfill all the \n filter conditions inside this list.

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if their metadata attributes fulfill all the filter conditions inside this list.

                              " } }, "orAll": { "target": "com.amazonaws.bedrock#RetrievalFilterList", "traits": { - "smithy.api#documentation": "

                              Knowledge base data sources are returned if their metadata attributes fulfill at least one of the filter \n conditions inside this list.

                              " + "smithy.api#documentation": "

                              Knowledge base data sources are returned if their metadata attributes fulfill at least one of the filter conditions inside this list.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Specifies the filters to use on the metadata attributes/fields in the knowledge base data \n sources before returning results.

                              ", + "smithy.api#documentation": "

                              Specifies the filters to use on the metadata attributes/fields in the knowledge base data sources before returning results.

                              ", "smithy.api#sensitive": {} } }, @@ -12593,7 +12912,7 @@ "type": { "target": "com.amazonaws.bedrock#RetrieveAndGenerateType", "traits": { - "smithy.api#documentation": "

                              The type of resource that contains your data for retrieving information and generating responses.

                              \n

                              If you choose to use EXTERNAL_SOURCES, then currently only Claude 3 Sonnet models for knowledge bases are supported.

                              ", + "smithy.api#documentation": "

                              The type of resource that contains your data for retrieving information and generating responses.

                              If you choose to use EXTERNAL_SOURCES, then currently only Claude 3 Sonnet models for knowledge bases are supported.

                              ", "smithy.api#required": {} } }, @@ -12606,7 +12925,7 @@ "externalSourcesConfiguration": { "target": "com.amazonaws.bedrock#ExternalSourcesRetrieveAndGenerateConfiguration", "traits": { - "smithy.api#documentation": "

                              The configuration for the external source wrapper object in the \n retrieveAndGenerate function.

                              " + "smithy.api#documentation": "

                              The configuration for the external source wrapper object in the retrieveAndGenerate function.

                              " } } }, @@ -12715,7 +13034,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The Amazon S3 data source of the imported job.

                              " + "smithy.api#documentation": "

                              The Amazon S3 data source of the model to import.

                              " } }, "com.amazonaws.bedrock#S3InputFormat": { @@ -12760,7 +13079,7 @@ "initialInstanceCount": { "target": "com.amazonaws.bedrock#InstanceCount", "traits": { - "smithy.api#documentation": "

                              The number of Amazon EC2 compute instances to deploy for initial endpoint\n creation.

                              ", + "smithy.api#documentation": "

                              The number of Amazon EC2 compute instances to deploy for initial endpoint creation.

                              ", "smithy.api#required": {} } }, @@ -12774,14 +13093,14 @@ "executionRole": { "target": "com.amazonaws.bedrock#RoleArn", "traits": { - "smithy.api#documentation": "

                              The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts\n and docker image for deployment on Amazon EC2 compute instances or for batch\n transform jobs.

                              ", + "smithy.api#documentation": "

                              The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on Amazon EC2 compute instances or for batch transform jobs.

                              ", "smithy.api#required": {} } }, "kmsEncryptionKey": { "target": "com.amazonaws.bedrock#KmsKeyId", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services KMS key that Amazon SageMaker uses to encrypt data on the storage volume\n attached to the Amazon EC2 compute instance that hosts the endpoint.

                              " + "smithy.api#documentation": "

                              The Amazon Web Services KMS key that Amazon SageMaker uses to encrypt data on the storage volume attached to the Amazon EC2 compute instance that hosts the endpoint.

                              " } }, "vpc": { @@ -12958,7 +13277,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              For a Distillation job, the status details for sub-tasks of the job. Possible statuses for each sub-task include the following:

                              \n
                                \n
                              • \n

                                NotStarted

                                \n
                              • \n
                              • \n

                                InProgress

                                \n
                              • \n
                              • \n

                                Completed

                                \n
                              • \n
                              • \n

                                Stopping

                                \n
                              • \n
                              • \n

                                Stopped

                                \n
                              • \n
                              • \n

                                Failed

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              For a Distillation job, the status details for sub-tasks of the job. Possible statuses for each sub-task include the following:

                              • NotStarted

                              • InProgress

                              • Completed

                              • Stopping

                              • Stopped

                              • Failed

                              " } }, "com.amazonaws.bedrock#StopEvaluationJob": { @@ -13251,7 +13570,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Associate tags with a resource. For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Associate tags with a resource. For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -13305,7 +13624,7 @@ "min": 20, "max": 1011 }, - "smithy.api#pattern": "(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:automated-reasoning-policy/[a-zA-Z0-9]+(:[a-zA-Z0-9]+)?$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model|async-invoke|provisioned-model-v2|provisioned-model-reservation|prompt-router)/[a-z0-9]{12}$)))" + "smithy.api#pattern": "(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/([a-z0-9-]{1,63}[.][a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?|imported)/[a-z0-9]{12}$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:guardrail/[a-z0-9]+$)|(:automated-reasoning-policy/[a-zA-Z0-9]+(:[a-zA-Z0-9]+)?$)|(:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model|async-invoke|provisioned-model-v2|provisioned-model-reservation|prompt-router|custom-model-deployment)/[a-z0-9]{12}$)))" } }, "com.amazonaws.bedrock#TaggingResource": { @@ -13364,30 +13683,30 @@ "temperature": { "target": "com.amazonaws.bedrock#Temperature", "traits": { - "smithy.api#documentation": "

                              Controls the random-ness of text generated by the language model, influencing how \n much the model sticks to the most predictable next words versus exploring more \n surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs \n more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes \n the outputs more creative or unpredictable.

                              " + "smithy.api#documentation": "

                              Controls the random-ness of text generated by the language model, influencing how much the model sticks to the most predictable next words versus exploring more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model outputs more deterministic or predictable, while a higher temperature (e.g. 0.8 or 0.9) makes the outputs more creative or unpredictable.

                              " } }, "topP": { "target": "com.amazonaws.bedrock#TopP", "traits": { - "smithy.api#documentation": "

                              A probability distribution threshold which controls what the model considers for \n the set of possible next tokens. The model will only consider the top p% of the \n probability distribution when generating the next token.

                              " + "smithy.api#documentation": "

                              A probability distribution threshold which controls what the model considers for the set of possible next tokens. The model will only consider the top p% of the probability distribution when generating the next token.

                              " } }, "maxTokens": { "target": "com.amazonaws.bedrock#MaxTokens", "traits": { - "smithy.api#documentation": "

                              The maximum number of tokens to generate in the output text. Do not use the minimum of 0 \n or the maximum of 65536. The limit values described here are arbitrary values, for actual \n values consult the limits defined by your specific model.

                              " + "smithy.api#documentation": "

                              The maximum number of tokens to generate in the output text. Do not use the minimum of 0 or the maximum of 65536. The limit values described here are arbitrary values, for actual values consult the limits defined by your specific model.

                              " } }, "stopSequences": { "target": "com.amazonaws.bedrock#RAGStopSequences", "traits": { - "smithy.api#documentation": "

                              A list of sequences of characters that, if generated, will cause the model to stop \n generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. \n The limit values described here are arbitrary values, for actual values consult the \n limits defined by your specific model.

                              " + "smithy.api#documentation": "

                              A list of sequences of characters that, if generated, will cause the model to stop generating further tokens. Do not use a minimum length of 1 or a maximum length of 1000. The limit values described here are arbitrary values, for actual values consult the limits defined by your specific model.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The configuration details for text generation using a language model via the \n RetrieveAndGenerate function.

                              " + "smithy.api#documentation": "

                              The configuration details for text generation using a language model via the RetrieveAndGenerate function.

                              " } }, "com.amazonaws.bedrock#TextPromptTemplate": { @@ -13433,7 +13752,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The request contains more tags than can be associated with a resource (50 tags per resource). \n The maximum number of tags includes both existing tags and those included in your current request.

                              ", + "smithy.api#documentation": "

                              The request contains more tags than can be associated with a resource (50 tags per resource). The maximum number of tags includes both existing tags and those included in your current request.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -13550,7 +13869,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Remove one or more tags from a resource. For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              ", + "smithy.api#documentation": "

                              Remove one or more tags from a resource. For more information, see Tagging resources in the Amazon Bedrock User Guide.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -13619,7 +13938,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates a guardrail with the values you specify.

                              \n
                                \n
                              • \n

                                Specify a name and optional description.

                                \n
                              • \n
                              • \n

                                Specify messages for when the guardrail successfully blocks a prompt or a model response in the blockedInputMessaging and blockedOutputsMessaging fields.

                                \n
                              • \n
                              • \n

                                Specify topics for the guardrail to deny in the topicPolicyConfig object. Each GuardrailTopicConfig object in the topicsConfig list pertains to one topic.

                                \n
                                  \n
                                • \n

                                  Give a name and description so that the guardrail can properly identify the topic.

                                  \n
                                • \n
                                • \n

                                  Specify DENY in the type field.

                                  \n
                                • \n
                                • \n

                                  (Optional) Provide up to five prompts that you would categorize as belonging to the topic in the examples list.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Specify filter strengths for the harmful categories defined in Amazon Bedrock in the contentPolicyConfig object. Each GuardrailContentFilterConfig object in the filtersConfig list pertains to a harmful category. For more information, see Content filters. For more information about the fields in a content filter, see GuardrailContentFilterConfig.

                                \n
                                  \n
                                • \n

                                  Specify the category in the type field.

                                  \n
                                • \n
                                • \n

                                  Specify the strength of the filter for prompts in the inputStrength field and for model responses in the strength field of the GuardrailContentFilterConfig.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                (Optional) For security, include the ARN of a KMS key in the kmsKeyId field.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Updates a guardrail with the values you specify.

                              • Specify a name and optional description.

                              • Specify messages for when the guardrail successfully blocks a prompt or a model response in the blockedInputMessaging and blockedOutputsMessaging fields.

                              • Specify topics for the guardrail to deny in the topicPolicyConfig object. Each GuardrailTopicConfig object in the topicsConfig list pertains to one topic.

                                • Give a name and description so that the guardrail can properly identify the topic.

                                • Specify DENY in the type field.

                                • (Optional) Provide up to five prompts that you would categorize as belonging to the topic in the examples list.

                              • Specify filter strengths for the harmful categories defined in Amazon Bedrock in the contentPolicyConfig object. Each GuardrailContentFilterConfig object in the filtersConfig list pertains to a harmful category. For more information, see Content filters. For more information about the fields in a content filter, see GuardrailContentFilterConfig.

                                • Specify the category in the type field.

                                • Specify the strength of the filter for prompts in the inputStrength field and for model responses in the strength field of the GuardrailContentFilterConfig.

                              • (Optional) For security, include the ARN of a KMS key in the kmsKeyId field.

                              ", "smithy.api#http": { "code": 202, "method": "PUT", @@ -13634,7 +13953,7 @@ "guardrailIdentifier": { "target": "com.amazonaws.bedrock#GuardrailIdentifier", "traits": { - "smithy.api#documentation": "

                              The unique identifier of the guardrail. This can be an ID or the ARN.

                              ", + "smithy.api#documentation": "

                              The unique identifier of the guardrail. This can be an ID or the ARN.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -13685,7 +14004,7 @@ "crossRegionConfig": { "target": "com.amazonaws.bedrock#GuardrailCrossRegionConfig", "traits": { - "smithy.api#documentation": "

                              The system-defined guardrail profile that you're using with your guardrail. Guardrail profiles define the destination Amazon Web Services Regions where guardrail inference requests can be automatically routed.

                              \n

                              For more information, see the Amazon Bedrock User Guide.

                              " + "smithy.api#documentation": "

                              The system-defined guardrail profile that you're using with your guardrail. Guardrail profiles define the destination Amazon Web Services Regions where guardrail inference requests can be automatically routed.

                              For more information, see the Amazon Bedrock User Guide.

                              " } }, "blockedInputMessaging": { @@ -13781,7 +14100,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates the configuration of an existing endpoint for a model from Amazon Bedrock\n Marketplace.

                              ", + "smithy.api#documentation": "

                              Updates the configuration of an existing endpoint for a model from Amazon Bedrock Marketplace.

                              ", "smithy.api#http": { "code": 200, "method": "PATCH", @@ -13803,14 +14122,14 @@ "endpointConfig": { "target": "com.amazonaws.bedrock#EndpointConfig", "traits": { - "smithy.api#documentation": "

                              The new configuration for the endpoint, including the number and type of instances to\n use.

                              ", + "smithy.api#documentation": "

                              The new configuration for the endpoint, including the number and type of instances to use.

                              ", "smithy.api#required": {} } }, "clientRequestToken": { "target": "com.amazonaws.bedrock#IdempotencyToken", "traits": { - "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. This token is listed as not required because Amazon Web Services SDKs\n automatically generate it for you and set this parameter. If you're not using the\n Amazon Web Services SDK or the CLI, you must provide this token or the\n action will fail.

                              ", + "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is listed as not required because Amazon Web Services SDKs automatically generate it for you and set this parameter. If you're not using the Amazon Web Services SDK or the CLI, you must provide this token or the action will fail.

                              ", "smithy.api#idempotencyToken": {} } } @@ -13889,7 +14208,7 @@ "desiredModelId": { "target": "com.amazonaws.bedrock#ModelIdentifier", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the new model to associate with this Provisioned Throughput. You can't specify this field if this Provisioned Throughput is associated with a base model.

                              \n

                              If this Provisioned Throughput is associated with a custom model, you can specify one of the following options:

                              \n
                                \n
                              • \n

                                The base model from which the custom model was customized.

                                \n
                              • \n
                              • \n

                                Another custom model that was customized from the same base model as the custom model.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the new model to associate with this Provisioned Throughput. You can't specify this field if this Provisioned Throughput is associated with a base model.

                              If this Provisioned Throughput is associated with a custom model, you can specify one of the following options:

                              • The base model from which the custom model was customized.

                              • Another custom model that was customized from the same base model as the custom model.

                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json b/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json index 783f7afd5c5..64732430d60 100644 --- a/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json +++ b/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json @@ -4178,6 +4178,41 @@ "smithy.api#default": 0 } }, + "com.amazonaws.cloudwatchlogs#EventSource": { + "type": "enum", + "members": { + "CLOUD_TRAIL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CloudTrail" + } + }, + "ROUTE53_RESOLVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Route53Resolver" + } + }, + "VPC_FLOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VPCFlow" + } + }, + "EKS_AUDIT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EKSAudit" + } + }, + "AWSWAF": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWSWAF" + } + } + } + }, "com.amazonaws.cloudwatchlogs#EventsLimit": { "type": "integer", "traits": { @@ -8642,6 +8677,17 @@ } } }, + "com.amazonaws.cloudwatchlogs#OCSFVersion": { + "type": "enum", + "members": { + "V1_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "V1.1" + } + } + } + }, "com.amazonaws.cloudwatchlogs#OpenSearchApplication": { "type": "structure", "members": { @@ -9241,6 +9287,34 @@ "smithy.api#documentation": "

                              Use this processor to parse Route 53 vended logs, extract fields, and and convert them into a JSON format. This processor always\n processes the entire log event message.\n For more information about this processor including examples, see \n parseRoute53.

                              \n \n

                              If you use this processor, it must be the first processor in your transformer.

                              \n
                              " } }, + "com.amazonaws.cloudwatchlogs#ParseToOCSF": { + "type": "structure", + "members": { + "source": { + "target": "com.amazonaws.cloudwatchlogs#Source", + "traits": { + "smithy.api#documentation": "

                              The path to the field in the log event that you want to parse. If you omit this value, the whole log message is parsed.

                              " + } + }, + "eventSource": { + "target": "com.amazonaws.cloudwatchlogs#EventSource", + "traits": { + "smithy.api#documentation": "

                              Specify the service or process that produces the log events that will be converted with this processor.

                              ", + "smithy.api#required": {} + } + }, + "ocsfVersion": { + "target": "com.amazonaws.cloudwatchlogs#OCSFVersion", + "traits": { + "smithy.api#documentation": "

                              Specify which version of the OCSF schema to use for the transformed log events.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              This processor converts logs into Open Cybersecurity Schema Framework (OCSF) events.

                              \n

                              For more information about this processor including examples, see \n parseToOSCF in the CloudWatch Logs User Guide.

                              " + } + }, "com.amazonaws.cloudwatchlogs#ParseVPC": { "type": "structure", "members": { @@ -9502,6 +9576,12 @@ "smithy.api#documentation": "

                              Use this parameter to include the \n parseRoute53 processor in your transformer.

                              \n

                              If you use this processor, it must be the first processor in your transformer.

                              " } }, + "parseToOCSF": { + "target": "com.amazonaws.cloudwatchlogs#ParseToOCSF", + "traits": { + "smithy.api#documentation": "

                              Use this processor to convert logs into Open Cybersecurity Schema Framework (OCSF) format

                              " + } + }, "parsePostgres": { "target": "com.amazonaws.cloudwatchlogs#ParsePostgres", "traits": { @@ -9925,7 +10005,7 @@ "logType": { "target": "com.amazonaws.cloudwatchlogs#LogType", "traits": { - "smithy.api#documentation": "

                              Defines the type of log that the source is sending.

                              \n
                                \n
                              • \n

                                For Amazon Bedrock, the valid value is \n APPLICATION_LOGS.

                                \n
                              • \n
                              • \n

                                For CloudFront, the valid value is \n ACCESS_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon CodeWhisperer, the valid value is \n EVENT_LOGS.

                                \n
                              • \n
                              • \n

                                For Elemental MediaPackage, the valid values are \n EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

                                \n
                              • \n
                              • \n

                                For Elemental MediaTailor, the valid values are \n AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

                                \n
                              • \n
                              • \n

                                For IAM Identity Center, the valid value is \n ERROR_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon Q, the valid value is \n EVENT_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon SES mail manager, the valid value is \n APPLICATION_LOG.

                                \n
                              • \n
                              • \n

                                For Amazon WorkMail, the valid values are \n ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, \n and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Defines the type of log that the source is sending.

                              \n
                                \n
                              • \n

                                For Amazon Bedrock, the valid value is \n APPLICATION_LOGS.

                                \n
                              • \n
                              • \n

                                For CloudFront, the valid value is \n ACCESS_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon CodeWhisperer, the valid value is \n EVENT_LOGS.

                                \n
                              • \n
                              • \n

                                For Elemental MediaPackage, the valid values are \n EGRESS_ACCESS_LOGS and INGRESS_ACCESS_LOGS.

                                \n
                              • \n
                              • \n

                                For Elemental MediaTailor, the valid values are \n AD_DECISION_SERVER_LOGS, MANIFEST_SERVICE_LOGS, and TRANSCODE_LOGS.

                                \n
                              • \n
                              • \n

                                For Entity Resolution, the valid value is \n WORKFLOW_LOGS.

                                \n
                              • \n
                              • \n

                                For IAM Identity Center, the valid value is \n ERROR_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon Q, the valid value is \n EVENT_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon SES mail manager, the valid values are \n APPLICATION_LOG and TRAFFIC_POLICY_DEBUG_LOGS.

                                \n
                              • \n
                              • \n

                                For Amazon WorkMail, the valid values are \n ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, WORKMAIL_MAILBOX_ACCESS_LOGS, \n and WORKMAIL_PERSONAL_ACCESS_TOKEN_LOGS.

                                \n
                              • \n
                              ", "smithy.api#required": {} } }, @@ -10246,7 +10326,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Uploads a batch of log events to the specified log stream.

                              \n \n

                              The sequence token is now ignored in PutLogEvents\n actions. PutLogEvents\n actions are always accepted and never return InvalidSequenceTokenException or\n DataAlreadyAcceptedException even if the sequence token is not valid. You can use\n parallel PutLogEvents actions on the same log stream.

                              \n
                              \n

                              The batch of events must satisfy the following constraints:

                              \n
                                \n
                              • \n

                                The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of\n all event messages in UTF-8, plus 26 bytes for each log event.

                                \n
                              • \n
                              • \n

                                None of the log events in the batch can be more than 2 hours in the future.

                                \n
                              • \n
                              • \n

                                None of the log events in the batch can be more than 14 days in the past. Also,\n none of the log events can be from earlier than the retention period of the log\n group.

                                \n
                              • \n
                              • \n

                                The log events in the batch must be in chronological order by their timestamp. The\n timestamp is the time that the event occurred, expressed as the number of milliseconds\n after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell\n and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format:\n yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

                                \n
                              • \n
                              • \n

                                A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

                                \n
                              • \n
                              • \n

                                Each log event can be no larger than 1 MB.

                                \n
                              • \n
                              • \n

                                The maximum number of log events in a batch is 10,000.

                                \n
                              • \n
                              • \n \n

                                The quota of five requests per second per log stream\n has been removed. Instead, PutLogEvents actions are throttled based on a \n per-second per-account quota. You can request an increase to the per-second throttling\n quota by using the Service Quotas service.

                                \n
                                \n
                              • \n
                              \n

                              If a call to PutLogEvents returns \"UnrecognizedClientException\" the most\n likely cause is a non-valid Amazon Web Services access key ID or secret key.

                              " + "smithy.api#documentation": "

                              Uploads a batch of log events to the specified log stream.

                              \n \n

                              The sequence token is now ignored in PutLogEvents\n actions. PutLogEvents\n actions are always accepted and never return InvalidSequenceTokenException or\n DataAlreadyAcceptedException even if the sequence token is not valid. You can use\n parallel PutLogEvents actions on the same log stream.

                              \n
                              \n

                              The batch of events must satisfy the following constraints:

                              \n
                                \n
                              • \n

                                The maximum batch size is 1,048,576 bytes. This size is calculated as the sum of\n all event messages in UTF-8, plus 26 bytes for each log event.

                                \n
                              • \n
                              • \n

                                Events more than 2 hours in the future are rejected while processing remaining valid events.

                                \n
                              • \n
                              • \n

                                Events older than 14 days or preceding the log group's retention period are rejected while processing remaining valid events.

                                \n
                              • \n
                              • \n

                                The log events in the batch must be in chronological order by their timestamp. The\n timestamp is the time that the event occurred, expressed as the number of milliseconds\n after Jan 1, 1970 00:00:00 UTC. (In Amazon Web Services Tools for PowerShell\n and the Amazon Web Services SDK for .NET, the timestamp is specified in .NET format:\n yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

                                \n
                              • \n
                              • \n

                                A batch of log events in a single request must be in a chronological order. Otherwise, the operation fails.

                                \n
                              • \n
                              • \n

                                Each log event can be no larger than 1 MB.

                                \n
                              • \n
                              • \n

                                The maximum number of log events in a batch is 10,000.

                                \n
                              • \n
                              • \n

                                For valid events (within 14 days in the past to 2 hours in future), the time span in a single batch cannot exceed 24 hours. Otherwise, the operation fails.

                                \n
                              • \n
                              \n \n

                              The quota of five requests per second per log stream\n has been removed. Instead, PutLogEvents actions are throttled based on a \n per-second per-account quota. You can request an increase to the per-second throttling\n quota by using the Service Quotas service.

                              \n
                              \n

                              If a call to PutLogEvents returns \"UnrecognizedClientException\" the most\n likely cause is a non-valid Amazon Web Services access key ID or secret key.

                              " } }, "com.amazonaws.cloudwatchlogs#PutLogEventsRequest": { diff --git a/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json b/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json index e6aa863c930..ba4ac1f13de 100644 --- a/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json +++ b/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json @@ -70,6 +70,9 @@ { "target": "com.amazonaws.connectcampaignsv2#GetConnectInstanceConfig" }, + { + "target": "com.amazonaws.connectcampaignsv2#GetInstanceCommunicationLimits" + }, { "target": "com.amazonaws.connectcampaignsv2#GetInstanceOnboardingJobStatus" }, @@ -88,6 +91,9 @@ { "target": "com.amazonaws.connectcampaignsv2#PutConnectInstanceIntegration" }, + { + "target": "com.amazonaws.connectcampaignsv2#PutInstanceCommunicationLimits" + }, { "target": "com.amazonaws.connectcampaignsv2#PutOutboundRequestBatch" }, @@ -1289,6 +1295,9 @@ "members": { "allChannelSubtypes": { "target": "com.amazonaws.connectcampaignsv2#CommunicationLimits" + }, + "instanceLimitsHandling": { + "target": "com.amazonaws.connectcampaignsv2#InstanceLimitsHandling" } }, "traits": { @@ -2563,6 +2572,65 @@ "smithy.api#output": {} } }, + "com.amazonaws.connectcampaignsv2#GetInstanceCommunicationLimits": { + "type": "operation", + "input": { + "target": "com.amazonaws.connectcampaignsv2#GetInstanceCommunicationLimitsRequest" + }, + "output": { + "target": "com.amazonaws.connectcampaignsv2#GetInstanceCommunicationLimitsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connectcampaignsv2#AccessDeniedException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#InternalServerException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Get the instance communication limits.", + "smithy.api#http": { + "uri": "/v2/connect-instance/{connectInstanceId}/communication-limits", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.connectcampaignsv2#GetInstanceCommunicationLimitsRequest": { + "type": "structure", + "members": { + "connectInstanceId": { + "target": "com.amazonaws.connectcampaignsv2#InstanceId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request for GetInstanceCommunicationLimits API.", + "smithy.api#input": {} + } + }, + "com.amazonaws.connectcampaignsv2#GetInstanceCommunicationLimitsResponse": { + "type": "structure", + "members": { + "communicationLimitsConfig": { + "target": "com.amazonaws.connectcampaignsv2#InstanceCommunicationLimitsConfig" + } + }, + "traits": { + "smithy.api#documentation": "The response for GetInstanceCommunicationLimits API.", + "smithy.api#output": {} + } + }, "com.amazonaws.connectcampaignsv2#GetInstanceOnboardingJobStatus": { "type": "operation", "input": { @@ -2622,6 +2690,17 @@ "smithy.api#output": {} } }, + "com.amazonaws.connectcampaignsv2#InstanceCommunicationLimitsConfig": { + "type": "structure", + "members": { + "allChannelSubtypes": { + "target": "com.amazonaws.connectcampaignsv2#CommunicationLimits" + } + }, + "traits": { + "smithy.api#documentation": "Instance Communication limits config" + } + }, "com.amazonaws.connectcampaignsv2#InstanceConfig": { "type": "structure", "members": { @@ -2692,6 +2771,22 @@ ] } }, + "com.amazonaws.connectcampaignsv2#InstanceLimitsHandling": { + "type": "string", + "traits": { + "smithy.api#documentation": "Instance limits handling", + "smithy.api#enum": [ + { + "value": "OPT_IN", + "name": "OPT_IN" + }, + { + "value": "OPT_OUT", + "name": "OPT_OUT" + } + ] + } + }, "com.amazonaws.connectcampaignsv2#InstanceOnboardingJobFailureCode": { "type": "string", "traits": { @@ -3096,8 +3191,7 @@ "smithy.api#http": { "uri": "/v2/tags/{arn}", "method": "GET" - }, - "smithy.api#readonly": {} + } } }, "com.amazonaws.connectcampaignsv2#ListTagsForResourceRequest": { @@ -3488,6 +3582,62 @@ "smithy.api#input": {} } }, + "com.amazonaws.connectcampaignsv2#PutInstanceCommunicationLimits": { + "type": "operation", + "input": { + "target": "com.amazonaws.connectcampaignsv2#PutInstanceCommunicationLimitsRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.connectcampaignsv2#AccessDeniedException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ConflictException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#InternalServerException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connectcampaignsv2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "Put the instance communication limits. This API is idempotent.", + "smithy.api#http": { + "uri": "/v2/connect-instance/{connectInstanceId}/communication-limits", + "method": "PUT" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.connectcampaignsv2#PutInstanceCommunicationLimitsRequest": { + "type": "structure", + "members": { + "connectInstanceId": { + "target": "com.amazonaws.connectcampaignsv2#InstanceId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "communicationLimitsConfig": { + "target": "com.amazonaws.connectcampaignsv2#InstanceCommunicationLimitsConfig", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request for PutInstanceCommunicationLimits API.", + "smithy.api#input": {} + } + }, "com.amazonaws.connectcampaignsv2#PutOutboundRequestBatch": { "type": "operation", "input": { diff --git a/tools/code-generation/smithy/api-descriptions/controlcatalog.json b/tools/code-generation/smithy/api-descriptions/controlcatalog.json index e29b1fb745f..b27abeff5f2 100644 --- a/tools/code-generation/smithy/api-descriptions/controlcatalog.json +++ b/tools/code-generation/smithy/api-descriptions/controlcatalog.json @@ -64,13 +64,25 @@ "smithy.api#pattern": "^arn:(aws(?:[-a-z]*)?):controlcatalog:::common-control/[0-9a-z]+$" } }, + "com.amazonaws.controlcatalog#CommonControlArnFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#CommonControlArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.controlcatalog#CommonControlFilter": { "type": "structure", "members": { "Objectives": { "target": "com.amazonaws.controlcatalog#ObjectiveResourceFilterList", "traits": { - "smithy.api#documentation": "

                              The objective that's used as filter criteria.

                              \n

                              You can use this parameter to specify one objective ARN at a time. Passing multiple ARNs\n in the CommonControlFilter isn’t currently supported.

                              " + "smithy.api#documentation": "

                              The objective that's used as filter criteria.

                              You can use this parameter to specify one objective ARN at a time. Passing multiple ARNs in the CommonControlFilter isn’t supported.

                              " } } }, @@ -78,6 +90,21 @@ "smithy.api#documentation": "

                              An optional filter that narrows the results to a specific objective.

                              " } }, + "com.amazonaws.controlcatalog#CommonControlMappingDetails": { + "type": "structure", + "members": { + "CommonControlArn": { + "target": "com.amazonaws.controlcatalog#CommonControlArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that identifies the common control in the mapping.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that contains details about a common control mapping. In particular, it returns the Amazon Resource Name (ARN) of the common control.

                              " + } + }, "com.amazonaws.controlcatalog#CommonControlResource": { "type": "resource", "identifiers": { @@ -163,6 +190,18 @@ "target": "com.amazonaws.controlcatalog#CommonControlSummary" } }, + "com.amazonaws.controlcatalog#ControlAlias": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9_.-]{0,254}[a-zA-Z0-9])$" + } + }, + "com.amazonaws.controlcatalog#ControlAliases": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#ControlAlias" + } + }, "com.amazonaws.controlcatalog#ControlArn": { "type": "string", "traits": { @@ -173,6 +212,18 @@ "smithy.api#pattern": "^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\-]+$" } }, + "com.amazonaws.controlcatalog#ControlArnFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#ControlArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.controlcatalog#ControlBehavior": { "type": "enum", "members": { @@ -199,6 +250,11 @@ "com.amazonaws.controlcatalog#ControlCatalog": { "type": "service", "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.controlcatalog#ListControlMappings" + } + ], "resources": [ { "target": "com.amazonaws.controlcatalog#CommonControlResource" @@ -249,7 +305,7 @@ "X-Amzn-Trace-Id" ] }, - "smithy.api#documentation": "

                              Welcome to the Amazon Web Services Control Catalog API reference. This guide is for \n developers who need detailed information about how to programmatically identify and filter \n the common controls and related metadata that are available to Amazon Web Services customers. This API reference provides \n descriptions, syntax, and usage examples for each of the actions and data types that are \n supported by Amazon Web Services Control Catalog.

                              \n

                              Use the following links to get started with the Amazon Web Services Control Catalog API:

                              \n
                                \n
                              • \n

                                \n Actions: An\n alphabetical list of all Control Catalog API operations.

                                \n
                              • \n
                              • \n

                                \n Data types: An\n alphabetical list of all Control Catalog data types.

                                \n
                              • \n
                              • \n

                                \n Common\n parameters: Parameters that all operations can use.

                                \n
                              • \n
                              • \n

                                \n Common errors:\n Client and server errors that all operations can return.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Welcome to the Control Catalog API reference. This guide is for developers who need detailed information about how to programmatically identify and filter the common controls and related metadata that are available to Amazon Web Services customers. This API reference provides descriptions, syntax, and usage examples for each of the actions and data types that are supported by Control Catalog.

                              Use the following links to get started with the Control Catalog API:

                              • Actions: An alphabetical list of all Control Catalog API operations.

                              • Data types: An alphabetical list of all Control Catalog data types.

                              • Common parameters: Parameters that all operations can use.

                              • Common errors: Client and server errors that all operations can return.

                              ", "smithy.api#title": "AWS Control Catalog", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -917,19 +973,94 @@ } } }, + "com.amazonaws.controlcatalog#ControlFilter": { + "type": "structure", + "members": { + "Implementations": { + "target": "com.amazonaws.controlcatalog#ImplementationFilter", + "traits": { + "smithy.api#documentation": "

                              A filter that narrows the results to controls with specific implementation types or identifiers. This field allows you to find controls that are implemented by specific Amazon Web Services services or with specific service identifiers.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that defines filtering criteria for the ListControls operation. You can use this filter to narrow down the list of controls based on their implementation details.

                              " + } + }, + "com.amazonaws.controlcatalog#ControlMapping": { + "type": "structure", + "members": { + "ControlArn": { + "target": "com.amazonaws.controlcatalog#ControlArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that identifies the control in the mapping.

                              ", + "smithy.api#required": {} + } + }, + "MappingType": { + "target": "com.amazonaws.controlcatalog#MappingType", + "traits": { + "smithy.api#documentation": "

                              The type of mapping relationship between the control and other entities. Indicates whether the mapping is to a framework or common control.

                              ", + "smithy.api#required": {} + } + }, + "Mapping": { + "target": "com.amazonaws.controlcatalog#Mapping", + "traits": { + "smithy.api#documentation": "

                              The details of the mapping relationship, containing either framework or common control information.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that contains information about a control mapping, including the control ARN, mapping type, and mapping details.

                              " + } + }, + "com.amazonaws.controlcatalog#ControlMappingFilter": { + "type": "structure", + "members": { + "ControlArns": { + "target": "com.amazonaws.controlcatalog#ControlArnFilterList", + "traits": { + "smithy.api#documentation": "

                              A list of control ARNs to filter the mappings. When specified, only mappings associated with these controls are returned.

                              " + } + }, + "CommonControlArns": { + "target": "com.amazonaws.controlcatalog#CommonControlArnFilterList", + "traits": { + "smithy.api#documentation": "

                              A list of common control ARNs to filter the mappings. When specified, only mappings associated with these common controls are returned.

                              " + } + }, + "MappingTypes": { + "target": "com.amazonaws.controlcatalog#MappingTypeFilterList", + "traits": { + "smithy.api#documentation": "

                              A list of mapping types to filter the mappings. When specified, only mappings of these types are returned.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that defines filtering criteria for the ListControlMappings operation. You can use this filter to narrow down the list of control mappings based on control ARNs, common control ARNs, or mapping types.

                              " + } + }, + "com.amazonaws.controlcatalog#ControlMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#ControlMapping" + } + }, "com.amazonaws.controlcatalog#ControlParameter": { "type": "structure", "members": { "Name": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The parameter name. This name is the parameter key when you call \n EnableControl\n or \n UpdateEnabledControl\n .

                              ", + "smithy.api#documentation": "

                              The parameter name. This name is the parameter key when you call EnableControl or UpdateEnabledControl .

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              Five types of control parameters are supported.

                              \n
                                \n
                              • \n

                                \n AllowedRegions: List of Amazon Web Services Regions exempted from the\n control. Each string is expected to be an Amazon Web Services Region code. This parameter is mandatory for the OU Region deny control, CT.MULTISERVICE.PV.1.

                                \n

                                Example: [\"us-east-1\",\"us-west-2\"]\n

                                \n
                              • \n
                              • \n

                                \n ExemptedActions: List of Amazon Web Services IAM actions exempted\n from the control. Each string is expected to be an IAM action.

                                \n

                                Example:\n [\"logs:DescribeLogGroups\",\"logs:StartQuery\",\"logs:GetQueryResults\"]\n

                                \n
                              • \n
                              • \n

                                \n ExemptedPrincipalArns: List of Amazon Web Services IAM principal ARNs\n exempted from the control. Each string is expected to be an IAM principal that follows\n the pattern ^arn:(aws|aws-us-gov):(iam|sts)::.+:.+$\n

                                \n

                                Example:\n [\"arn:aws:iam::*:role/ReadOnly\",\"arn:aws:sts::*:assumed-role/ReadOnly/*\"]\n

                                \n
                              • \n
                              • \n

                                \n ExemptedResourceArns: List of resource ARNs exempted\n from the control. Each string is expected to be a resource ARN.

                                \n

                                Example: [\"arn:aws:s3:::my-bucket-name\"]\n

                                \n
                              • \n
                              • \n

                                \n ExemptAssumeRoot: A parameter that lets you choose\n whether to exempt requests made with AssumeRoot from this control, for this\n OU. For member accounts, the AssumeRoot property is included in requests\n initiated by IAM centralized root access. This parameter applies only to the\n AWS-GR_RESTRICT_ROOT_USER control. If you add the parameter when enabling\n the control, the AssumeRoot exemption is allowed. If you omit the parameter,\n the AssumeRoot exception is not permitted. The parameter does not accept\n False as a value.

                                \n

                                \n Example: Enabling the control and allowing AssumeRoot\n \n

                                \n

                                \n {\n \"controlIdentifier\": \"arn:aws:controlcatalog:::control/5kvme4m5d2b4d7if2fs5yg2ui\",\n \"parameters\": [\n {\n \"key\": \"ExemptAssumeRoot\",\n \"value\": true\n }\n ],\n \"targetIdentifier\": \"arn:aws:organizations::8633900XXXXX:ou/o-6jmn81636m/ou-qsah-jtiihcla\"\n }\n

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Five types of control parameters are supported.

                              • AllowedRegions: List of Amazon Web Services Regions exempted from the control. Each string is expected to be an Amazon Web Services Region code. This parameter is mandatory for the OU Region deny control, CT.MULTISERVICE.PV.1.

                                Example: [\"us-east-1\",\"us-west-2\"]

                              • ExemptedActions: List of Amazon Web Services IAM actions exempted from the control. Each string is expected to be an IAM action.

                                Example: [\"logs:DescribeLogGroups\",\"logs:StartQuery\",\"logs:GetQueryResults\"]

                              • ExemptedPrincipalArns: List of Amazon Web Services IAM principal ARNs exempted from the control. Each string is expected to be an IAM principal that follows the pattern ^arn:(aws|aws-us-gov):(iam|sts)::.+:.+$

                                Example: [\"arn:aws:iam::*:role/ReadOnly\",\"arn:aws:sts::*:assumed-role/ReadOnly/*\"]

                              • ExemptedResourceArns: List of resource ARNs exempted from the control. Each string is expected to be a resource ARN.

                                Example: [\"arn:aws:s3:::my-bucket-name\"]

                              • ExemptAssumeRoot: A parameter that lets you choose whether to exempt requests made with AssumeRoot from this control, for this OU. For member accounts, the AssumeRoot property is included in requests initiated by IAM centralized root access. This parameter applies only to the AWS-GR_RESTRICT_ROOT_USER control. If you add the parameter when enabling the control, the AssumeRoot exemption is allowed. If you omit the parameter, the AssumeRoot exception is not permitted. The parameter does not accept False as a value.

                                Example: Enabling the control and allowing AssumeRoot

                                { \"controlIdentifier\": \"arn:aws:controlcatalog:::control/5kvme4m5d2b4d7if2fs5yg2ui\", \"parameters\": [ { \"key\": \"ExemptAssumeRoot\", \"value\": true } ], \"targetIdentifier\": \"arn:aws:organizations::8633900XXXXX:ou/o-6jmn81636m/ou-qsah-jtiihcla\" }

                              " } }, "com.amazonaws.controlcatalog#ControlParameters": { @@ -1018,6 +1149,12 @@ "smithy.api#required": {} } }, + "Aliases": { + "target": "com.amazonaws.controlcatalog#ControlAliases", + "traits": { + "smithy.api#documentation": "

                              A list of alternative identifiers for the control. These are human-readable designators, such as SH.S3.1. Several aliases can refer to the same control across different Amazon Web Services services or compliance frameworks.

                              " + } + }, "Name": { "target": "smithy.api#String", "traits": { @@ -1055,6 +1192,12 @@ "traits": { "smithy.api#documentation": "

                              A timestamp that notes the time when the control was released (start of its life) as a governance capability in Amazon Web Services.

                              " } + }, + "GovernedResources": { + "target": "com.amazonaws.controlcatalog#GovernedResources", + "traits": { + "smithy.api#documentation": "

                              A list of Amazon Web Services resource types that are governed by this control. This information helps you understand which controls can govern certain types of resources, and conversely, which resources are affected when the control is implemented. The resources are represented as Amazon Web Services CloudFormation resource types. If GovernedResources cannot be represented by available CloudFormation resource types, it’s returned as an empty list.

                              " + } } }, "traits": { @@ -1174,6 +1317,46 @@ "target": "com.amazonaws.controlcatalog#DomainSummary" } }, + "com.amazonaws.controlcatalog#FrameworkItem": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 250 + } + } + }, + "com.amazonaws.controlcatalog#FrameworkMappingDetails": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.controlcatalog#FrameworkName", + "traits": { + "smithy.api#documentation": "

                              The name of the compliance framework that the control maps to.

                              ", + "smithy.api#required": {} + } + }, + "Item": { + "target": "com.amazonaws.controlcatalog#FrameworkItem", + "traits": { + "smithy.api#documentation": "

                              The specific item or requirement within the framework that the control maps to.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that contains details about a framework mapping, including the framework name and specific item within the framework that the control maps to.

                              " + } + }, + "com.amazonaws.controlcatalog#FrameworkName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 250 + } + } + }, "com.amazonaws.controlcatalog#GetControl": { "type": "operation", "input": { @@ -1200,7 +1383,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns details about a specific control, most notably a list of Amazon Web Services Regions where this control is supported. Input a value for the ControlArn parameter, in ARN form. GetControl accepts controltower or controlcatalog control ARNs as input. Returns a controlcatalog ARN format.

                              \n

                              In the API response, controls that have the value GLOBAL in the Scope field do not show the DeployableRegions field, because it does not apply. Controls that have the value REGIONAL in the Scope field return a value for the DeployableRegions field, as shown in the example.

                              ", + "smithy.api#documentation": "

                              Returns details about a specific control, most notably a list of Amazon Web Services Regions where this control is supported. Input a value for the ControlArn parameter, in ARN form. GetControl accepts controltower or controlcatalog control ARNs as input. Returns a controlcatalog ARN format.

                              In the API response, controls that have the value GLOBAL in the Scope field do not show the DeployableRegions field, because it does not apply. Controls that have the value REGIONAL in the Scope field return a value for the DeployableRegions field, as shown in the example.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1215,7 +1398,7 @@ "ControlArn": { "target": "com.amazonaws.controlcatalog#ControlArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the control. It has one of the following formats:

                              \n

                              \n Global format\n

                              \n

                              \n arn:{PARTITION}:controlcatalog:::control/{CONTROL_CATALOG_OPAQUE_ID}\n

                              \n

                              \n Or Regional format\n

                              \n

                              \n arn:{PARTITION}:controltower:{REGION}::control/{CONTROL_TOWER_OPAQUE_ID}\n

                              \n

                              Here is a more general pattern that covers Amazon Web Services Control Tower and Control Catalog ARNs:

                              \n

                              \n ^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\\\-]+$\n

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the control. It has one of the following formats:

                              Global format

                              arn:{PARTITION}:controlcatalog:::control/{CONTROL_CATALOG_OPAQUE_ID}

                              Or Regional format

                              arn:{PARTITION}:controltower:{REGION}::control/{CONTROL_TOWER_OPAQUE_ID}

                              Here is a more general pattern that covers Amazon Web Services Control Tower and Control Catalog ARNs:

                              ^arn:(aws(?:[-a-z]*)?):(controlcatalog|controltower):[a-zA-Z0-9-]*::control/[0-9a-zA-Z_\\\\-]+$

                              ", "smithy.api#required": {} } } @@ -1234,6 +1417,12 @@ "smithy.api#required": {} } }, + "Aliases": { + "target": "com.amazonaws.controlcatalog#ControlAliases", + "traits": { + "smithy.api#documentation": "

                              A list of alternative identifiers for the control. These are human-readable designators, such as SH.S3.1. Several aliases can refer to the same control across different Amazon Web Services services or compliance frameworks.

                              " + } + }, "Name": { "target": "smithy.api#String", "traits": { @@ -1251,7 +1440,7 @@ "Behavior": { "target": "com.amazonaws.controlcatalog#ControlBehavior", "traits": { - "smithy.api#documentation": "

                              A term that identifies the control's functional behavior. One of Preventive, Detective, Proactive\n

                              ", + "smithy.api#documentation": "

                              A term that identifies the control's functional behavior. One of Preventive, Detective, Proactive

                              ", "smithy.api#required": {} } }, @@ -1276,7 +1465,7 @@ "Parameters": { "target": "com.amazonaws.controlcatalog#ControlParameters", "traits": { - "smithy.api#documentation": "

                              Returns an array of ControlParameter objects that specify the parameters a control supports. An empty list is returned for controls that don’t support parameters.\n

                              " + "smithy.api#documentation": "

                              Returns an array of ControlParameter objects that specify the parameters a control supports. An empty list is returned for controls that don’t support parameters.

                              " } }, "CreateTime": { @@ -1284,12 +1473,30 @@ "traits": { "smithy.api#documentation": "

                              A timestamp that notes the time when the control was released (start of its life) as a governance capability in Amazon Web Services.

                              " } + }, + "GovernedResources": { + "target": "com.amazonaws.controlcatalog#GovernedResources", + "traits": { + "smithy.api#documentation": "

                              A list of Amazon Web Services resource types that are governed by this control. This information helps you understand which controls can govern certain types of resources, and conversely, which resources are affected when the control is implemented. The resources are represented as Amazon Web Services CloudFormation resource types. If GovernedResources cannot be represented by available CloudFormation resource types, it’s returned as an empty list.

                              " + } } }, "traits": { "smithy.api#output": {} } }, + "com.amazonaws.controlcatalog#GovernedResource": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$" + } + }, + "com.amazonaws.controlcatalog#GovernedResources": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#GovernedResource" + } + }, "com.amazonaws.controlcatalog#ImplementationDetails": { "type": "structure", "members": { @@ -1308,7 +1515,27 @@ } }, "traits": { - "smithy.api#documentation": "

                              An object that describes the implementation type for a control.

                              \n

                              Our ImplementationDetails\n Type format has three required segments:

                              \n
                                \n
                              • \n

                                \n SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME\n

                                \n
                              • \n
                              \n

                              For example, AWS::Config::ConfigRule\n or\n AWS::SecurityHub::SecurityControl resources have the format with three required segments.

                              \n

                              Our ImplementationDetails\n Type format has an optional fourth segment, which is present for applicable \n implementation types. The format is as follows:

                              \n
                                \n
                              • \n

                                \n SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME::RESOURCE-TYPE-DESCRIPTION\n

                                \n
                              • \n
                              \n

                              For example, AWS::Organizations::Policy::SERVICE_CONTROL_POLICY\n or\n AWS::CloudFormation::Type::HOOK have the format with four segments.

                              \n

                              Although the format is similar, the values for the Type field do not match any Amazon Web Services CloudFormation values.

                              " + "smithy.api#documentation": "

                              An object that describes the implementation type for a control.

                              Our ImplementationDetails Type format has three required segments:

                              • SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME

                              For example, AWS::Config::ConfigRule or AWS::SecurityHub::SecurityControl resources have the format with three required segments.

                              Our ImplementationDetails Type format has an optional fourth segment, which is present for applicable implementation types. The format is as follows:

                              • SERVICE-PROVIDER::SERVICE-NAME::RESOURCE-NAME::RESOURCE-TYPE-DESCRIPTION

                              For example, AWS::Organizations::Policy::SERVICE_CONTROL_POLICY or AWS::CloudFormation::Type::HOOK have the format with four segments.

                              Although the format is similar, the values for the Type field do not match any Amazon Web Services CloudFormation values.

                              " + } + }, + "com.amazonaws.controlcatalog#ImplementationFilter": { + "type": "structure", + "members": { + "Types": { + "target": "com.amazonaws.controlcatalog#ImplementationTypeFilterList", + "traits": { + "smithy.api#documentation": "

                              A list of implementation types that can serve as filters. For example, you can filter for controls implemented as Amazon Web Services Config Rules by specifying AWS::Config::ConfigRule as a type.

                              " + } + }, + "Identifiers": { + "target": "com.amazonaws.controlcatalog#ImplementationIdentifierFilterList", + "traits": { + "smithy.api#documentation": "

                              A list of service-specific identifiers that can serve as filters. For example, you can filter for controls with specific Amazon Web Services Config Rule IDs or Security Hub Control IDs.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that defines filtering criteria for control implementations. You can use this filter to find controls that are implemented by specific Amazon Web Services services or with specific service identifiers.

                              " } }, "com.amazonaws.controlcatalog#ImplementationIdentifier": { @@ -1318,7 +1545,19 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^[a-z0-9-]+$" + "smithy.api#pattern": "^[a-zA-Z0-9_\\.-]+$" + } + }, + "com.amazonaws.controlcatalog#ImplementationIdentifierFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#ImplementationIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } } }, "com.amazonaws.controlcatalog#ImplementationSummary": { @@ -1352,6 +1591,18 @@ "smithy.api#pattern": "^[A-Za-z0-9]+(::[A-Za-z0-9_]+){2,3}$" } }, + "com.amazonaws.controlcatalog#ImplementationTypeFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#ImplementationType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.controlcatalog#InternalServerException": { "type": "structure", "members": { @@ -1389,7 +1640,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a paginated list of common controls from the Amazon Web Services Control\n Catalog.

                              \n

                              You can apply an optional filter to see common controls that have a specific objective. If\n you don’t provide a filter, the operation returns all common controls.

                              ", + "smithy.api#documentation": "

                              Returns a paginated list of common controls from the Amazon Web Services Control Catalog.

                              You can apply an optional filter to see common controls that have a specific objective. If you don’t provide a filter, the operation returns all common controls.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1424,7 +1675,7 @@ "CommonControlFilter": { "target": "com.amazonaws.controlcatalog#CommonControlFilter", "traits": { - "smithy.api#documentation": "

                              An optional filter that narrows the results to a specific objective.

                              \n

                              This filter allows you to specify one objective ARN at a time. Passing multiple ARNs in\n the CommonControlFilter isn’t currently supported.

                              " + "smithy.api#documentation": "

                              An optional filter that narrows the results to a specific objective.

                              This filter allows you to specify one objective ARN at a time. Passing multiple ARNs in the CommonControlFilter isn’t supported.

                              " } } }, @@ -1453,6 +1704,93 @@ "smithy.api#output": {} } }, + "com.amazonaws.controlcatalog#ListControlMappings": { + "type": "operation", + "input": { + "target": "com.amazonaws.controlcatalog#ListControlMappingsRequest" + }, + "output": { + "target": "com.amazonaws.controlcatalog#ListControlMappingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.controlcatalog#AccessDeniedException" + }, + { + "target": "com.amazonaws.controlcatalog#InternalServerException" + }, + { + "target": "com.amazonaws.controlcatalog#ThrottlingException" + }, + { + "target": "com.amazonaws.controlcatalog#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns a paginated list of control mappings from the Control Catalog. Control mappings show relationships between controls and other entities, such as common controls or compliance frameworks.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/list-control-mappings" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "ControlMappings" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.controlcatalog#ListControlMappingsRequest": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.controlcatalog#PaginationToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token that's used to fetch the next set of results.

                              ", + "smithy.api#httpQuery": "nextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.controlcatalog#MaxListControlMappingsResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results on a page or for an API request call.

                              ", + "smithy.api#httpQuery": "maxResults" + } + }, + "Filter": { + "target": "com.amazonaws.controlcatalog#ControlMappingFilter", + "traits": { + "smithy.api#documentation": "

                              An optional filter that narrows the results to specific control mappings based on control ARNs, common control ARNs, or mapping types.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.controlcatalog#ListControlMappingsResponse": { + "type": "structure", + "members": { + "ControlMappings": { + "target": "com.amazonaws.controlcatalog#ControlMappings", + "traits": { + "smithy.api#documentation": "

                              The list of control mappings that the ListControlMappings API returns.

                              ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.controlcatalog#PaginationToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token that's used to fetch the next set of results.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.controlcatalog#ListControls": { "type": "operation", "input": { @@ -1476,7 +1814,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a paginated list of all available controls in the Amazon Web Services Control Catalog library. Allows you to discover available controls. The list of controls is given as structures of type controlSummary. The ARN is returned in the global controlcatalog format, as shown in the examples.

                              ", + "smithy.api#documentation": "

                              Returns a paginated list of all available controls in the Control Catalog library. Allows you to discover available controls. The list of controls is given as structures of type controlSummary. The ARN is returned in the global controlcatalog format, as shown in the examples.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1507,6 +1845,12 @@ "smithy.api#documentation": "

                              The maximum number of results on a page or for an API request call.

                              ", "smithy.api#httpQuery": "maxResults" } + }, + "Filter": { + "target": "com.amazonaws.controlcatalog#ControlFilter", + "traits": { + "smithy.api#documentation": "

                              An optional filter that narrows the results to controls with specific implementation types or identifiers. If you don't provide a filter, the operation returns all available controls.

                              " + } } }, "traits": { @@ -1557,7 +1901,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a paginated list of domains from the Amazon Web Services Control Catalog.

                              ", + "smithy.api#documentation": "

                              Returns a paginated list of domains from the Control Catalog.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1638,7 +1982,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a paginated list of objectives from the Amazon Web Services Control Catalog.

                              \n

                              You can apply an optional filter to see the objectives that belong to a specific domain.\n If you don’t provide a filter, the operation returns all objectives.

                              ", + "smithy.api#documentation": "

                              Returns a paginated list of objectives from the Control Catalog.

                              You can apply an optional filter to see the objectives that belong to a specific domain. If you don’t provide a filter, the operation returns all objectives.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1673,7 +2017,7 @@ "ObjectiveFilter": { "target": "com.amazonaws.controlcatalog#ObjectiveFilter", "traits": { - "smithy.api#documentation": "

                              An optional filter that narrows the results to a specific domain.

                              \n

                              This filter allows you to specify one domain ARN at a time. \n Passing multiple ARNs in the ObjectiveFilter isn’t currently supported.

                              " + "smithy.api#documentation": "

                              An optional filter that narrows the results to a specific domain.

                              This filter allows you to specify one domain ARN at a time. Passing multiple ARNs in the ObjectiveFilter isn’t supported.

                              " } } }, @@ -1702,6 +2046,55 @@ "smithy.api#output": {} } }, + "com.amazonaws.controlcatalog#Mapping": { + "type": "union", + "members": { + "Framework": { + "target": "com.amazonaws.controlcatalog#FrameworkMappingDetails", + "traits": { + "smithy.api#documentation": "

                              The framework mapping details when the mapping type relates to a compliance framework.

                              " + } + }, + "CommonControl": { + "target": "com.amazonaws.controlcatalog#CommonControlMappingDetails", + "traits": { + "smithy.api#documentation": "

                              The common control mapping details when the mapping type relates to a common control.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure that contains the details of a mapping relationship, which can be either to a framework or to a common control.

                              " + } + }, + "com.amazonaws.controlcatalog#MappingType": { + "type": "enum", + "members": { + "FRAMEWORK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FRAMEWORK" + } + }, + "COMMON_CONTROL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMMON_CONTROL" + } + } + } + }, + "com.amazonaws.controlcatalog#MappingTypeFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.controlcatalog#MappingType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.controlcatalog#MaxListCommonControlsResults": { "type": "integer", "traits": { @@ -1711,6 +2104,15 @@ } } }, + "com.amazonaws.controlcatalog#MaxListControlMappingsResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, "com.amazonaws.controlcatalog#MaxListControlsResults": { "type": "integer", "traits": { @@ -1754,7 +2156,7 @@ "Domains": { "target": "com.amazonaws.controlcatalog#DomainResourceFilterList", "traits": { - "smithy.api#documentation": "

                              The domain that's used as filter criteria.

                              \n

                              You can use this parameter to specify one domain ARN at a time. Passing multiple ARNs in\n the ObjectiveFilter isn’t currently supported.

                              " + "smithy.api#documentation": "

                              The domain that's used as filter criteria.

                              You can use this parameter to specify one domain ARN at a time. Passing multiple ARNs in the ObjectiveFilter isn’t supported.

                              " } } }, @@ -1880,7 +2282,7 @@ "Scope": { "target": "com.amazonaws.controlcatalog#ControlScope", "traits": { - "smithy.api#documentation": "

                              The coverage of the control, if deployed. Scope is an enumerated type, with value Regional, or Global. A control with Global scope is effective in all Amazon Web Services Regions, regardless of the Region from which it is enabled, or to which it is deployed. A control implemented by an SCP is usually Global in scope. A control with Regional scope has operations that are restricted specifically to the Region from which it is enabled and to which it is deployed. Controls implemented by Config rules and CloudFormation hooks usually are Regional in scope. Security Hub controls usually are Regional in scope.

                              ", + "smithy.api#documentation": "

                              The coverage of the control, if deployed. Scope is an enumerated type, with value Regional, or Global. A control with Global scope is effective in all Amazon Web Services Regions, regardless of the Region from which it is enabled, or to which it is deployed. A control implemented by an SCP is usually Global in scope. A control with Regional scope has operations that are restricted specifically to the Region from which it is enabled and to which it is deployed. Controls implemented by Config rules and CloudFormation hooks usually are Regional in scope. Security Hub controls usually are Regional in scope.

                              ", "smithy.api#required": {} } }, @@ -1892,7 +2294,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control currently is available for deployment. For more information about scope, see Global services.

                              \n

                              If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the RegionConfiguration API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions A,B,and C while the control is available in Regions A, B, C, and D, you'd see a response with DeployableRegions of A, B, C, and D for a control with REGIONAL scope, even though you may not intend to deploy the control in Region D, because you do not govern it through your landing zone.

                              " + "smithy.api#documentation": "

                              Returns information about the control, including the scope of the control, if enabled, and the Regions in which the control is available for deployment. For more information about scope, see Global services.

                              If you are applying controls through an Amazon Web Services Control Tower landing zone environment, remember that the values returned in the RegionConfiguration API operation are not related to the governed Regions in your landing zone. For example, if you are governing Regions A,B,and C while the control is available in Regions A, B, C, and D, you'd see a response with DeployableRegions of A, B, C, and D for a control with REGIONAL scope, even though you may not intend to deploy the control in Region D, because you do not govern it through your landing zone.

                              " } }, "com.amazonaws.controlcatalog#ResourceNotFoundException": { diff --git a/tools/code-generation/smithy/api-descriptions/cost-explorer.json b/tools/code-generation/smithy/api-descriptions/cost-explorer.json index 8f0e61f4ff8..27b9639b7a8 100644 --- a/tools/code-generation/smithy/api-descriptions/cost-explorer.json +++ b/tools/code-generation/smithy/api-descriptions/cost-explorer.json @@ -190,12 +190,6 @@ "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -215,6 +209,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -246,595 +246,666 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "aws.partition", "argv": [ { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", "argv": [ { - "ref": "PartitionResult" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] }, - "name" + "aws" ] }, - "aws" - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseFIPS" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + true + ] + } + ], + "endpoint": { + "url": "https://ce.us-east-1.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } ] }, - "aws-cn" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "cn-northwest-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + true + ] + } + ], + "endpoint": { + "url": "https://ce.cn-northwest-1.api.amazonwebservices.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } ] }, - "aws-iso" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-iso-east-1.c2s.ic.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-iso-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-iso-east-1.c2s.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } ] }, - "aws-iso-b" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-b" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-isob-east-1.sc2s.sgov.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isob-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-isob-east-1.sc2s.sgov.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } ] }, - "aws-iso-e" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-e" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "eu-isoe-west-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } ] }, - "aws-iso-f" - ] + "headers": {} + }, + "type": "endpoint" }, { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-iso-f" + ] }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-isof-south-1.csp.hci.ic.gov", - "properties": { - "authSchemes": [ { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isof-south-1" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" + ], + "endpoint": { + "url": "https://ce.us-isof-south-1.csp.hci.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] }, - true - ] + "headers": {} + }, + "type": "endpoint" }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ], "type": "tree" }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] + "ref": "UseFIPS" }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ], "type": "tree" }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - } - ], - "rules": [ + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ], "type": "tree" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ], "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ], "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] }, "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] - }, - "url": "https://ce.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "aws-global", + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce-fips.us-east-1.api.aws" } }, @@ -848,6 +919,14 @@ "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce-fips.us-east-1.amazonaws.com" } }, @@ -861,6 +940,14 @@ "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://ce.us-east-1.api.aws" } }, @@ -878,7 +965,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-east-1" } ] @@ -893,75 +979,76 @@ } }, { - "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "cn-northwest-1" } ] }, - "url": "https://ce.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "aws-cn-global", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ce-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://ce-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ce-fips.cn-north-1.amazonaws.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://ce-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce.cn-north-1.api.amazonwebservices.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://ce.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "cn-northwest-1" } ] @@ -970,81 +1057,91 @@ } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce-fips.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ce-fips.us-gov-east-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ce.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ce.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region aws-iso-global with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://ce.us-iso-east-1.c2s.ic.gov" + "url": "https://ce.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "aws-iso-global", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } @@ -1064,6 +1161,14 @@ "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, "url": "https://ce-fips.us-iso-east-1.c2s.ic.gov" } }, @@ -1092,7 +1197,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-iso-east-1" } ] @@ -1106,28 +1210,6 @@ "UseDualStack": false } }, - { - "documentation": "For region aws-iso-b-global with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isob-east-1" - } - ] - }, - "url": "https://ce.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "aws-iso-b-global", - "UseFIPS": false, - "UseDualStack": false - } - }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -1143,6 +1225,14 @@ "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, "url": "https://ce-fips.us-isob-east-1.sc2s.sgov.gov" } }, @@ -1171,7 +1261,6 @@ "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "us-isob-east-1" } ] @@ -1186,98 +1275,131 @@ } }, { - "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", "signingRegion": "eu-isoe-west-1" } ] }, - "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk" + "url": "https://ce-fips.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { "Region": "eu-isoe-west-1", - "UseFIPS": false, + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-isof-south-1" + "signingRegion": "eu-isoe-west-1" } ] }, - "url": "https://ce.us-isof-south-1.csp.hci.ic.gov" + "url": "https://ce.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-isof-south-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://example.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://ce-fips.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://ce.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { diff --git a/tools/code-generation/smithy/api-descriptions/customer-profiles.json b/tools/code-generation/smithy/api-descriptions/customer-profiles.json index d6f49bfe9fc..ea16f7d5205 100644 --- a/tools/code-generation/smithy/api-descriptions/customer-profiles.json +++ b/tools/code-generation/smithy/api-descriptions/customer-profiles.json @@ -596,7 +596,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 2 + "max": 50 } } }, @@ -1134,6 +1134,12 @@ "traits": { "smithy.api#documentation": "

                              The value of the calculated attribute.

                              " } + }, + "LastObjectTimestamp": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of the newest object included in the calculated attribute calculation.

                              " + } } }, "traits": { @@ -1490,6 +1496,12 @@ "smithy.api#required": {} } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

                              Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

                              " + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -1558,6 +1570,24 @@ "smithy.api#documentation": "

                              The timestamp of when the calculated attribute definition was most recently\n edited.

                              " } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

                              Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

                              " + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

                              Status of the Calculated Attribute creation (whether all historical data has been\n indexed.)

                              " + } + }, + "Readiness": { + "target": "com.amazonaws.customerprofiles#Readiness", + "traits": { + "smithy.api#documentation": "

                              Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

                              " + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -1603,6 +1633,181 @@ } } }, + "com.amazonaws.customerprofiles#CreateDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#CreateDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#CreateDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates the layout to view data for a specific domain. This API can only be invoked from\n the Amazon Connect admin website.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#CreateDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the domain.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

                              The description of the layout

                              ", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

                              The display name of the layout

                              ", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

                              " + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

                              The type of layout that can be used to view data under a Customer Profiles domain.

                              ", + "smithy.api#required": {} + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

                              A customizable layout that can be used to view data under a Customer Profiles\n domain.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags used to organize, track, or control access for this resource.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#CreateDomainLayoutResponse": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

                              The description of the layout

                              ", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

                              The display name of the layout

                              ", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

                              " + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

                              The type of layout that can be used to view data under customer profiles domain.

                              ", + "smithy.api#required": {} + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

                              A customizable layout that can be used to view data under Customer Profiles\n domain.

                              ", + "smithy.api#required": {} + } + }, + "Version": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

                              The version used to create layout.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags used to organize, track, or control access for this resource.

                              " + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was created.

                              ", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was most recently updated.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#CreateDomainRequest": { "type": "structure", "members": { @@ -2126,7 +2331,7 @@ "AccountNumber": { "target": "com.amazonaws.customerprofiles#sensitiveString1To255", "traits": { - "smithy.api#documentation": "

                              An account number that you have given to the customer.

                              " + "smithy.api#documentation": "

                              An account number that you have assigned to the customer.

                              " } }, "AdditionalInformation": { @@ -2628,6 +2833,9 @@ { "target": "com.amazonaws.customerprofiles#CreateDomain" }, + { + "target": "com.amazonaws.customerprofiles#CreateDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#CreateEventStream" }, @@ -2655,6 +2863,9 @@ { "target": "com.amazonaws.customerprofiles#DeleteDomain" }, + { + "target": "com.amazonaws.customerprofiles#DeleteDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#DeleteEventStream" }, @@ -2697,6 +2908,9 @@ { "target": "com.amazonaws.customerprofiles#GetDomain" }, + { + "target": "com.amazonaws.customerprofiles#GetDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#GetEventStream" }, @@ -2748,6 +2962,9 @@ { "target": "com.amazonaws.customerprofiles#ListCalculatedAttributesForProfile" }, + { + "target": "com.amazonaws.customerprofiles#ListDomainLayouts" + }, { "target": "com.amazonaws.customerprofiles#ListDomains" }, @@ -2817,6 +3034,9 @@ { "target": "com.amazonaws.customerprofiles#UpdateDomain" }, + { + "target": "com.amazonaws.customerprofiles#UpdateDomainLayout" + }, { "target": "com.amazonaws.customerprofiles#UpdateEventTrigger" }, @@ -3808,6 +4028,79 @@ } } }, + "com.amazonaws.customerprofiles#DeleteDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#DeleteDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#DeleteDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes the layout used to view data for a specific domain. This API can only be invoked\n from the Amazon Connect admin website.

                              ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#DeleteDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the domain.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#DeleteDomainLayoutResponse": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.customerprofiles#message", + "traits": { + "smithy.api#documentation": "

                              A message that indicates the delete request is done.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#DeleteDomainRequest": { "type": "structure", "members": { @@ -4741,11 +5034,7 @@ "com.amazonaws.customerprofiles#End": { "type": "integer", "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 366 - } + "smithy.api#default": 0 } }, "com.amazonaws.customerprofiles#EstimateStatus": { @@ -4967,7 +5256,7 @@ "EventExpiration": { "target": "com.amazonaws.customerprofiles#optionalLong", "traits": { - "smithy.api#documentation": "

                              In milliseconds. Specifies that an event will only trigger the destination if it is processed within a certain latency period.

                              " + "smithy.api#documentation": "

                              In milliseconds. Specifies that an event will only trigger the destination if it is\n processed within a certain latency period.

                              " } }, "Periods": { @@ -4978,7 +5267,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

                              " + "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

                              " } }, "com.amazonaws.customerprofiles#EventTriggerLogicalOperator": { @@ -5864,6 +6153,24 @@ "smithy.api#documentation": "

                              Mathematical expression and a list of attribute items specified in that\n expression.

                              " } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

                              Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

                              " + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

                              Status of the Calculated Attribute creation (whether all historical data has been\n indexed).

                              " + } + }, + "Readiness": { + "target": "com.amazonaws.customerprofiles#Readiness", + "traits": { + "smithy.api#documentation": "

                              Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

                              " + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -5967,6 +6274,12 @@ "traits": { "smithy.api#documentation": "

                              The value of the calculated attribute.

                              " } + }, + "LastObjectTimestamp": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of the newest object included in the calculated attribute calculation.

                              " + } } }, "traits": { @@ -6007,7 +6320,142 @@ } } }, - "com.amazonaws.customerprofiles#GetDomainRequest": { + "com.amazonaws.customerprofiles#GetDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#GetDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#GetDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Gets the layout to view data for a specific domain. This API can only be invoked from\n the Amazon Connect admin website.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#GetDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the domain.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#GetDomainLayoutResponse": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

                              The description of the layout

                              ", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

                              The display name of the layout

                              ", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

                              " + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

                              The type of layout that can be used to view data under a Customer Profiles domain.

                              ", + "smithy.api#required": {} + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

                              A customizable layout that can be used to view data under a Customer Profiles\n domain.

                              ", + "smithy.api#required": {} + } + }, + "Version": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

                              The version used to create layout.

                              ", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was created.

                              ", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was most recently updated.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags used to organize, track, or control access for this resource.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.customerprofiles#GetDomainRequest": { "type": "structure", "members": { "DomainName": { @@ -6301,7 +6749,7 @@ "EventTriggerLimits": { "target": "com.amazonaws.customerprofiles#EventTriggerLimits", "traits": { - "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

                              " + "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

                              " } }, "CreatedAt": { @@ -8120,6 +8568,86 @@ "smithy.api#pattern": "^arn:aws:kms:.*:[0-9]+:" } }, + "com.amazonaws.customerprofiles#LayoutItem": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

                              The description of the layout

                              ", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

                              The display name of the layout

                              ", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              If set to true for a layout, this layout will be used by default to view data. If set to\n false, then layout will not be used by default but it can be used to view data by explicit\n selection on UI.

                              " + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

                              The type of layout that can be used to view data under customer profiles domain.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags used to organize, track, or control access for this resource.

                              " + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was created.

                              ", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was most recently updated.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The layout object that contains LayoutDefinitionName, Description, DisplayName,\n IsDefault, LayoutType, Tags, CreatedAt, LastUpdatedAt

                              " + } + }, + "com.amazonaws.customerprofiles#LayoutList": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#LayoutItem" + } + }, + "com.amazonaws.customerprofiles#LayoutType": { + "type": "enum", + "members": { + "PROFILE_EXPLORER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROFILE_EXPLORER" + } + } + } + }, "com.amazonaws.customerprofiles#ListAccountIntegrations": { "type": "operation", "input": { @@ -8243,6 +8771,18 @@ "smithy.api#documentation": "

                              The timestamp of when the calculated attribute definition was most recently\n edited.

                              " } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

                              Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

                              " + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

                              Status of the Calculated Attribute creation (whether all historical data has been\n indexed.)

                              " + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -8364,6 +8904,12 @@ "traits": { "smithy.api#documentation": "

                              The value of the calculated attribute.

                              " } + }, + "LastObjectTimestamp": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of the newest object included in the calculated attribute calculation.

                              " + } } }, "traits": { @@ -8497,6 +9043,96 @@ "smithy.api#documentation": "

                              An object in a list that represents a domain.

                              " } }, + "com.amazonaws.customerprofiles#ListDomainLayouts": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#ListDomainLayoutsRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#ListDomainLayoutsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Lists the existing layouts that can be used to view data for a specific domain. This API\n can only be invoked from the Amazon Connect admin website.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/layouts", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Items", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.customerprofiles#ListDomainLayoutsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the domain.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

                              Identifies the next page of results to return.

                              ", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.customerprofiles#maxSize100", + "traits": { + "smithy.api#documentation": "

                              The maximum number of objects returned per page.

                              ", + "smithy.api#httpQuery": "max-results" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#ListDomainLayoutsResponse": { + "type": "structure", + "members": { + "Items": { + "target": "com.amazonaws.customerprofiles#LayoutList", + "traits": { + "smithy.api#documentation": "

                              Contains summary information about an EventStream.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

                              Identifies the next page of results to return.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#ListDomains": { "type": "operation", "input": { @@ -10380,7 +11016,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The criteria that a specific object attribute must meet to trigger the destination.

                              " + "smithy.api#documentation": "

                              The criteria that a specific object attribute must meet to trigger the\n destination.

                              " } }, "com.amazonaws.customerprofiles#ObjectAttributes": { @@ -10399,8 +11035,7 @@ "type": "integer", "traits": { "smithy.api#range": { - "min": 1, - "max": 100 + "min": 1 } } }, @@ -10672,7 +11307,7 @@ "target": "com.amazonaws.customerprofiles#boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

                              If set to true, there is no limit on the number of destination invocations per profile. The default is false.

                              " + "smithy.api#documentation": "

                              If set to true, there is no limit on the number of destination invocations per profile.\n The default is false.

                              " } } }, @@ -10745,7 +11380,7 @@ "AccountNumber": { "target": "com.amazonaws.customerprofiles#sensitiveString1To255", "traits": { - "smithy.api#documentation": "

                              An account number that you have given to the customer.

                              " + "smithy.api#documentation": "

                              An account number that you have assigned to the customer.

                              " } }, "AdditionalInformation": { @@ -11752,59 +12387,128 @@ "Value": { "target": "com.amazonaws.customerprofiles#Value", "traits": { - "smithy.api#documentation": "

                              The amount of time of the specified unit.

                              ", - "smithy.api#required": {} + "smithy.api#addedDefault": {}, + "smithy.api#default": 0, + "smithy.api#documentation": "

                              The amount of time of the specified unit.

                              " } }, "Unit": { "target": "com.amazonaws.customerprofiles#Unit", "traits": { - "smithy.api#documentation": "

                              The unit of time.

                              ", + "smithy.api#addedDefault": {}, + "smithy.api#default": "DAYS", + "smithy.api#documentation": "

                              The unit of time.

                              " + } + }, + "ValueRange": { + "target": "com.amazonaws.customerprofiles#ValueRange", + "traits": { + "smithy.api#documentation": "

                              A structure letting customers specify a relative time window over which over which data\n is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint\n is in the past, and negative numbers to indicate it is in the future. ValueRange overrides\n Value.

                              " + } + }, + "TimestampSource": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

                              An expression specifying the field in your JSON object from which the date should be\n parsed. The expression should follow the structure of \\\"{ObjectTypeName.}\\\". E.g. if your object type is MyType and source\n JSON is {\"generatedAt\": {\"timestamp\": \"1737587945945\"}}, then TimestampSource should be\n \"{MyType.generatedAt.timestamp}\".

                              " + } + }, + "TimestampFormat": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

                              The format the timestamp field in your JSON object is specified. This value should be\n one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or\n ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an\n optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType\n and source JSON is {\"generatedAt\": {\"timestamp\": \"2001-07-04T12:08:56.235-0700\"}}, then\n TimestampFormat should be \"ISO_8601\".

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The relative time period over which data is included in the aggregation.

                              " + } + }, + "com.amazonaws.customerprofiles#RangeOverride": { + "type": "structure", + "members": { + "Start": { + "target": "com.amazonaws.customerprofiles#Start", + "traits": { + "smithy.api#default": 366, + "smithy.api#documentation": "

                              The start time of when to include objects.

                              ", "smithy.api#required": {} } + }, + "End": { + "target": "com.amazonaws.customerprofiles#End", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

                              The end time of when to include objects.

                              " + } + }, + "Unit": { + "target": "com.amazonaws.customerprofiles#RangeUnit", + "traits": { + "smithy.api#documentation": "

                              The unit for start and end.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Overrides the original range on a calculated attribute definition.

                              " + } + }, + "com.amazonaws.customerprofiles#RangeUnit": { + "type": "enum", + "members": { + "DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAYS" + } + } + } + }, + "com.amazonaws.customerprofiles#Readiness": { + "type": "structure", + "members": { + "ProgressPercentage": { + "target": "com.amazonaws.customerprofiles#percentageInteger", + "traits": { + "smithy.api#documentation": "

                              Approximately how far the Calculated Attribute creation is from completion.

                              " + } + }, + "Message": { + "target": "com.amazonaws.customerprofiles#text", + "traits": { + "smithy.api#documentation": "

                              Any customer messaging.

                              " + } } }, "traits": { - "smithy.api#documentation": "

                              The relative time period over which data is included in the aggregation.

                              " + "smithy.api#documentation": "

                              Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

                              " } }, - "com.amazonaws.customerprofiles#RangeOverride": { - "type": "structure", + "com.amazonaws.customerprofiles#ReadinessStatus": { + "type": "enum", "members": { - "Start": { - "target": "com.amazonaws.customerprofiles#Start", + "PREPARING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 366, - "smithy.api#documentation": "

                              The start time of when to include objects.

                              ", - "smithy.api#required": {} + "smithy.api#enumValue": "PREPARING" } }, - "End": { - "target": "com.amazonaws.customerprofiles#End", + "IN_PROGRESS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

                              The end time of when to include objects.

                              " + "smithy.api#enumValue": "IN_PROGRESS" } }, - "Unit": { - "target": "com.amazonaws.customerprofiles#RangeUnit", + "COMPLETED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

                              The unit for start and end.

                              ", - "smithy.api#required": {} + "smithy.api#enumValue": "COMPLETED" } - } - }, - "traits": { - "smithy.api#documentation": "

                              Overrides the original range on a calculated attribute definition.

                              " - } - }, - "com.amazonaws.customerprofiles#RangeUnit": { - "type": "enum", - "members": { - "DAYS": { + }, + "FAILED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DAYS" + "smithy.api#enumValue": "FAILED" } } } @@ -12939,6 +13643,60 @@ "smithy.api#enumValue": "COMMUNICATION_RECORD" } }, + "AIR_PREFERENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AIR_PREFERENCE" + } + }, + "HOTEL_PREFERENCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOTEL_PREFERENCE" + } + }, + "AIR_BOOKING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AIR_BOOKING" + } + }, + "AIR_SEGMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AIR_SEGMENT" + } + }, + "HOTEL_RESERVATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOTEL_RESERVATION" + } + }, + "HOTEL_STAY_REVENUE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HOTEL_STAY_REVENUE" + } + }, + "LOYALTY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOYALTY" + } + }, + "LOYALTY_TRANSACTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOYALTY_TRANSACTION" + } + }, + "LOYALTY_PROMOTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOYALTY_PROMOTION" + } + }, "UNIQUE": { "target": "smithy.api#Unit", "traits": { @@ -12972,13 +13730,7 @@ } }, "com.amazonaws.customerprofiles#Start": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 366 - } - } + "type": "integer" }, "com.amazonaws.customerprofiles#Statistic": { "type": "enum", @@ -13744,6 +14496,24 @@ "smithy.api#documentation": "

                              The mathematical expression and a list of attribute items specified in that\n expression.

                              " } }, + "UseHistoricalData": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

                              Whether historical data ingested before the Calculated Attribute was created should be\n included in calculations.

                              " + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#ReadinessStatus", + "traits": { + "smithy.api#documentation": "

                              Status of the Calculated Attribute creation (whether all historical data has been\n indexed.)

                              " + } + }, + "Readiness": { + "target": "com.amazonaws.customerprofiles#Readiness", + "traits": { + "smithy.api#documentation": "

                              Information indicating if the Calculated Attribute is ready for use by confirming all\n historical data has been processed and reflected.

                              " + } + }, "Tags": { "target": "com.amazonaws.customerprofiles#TagMap", "traits": { @@ -13789,6 +14559,164 @@ } } }, + "com.amazonaws.customerprofiles#UpdateDomainLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#UpdateDomainLayoutRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#UpdateDomainLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Updates the layout used to view data for a specific domain. This API can only be invoked\n from the Amazon Connect admin website.

                              ", + "smithy.api#http": { + "method": "PUT", + "uri": "/domains/{DomainName}/layouts/{LayoutDefinitionName}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#UpdateDomainLayoutRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the domain.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

                              The description of the layout

                              " + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

                              The display name of the layout

                              " + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

                              " + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

                              The type of layout that can be used to view data under a Customer Profiles domain.

                              " + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

                              A customizable layout that can be used to view data under a Customer Profiles\n domain.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.customerprofiles#UpdateDomainLayoutResponse": { + "type": "structure", + "members": { + "LayoutDefinitionName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

                              The unique name of the layout.

                              " + } + }, + "Description": { + "target": "com.amazonaws.customerprofiles#sensitiveText", + "traits": { + "smithy.api#documentation": "

                              The description of the layout

                              " + } + }, + "DisplayName": { + "target": "com.amazonaws.customerprofiles#displayName", + "traits": { + "smithy.api#documentation": "

                              The display name of the layout

                              " + } + }, + "IsDefault": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              If set to true for a layout, this layout will be used by default to view data. If set to\n false, then the layout will not be used by default, but it can be used to view data by\n explicitly selecting it in the console.

                              " + } + }, + "LayoutType": { + "target": "com.amazonaws.customerprofiles#LayoutType", + "traits": { + "smithy.api#documentation": "

                              The type of layout that can be used to view data under a Customer Profiles domain.

                              " + } + }, + "Layout": { + "target": "com.amazonaws.customerprofiles#sensitiveString1To2000000", + "traits": { + "smithy.api#documentation": "

                              A customizable layout that can be used to view data under a Customer Profiles domain.

                              " + } + }, + "Version": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

                              The version used to create layout.

                              " + } + }, + "CreatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was created.

                              " + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp of when the layout was most recently updated.

                              " + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags used to organize, track, or control access for this resource.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.customerprofiles#UpdateDomainRequest": { "type": "structure", "members": { @@ -13986,7 +14914,7 @@ "EventTriggerLimits": { "target": "com.amazonaws.customerprofiles#EventTriggerLimits", "traits": { - "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

                              " + "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

                              " } } }, @@ -14030,7 +14958,7 @@ "EventTriggerLimits": { "target": "com.amazonaws.customerprofiles#EventTriggerLimits", "traits": { - "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.

                              " + "smithy.api#documentation": "

                              Defines limits controlling whether an event triggers the destination, based on ingestion\n latency and the number of invocations per profile over specific time periods.

                              " } }, "CreatedAt": { @@ -14117,7 +15045,7 @@ "AccountNumber": { "target": "com.amazonaws.customerprofiles#sensitiveString0To255", "traits": { - "smithy.api#documentation": "

                              An account number that you have given to the customer.

                              " + "smithy.api#documentation": "

                              An account number that you have assigned to the customer.

                              " } }, "PartyType": { @@ -14270,8 +15198,8 @@ "type": "integer", "traits": { "smithy.api#range": { - "min": 1, - "max": 366 + "min": 0, + "max": 2147483647 } } }, @@ -14287,6 +15215,34 @@ } } }, + "com.amazonaws.customerprofiles#ValueRange": { + "type": "structure", + "members": { + "Start": { + "target": "com.amazonaws.customerprofiles#ValueRangeStart", + "traits": { + "smithy.api#documentation": "

                              The start time of when to include objects. Use positive numbers to indicate that the\n starting point is in the past, and negative numbers to indicate it is in the future.

                              ", + "smithy.api#required": {} + } + }, + "End": { + "target": "com.amazonaws.customerprofiles#ValueRangeEnd", + "traits": { + "smithy.api#documentation": "

                              The end time of when to include objects. Use positive numbers to indicate that the\n starting point is in the past, and negative numbers to indicate it is in the future.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A structure letting customers specify a relative time window over which over which data\n is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint\n is in the past, and negative numbers to indicate it is in the future. ValueRange overrides\n Value.

                              " + } + }, + "com.amazonaws.customerprofiles#ValueRangeEnd": { + "type": "integer" + }, + "com.amazonaws.customerprofiles#ValueRangeStart": { + "type": "integer" + }, "com.amazonaws.customerprofiles#Values": { "type": "list", "member": { @@ -14639,6 +15595,15 @@ "com.amazonaws.customerprofiles#optionalLong": { "type": "long" }, + "com.amazonaws.customerprofiles#percentageInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.customerprofiles#requestValueList": { "type": "list", "member": { @@ -14705,6 +15670,16 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.customerprofiles#sensitiveString1To2000000": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000000 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.customerprofiles#sensitiveString1To255": { "type": "string", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/database-migration-service.json b/tools/code-generation/smithy/api-descriptions/database-migration-service.json index fe25d69a97a..17ba4e22c5e 100644 --- a/tools/code-generation/smithy/api-descriptions/database-migration-service.json +++ b/tools/code-generation/smithy/api-descriptions/database-migration-service.json @@ -1771,7 +1771,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Starts the analysis of up to 20 source databases to recommend target engines for each\n source database. This is a batch version of StartRecommendations.

                              \n

                              The result of analysis of each source database is reported individually in the\n response. Because the batch request can result in a combination of successful and\n unsuccessful actions, you should check for batch errors even when the call returns an\n HTTP status code of 200.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Starts the analysis of up to 20 source databases to recommend target engines for each\n source database. This is a batch version of StartRecommendations.

                              \n

                              The result of analysis of each source database is reported individually in the\n response. Because the batch request can result in a combination of successful and\n unsuccessful actions, you should check for batch errors even when the call returns an\n HTTP status code of 200.

                              " } }, "com.amazonaws.databasemigrationservice#BatchStartRecommendationsErrorEntry": { @@ -2562,6 +2562,12 @@ "smithy.api#required": {} } }, + "Virtual": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                              Indicates whether the data provider is virtual.

                              " + } + }, "Settings": { "target": "com.amazonaws.databasemigrationservice#DataProviderSettings", "traits": { @@ -3037,7 +3043,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a Fleet Advisor collector using the specified parameters.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Creates a Fleet Advisor collector using the specified parameters.

                              " } }, "com.amazonaws.databasemigrationservice#CreateFleetAdvisorCollectorRequest": { @@ -3173,7 +3179,6 @@ "output": { "InstanceProfile": { "SubnetGroupIdentifier": "public-subnets", - "VpcIdentifier": "vpc-0a1b2c3d4e5f6g7h8", "VpcSecurityGroups": [ "sg-0123456" ], @@ -3882,7 +3887,7 @@ "ReplicationSubnetGroupDescription": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

                              The description for the subnet group.

                              ", + "smithy.api#documentation": "

                              The description for the subnet group.\n

                              \n

                              Constraints: This parameter Must not contain non-printable control characters.

                              ", "smithy.api#required": {} } }, @@ -4363,6 +4368,12 @@ "smithy.api#documentation": "

                              The type of database engine for the data provider. Valid values include \"aurora\", \n \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \n \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

                              " } }, + "Virtual": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                              Indicates whether the data provider is virtual.

                              " + } + }, "Settings": { "target": "com.amazonaws.databasemigrationservice#DataProviderSettings", "traits": { @@ -5166,7 +5177,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes the specified Fleet Advisor collector.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Deletes the specified Fleet Advisor collector.

                              " } }, "com.amazonaws.databasemigrationservice#DeleteFleetAdvisorDatabases": { @@ -5189,7 +5200,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes the specified Fleet Advisor collector databases.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Deletes the specified Fleet Advisor collector databases.

                              " } }, "com.amazonaws.databasemigrationservice#DeleteFleetAdvisorDatabasesRequest": { @@ -5255,7 +5266,6 @@ "output": { "InstanceProfile": { "SubnetGroupIdentifier": "public-subnets", - "VpcIdentifier": "vpc-0a1b2c3d4e5f6g7h8", "VpcSecurityGroups": [ "sg-0123456" ], @@ -7084,7 +7094,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of the Fleet Advisor collectors in your account.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Returns a list of the Fleet Advisor collectors in your account.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7152,7 +7162,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of Fleet Advisor databases in your account.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Returns a list of Fleet Advisor databases in your account.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7220,7 +7230,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet\n Advisor collectors.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet\n Advisor collectors.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7282,7 +7292,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Provides descriptions of the schemas discovered by your Fleet Advisor\n collectors.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Provides descriptions of the schemas discovered by your Fleet Advisor\n collectors.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7302,7 +7312,7 @@ "MaxRecords": { "target": "com.amazonaws.databasemigrationservice#IntegerOptional", "traits": { - "smithy.api#documentation": "

                              Sets the maximum number of records returned in the response.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Sets the maximum number of records returned in the response.

                              " } }, "NextToken": { @@ -7350,7 +7360,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of schemas detected by Fleet Advisor Collectors in your account.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Returns a list of schemas detected by Fleet Advisor Collectors in your account.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7446,7 +7456,6 @@ "InstanceProfiles": [ { "SubnetGroupIdentifier": "public-subnets", - "VpcIdentifier": "vpc-0a1b2c3d4e5f6g7h8", "PubliclyAccessible": true, "KmsKeyArn": "arn:aws:kms:us-east-1:012345678901:key/01234567-89ab-cdef-0123-456789abcdef", "InstanceProfileCreationTime": "2022-12-16T09:44:43.543246Z", @@ -8320,7 +8329,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a paginated list of limitations for recommendations of target Amazon Web Services\n engines.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Returns a paginated list of limitations for recommendations of target Amazon Web Services\n engines.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8391,7 +8400,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a paginated list of target engine recommendations for your source\n databases.

                              ", + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Returns a paginated list of target engine recommendations for your source\n databases.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -11257,6 +11266,18 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -11295,6 +11316,18 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -12149,6 +12182,18 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -12329,6 +12374,18 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -12703,6 +12760,12 @@ "smithy.api#documentation": "

                              The type of database engine for the data provider. Valid values include \"aurora\", \n \"aurora-postgresql\", \"mysql\", \"oracle\", \"postgres\", \n \"sqlserver\", redshift, mariadb, mongodb, db2, db2-zos and docdb. A value of \"aurora\" represents Amazon Aurora MySQL-Compatible Edition.

                              " } }, + "Virtual": { + "target": "com.amazonaws.databasemigrationservice#BooleanOptional", + "traits": { + "smithy.api#documentation": "

                              Indicates whether the data provider is virtual.

                              " + } + }, "ExactSettings": { "target": "com.amazonaws.databasemigrationservice#BooleanOptional", "traits": { @@ -13162,7 +13225,6 @@ "output": { "InstanceProfile": { "SubnetGroupIdentifier": "public-subnets", - "VpcIdentifier": "vpc-0a1b2c3d4e5f6g7h8", "VpcSecurityGroups": [ "sg-0123456" ], @@ -14311,6 +14373,18 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -14465,6 +14539,18 @@ "traits": { "smithy.api#documentation": "

                              The ARN of the IAM role that provides access to the secret in Secrets Manager \n that contains the TDE password.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -15156,6 +15242,18 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the certificate used for SSL connection.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -15673,6 +15771,18 @@ "traits": { "smithy.api#documentation": "

                              The database name on the Amazon Redshift data provider.

                              " } + }, + "S3Path": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The path for the Amazon S3 bucket that the application uses for accessing the user-defined schema.

                              " + } + }, + "S3AccessRoleArn": { + "target": "com.amazonaws.databasemigrationservice#String", + "traits": { + "smithy.api#documentation": "

                              The ARN for the role the application uses to access its Amazon S3 bucket.

                              " + } } }, "traits": { @@ -17477,7 +17587,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

                              " } }, "com.amazonaws.databasemigrationservice#RunFleetAdvisorLsaAnalysisResponse": { @@ -17752,7 +17862,7 @@ "DatePartitionTimezone": { "target": "com.amazonaws.databasemigrationservice#String", "traits": { - "smithy.api#documentation": "

                              When creating an S3 target endpoint, set DatePartitionTimezone to convert\n the current UTC time into a specified time zone. The conversion occurs when a date\n partition folder is created and a CDC filename is generated. The time zone format is\n Area/Location. Use this parameter when DatePartitionedEnabled is set to\n true, as shown in the following example.

                              \n

                              \n s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\",\n \"DatePartitionDelimiter\": \"SLASH\",\n \"DatePartitionTimezone\":\"Asia/Seoul\", \"BucketName\":\n \"dms-nattarat-test\"}'\n

                              " + "smithy.api#documentation": "

                              When creating an S3 target endpoint, set DatePartitionTimezone to convert the current UTC time into a specified time zone. The conversion occurs when a date partition folder is created and a CDC filename is generated. The time zone format is Area/Location. Use this parameter when DatePartitionedEnabled is set to true, as shown in the following example:

                              \n

                              \n s3-settings='{\"DatePartitionEnabled\": true, \"DatePartitionSequence\": \"YYYYMMDDHH\", \"DatePartitionDelimiter\": \"SLASH\", \"DatePartitionTimezone\":\"Asia/Seoul\", \"BucketName\": \"dms-nattarat-test\"}'\n

                              " } }, "AddTrailingPaddingCharacter": { @@ -18753,7 +18863,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Starts the analysis of your source database to provide recommendations of target\n engines.

                              \n

                              You can create recommendations for multiple source databases using BatchStartRecommendations.

                              " + "smithy.api#documentation": "\n

                              \nEnd of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.\n

                              \n
                              \n

                              Starts the analysis of your source database to provide recommendations of target\n engines.

                              \n

                              You can create recommendations for multiple source databases using BatchStartRecommendations.

                              " } }, "com.amazonaws.databasemigrationservice#StartRecommendationsRequest": { @@ -19164,7 +19274,7 @@ "StartReplicationTaskType": { "target": "com.amazonaws.databasemigrationservice#StartReplicationTaskTypeValue", "traits": { - "smithy.api#documentation": "

                              The type of replication task to start.

                              \n

                              When the migration type is full-load or full-load-and-cdc, the\n only valid value for the first run of the task is start-replication. This\n option will start the migration.

                              \n

                              You can also use ReloadTables to reload specific tables that failed\n during migration instead of restarting the task.

                              \n

                              The resume-processing option isn't applicable for a full-load task, because\n you can't resume partially loaded tables during the full load phase.

                              \n

                              For a full-load-and-cdc task, DMS migrates table data, and then applies\n data changes that occur on the source. To load all the tables again, and start capturing\n source changes, use reload-target. Otherwise use\n resume-processing, to replicate the changes from the last stop\n position.

                              ", + "smithy.api#documentation": "

                              The type of replication task to start.

                              \n

                              \n start-replication is the only valid action that can be used for the first time a task with the migration type of full-loadfull-load, full-load-and-cdc or cdc is run. Any other action used for the first time on a given task, such as resume-processing and reload-target will result in data errors.

                              \n

                              You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

                              \n

                              For a full-load task, the resume-processing option will reload any tables that were partially loaded or not yet loaded during the full load phase.

                              \n

                              For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

                              \n

                              For a cdc only task, to start from a specific position, you must use start-replication and also specify the start position. Check the source endpoint DMS documentation for any limitations. For example, not all sources support starting from a time.

                              \n \n

                              \n resume-processing is only available for previously executed tasks.

                              \n
                              ", "smithy.api#required": {} } }, diff --git a/tools/code-generation/smithy/api-descriptions/ec2.json b/tools/code-generation/smithy/api-descriptions/ec2.json index 5225805fd5a..bb3417d7fad 100644 --- a/tools/code-generation/smithy/api-descriptions/ec2.json +++ b/tools/code-generation/smithy/api-descriptions/ec2.json @@ -1412,6 +1412,14 @@ "smithy.api#xmlName": "carrierIp" } }, + "SubnetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

                              The ID of the subnet where the IP address is allocated.

                              ", + "smithy.api#xmlName": "subnetId" + } + }, "ServiceManaged": { "target": "com.amazonaws.ec2#ServiceManaged", "traits": { @@ -8051,6 +8059,15 @@ } } }, + "com.amazonaws.ec2#AssociatedSubnetList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#AssociatedTargetNetwork": { "type": "structure", "members": { @@ -8532,7 +8549,7 @@ "target": "com.amazonaws.ec2#VolumeAttachment" }, "traits": { - "smithy.api#documentation": "

                              Attaches an EBS volume to a running or stopped instance and exposes it to the instance\n with the specified device name.

                              \n

                              Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For\n more information, see Amazon EBS encryption in the Amazon EBS User Guide.

                              \n

                              After you attach an EBS volume, you must make it available. For more information, see \n Make an EBS volume available for use.

                              \n

                              If a volume has an Amazon Web Services Marketplace product code:

                              \n
                                \n
                              • \n

                                The volume can be attached only to a stopped instance.

                                \n
                              • \n
                              • \n

                                Amazon Web Services Marketplace product codes are copied from the volume to the instance.

                                \n
                              • \n
                              • \n

                                You must be subscribed to the product.

                                \n
                              • \n
                              • \n

                                The instance type and operating system of the instance must support the product. For\n example, you can't detach a volume from a Windows instance and attach it to a Linux\n instance.

                                \n
                              • \n
                              \n

                              For more information, see Attach an Amazon EBS volume to an instance in the\n Amazon EBS User Guide.

                              ", + "smithy.api#documentation": "

                              Attaches an Amazon EBS volume to a running or stopped \n instance, and exposes it to the instance with the specified device name.

                              \n \n

                              The maximum number of Amazon EBS volumes that you can attach to an instance depends on the \n instance type. If you exceed the volume attachment limit for an instance type, the attachment \n request fails with the AttachmentLimitExceeded error. For more information, \n see Instance \n volume limits.

                              \n
                              \n

                              After you attach an EBS volume, you must make it available for use. For more information, \n see Make an \n EBS volume available for use.

                              \n

                              If a volume has an Amazon Web Services Marketplace product code:

                              \n
                                \n
                              • \n

                                The volume can be attached only to a stopped instance.

                                \n
                              • \n
                              • \n

                                Amazon Web Services Marketplace product codes are copied from the volume to the instance.

                                \n
                              • \n
                              • \n

                                You must be subscribed to the product.

                                \n
                              • \n
                              • \n

                                The instance type and operating system of the instance must support the product. For\n example, you can't detach a volume from a Windows instance and attach it to a Linux\n instance.

                                \n
                              • \n
                              \n

                              For more information, see Attach an Amazon EBS volume to an instance in the\n Amazon EBS User Guide.

                              ", "smithy.api#examples": [ { "title": "To attach a volume to an instance", @@ -39269,7 +39286,7 @@ "target": "com.amazonaws.ec2#FilterList", "traits": { "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

                              One or more filters.

                              \n
                                \n
                              • \n

                                \n association.allocation-id - The allocation ID returned when you\n allocated the Elastic IP address (IPv4) for your network interface.

                                \n
                              • \n
                              • \n

                                \n association.association-id - The association ID returned when the\n network interface was associated with an IPv4 address.

                                \n
                              • \n
                              • \n

                                \n addresses.association.owner-id - The owner ID of the addresses\n associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n addresses.association.public-ip - The association ID returned\n when the network interface was associated with the Elastic IP address\n (IPv4).

                                \n
                              • \n
                              • \n

                                \n addresses.primary - Whether the private IPv4 address is the\n primary IP address associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n addresses.private-ip-address - The private IPv4 addresses\n associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

                                \n
                              • \n
                              • \n

                                \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

                                \n
                              • \n
                              • \n

                                \n attachment.attach-time - The time that the network interface was\n attached to an instance.

                                \n
                              • \n
                              • \n

                                \n attachment.attachment-id - The ID of the interface\n attachment.

                                \n
                              • \n
                              • \n

                                \n attachment.delete-on-termination - Indicates whether the\n attachment is deleted when an instance is terminated.

                                \n
                              • \n
                              • \n

                                \n attachment.device-index - The device index to which the network\n interface is attached.

                                \n
                              • \n
                              • \n

                                \n attachment.instance-id - The ID of the instance to which the\n network interface is attached.

                                \n
                              • \n
                              • \n

                                \n attachment.instance-owner-id - The owner ID of the instance to\n which the network interface is attached.

                                \n
                              • \n
                              • \n

                                \n attachment.status - The status of the attachment\n (attaching | attached | detaching |\n detached).

                                \n
                              • \n
                              • \n

                                \n availability-zone - The Availability Zone of the network\n interface.

                                \n
                              • \n
                              • \n

                                \n description - The description of the network interface.

                                \n
                              • \n
                              • \n

                                \n group-id - The ID of a security group associated with the network\n interface.

                                \n
                              • \n
                              • \n

                                \n ipv6-addresses.ipv6-address - An IPv6 address associated with the\n network interface.

                                \n
                              • \n
                              • \n

                                \n interface-type - The type of network interface\n (api_gateway_managed |\n aws_codestar_connections_managed | branch |\n ec2_instance_connect_endpoint | efa |\n efa-only | efs |\n gateway_load_balancer |\n gateway_load_balancer_endpoint |\n global_accelerator_managed | interface |\n iot_rules_managed | lambda |\n load_balancer | nat_gateway |\n network_load_balancer | quicksight |\n transit_gateway | trunk |\n vpc_endpoint).

                                \n
                              • \n
                              • \n

                                \n mac-address - The MAC address of the network interface.

                                \n
                              • \n
                              • \n

                                \n network-interface-id - The ID of the network interface.

                                \n
                              • \n
                              • \n

                                \n operator.managed - A Boolean that indicates whether this is a\n managed network interface.

                                \n
                              • \n
                              • \n

                                \n operator.principal - The principal that manages the network\n interface. Only valid for managed network interfaces, where managed\n is true.

                                \n
                              • \n
                              • \n

                                \n owner-id - The Amazon Web Services account ID of the network\n interface owner.

                                \n
                              • \n
                              • \n

                                \n private-dns-name - The private DNS name of the network interface\n (IPv4).

                                \n
                              • \n
                              • \n

                                \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

                                \n
                              • \n
                              • \n

                                \n requester-id - The alias or Amazon Web Services account ID of the\n principal or service that created the network interface.

                                \n
                              • \n
                              • \n

                                \n requester-managed - Indicates whether the network interface is\n being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

                                \n
                              • \n
                              • \n

                                \n source-dest-check - Indicates whether the network interface\n performs source/destination checking. A value of true means\n checking is enabled, and false means checking is disabled. The\n value must be false for the network interface to perform network\n address translation (NAT) in your VPC.

                                \n
                              • \n
                              • \n

                                \n status - The status of the network interface. If the network\n interface is not attached to an instance, the status is available;\n if a network interface is attached to an instance the status is\n in-use.

                                \n
                              • \n
                              • \n

                                \n subnet-id - The ID of the subnet for the network\n interface.

                                \n
                              • \n
                              • \n

                                \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                \n
                              • \n
                              • \n

                                \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                \n
                              • \n
                              • \n

                                \n vpc-id - The ID of the VPC for the network interface.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              One or more filters.

                              \n
                                \n
                              • \n

                                \n association.allocation-id - The allocation ID returned when you\n allocated the Elastic IP address (IPv4) for your network interface.

                                \n
                              • \n
                              • \n

                                \n association.association-id - The association ID returned when the\n network interface was associated with an IPv4 address.

                                \n
                              • \n
                              • \n

                                \n addresses.association.owner-id - The owner ID of the addresses\n associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n addresses.association.public-ip - The association ID returned\n when the network interface was associated with the Elastic IP address\n (IPv4).

                                \n
                              • \n
                              • \n

                                \n addresses.primary - Whether the private IPv4 address is the\n primary IP address associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n addresses.private-ip-address - The private IPv4 addresses\n associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

                                \n
                              • \n
                              • \n

                                \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

                                \n
                              • \n
                              • \n

                                \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

                                \n
                              • \n
                              • \n

                                \n attachment.attach-time - The time that the network interface was\n attached to an instance.

                                \n
                              • \n
                              • \n

                                \n attachment.attachment-id - The ID of the interface\n attachment.

                                \n
                              • \n
                              • \n

                                \n attachment.delete-on-termination - Indicates whether the\n attachment is deleted when an instance is terminated.

                                \n
                              • \n
                              • \n

                                \n attachment.device-index - The device index to which the network\n interface is attached.

                                \n
                              • \n
                              • \n

                                \n attachment.instance-id - The ID of the instance to which the\n network interface is attached.

                                \n
                              • \n
                              • \n

                                \n attachment.instance-owner-id - The owner ID of the instance to\n which the network interface is attached.

                                \n
                              • \n
                              • \n

                                \n attachment.status - The status of the attachment\n (attaching | attached | detaching |\n detached).

                                \n
                              • \n
                              • \n

                                \n availability-zone - The Availability Zone of the network\n interface.

                                \n
                              • \n
                              • \n

                                \n description - The description of the network interface.

                                \n
                              • \n
                              • \n

                                \n group-id - The ID of a security group associated with the network\n interface.

                                \n
                              • \n
                              • \n

                                \n ipv6-addresses.ipv6-address - An IPv6 address associated with the\n network interface.

                                \n
                              • \n
                              • \n

                                \n interface-type - The type of network interface\n (api_gateway_managed |\n aws_codestar_connections_managed | branch |\n ec2_instance_connect_endpoint | efa |\n efa-only | efs |\n evs |\n gateway_load_balancer |\n gateway_load_balancer_endpoint |\n global_accelerator_managed | interface |\n iot_rules_managed | lambda |\n load_balancer | nat_gateway |\n network_load_balancer | quicksight |\n transit_gateway | trunk |\n vpc_endpoint).

                                \n
                              • \n
                              • \n

                                \n mac-address - The MAC address of the network interface.

                                \n
                              • \n
                              • \n

                                \n network-interface-id - The ID of the network interface.

                                \n
                              • \n
                              • \n

                                \n operator.managed - A Boolean that indicates whether this is a\n managed network interface.

                                \n
                              • \n
                              • \n

                                \n operator.principal - The principal that manages the network\n interface. Only valid for managed network interfaces, where managed\n is true.

                                \n
                              • \n
                              • \n

                                \n owner-id - The Amazon Web Services account ID of the network\n interface owner.

                                \n
                              • \n
                              • \n

                                \n private-dns-name - The private DNS name of the network interface\n (IPv4).

                                \n
                              • \n
                              • \n

                                \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

                                \n
                              • \n
                              • \n

                                \n requester-id - The alias or Amazon Web Services account ID of the\n principal or service that created the network interface.

                                \n
                              • \n
                              • \n

                                \n requester-managed - Indicates whether the network interface is\n being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

                                \n
                              • \n
                              • \n

                                \n source-dest-check - Indicates whether the network interface\n performs source/destination checking. A value of true means\n checking is enabled, and false means checking is disabled. The\n value must be false for the network interface to perform network\n address translation (NAT) in your VPC.

                                \n
                              • \n
                              • \n

                                \n status - The status of the network interface. If the network\n interface is not attached to an instance, the status is available;\n if a network interface is attached to an instance the status is\n in-use.

                                \n
                              • \n
                              • \n

                                \n subnet-id - The ID of the subnet for the network\n interface.

                                \n
                              • \n
                              • \n

                                \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                \n
                              • \n
                              • \n

                                \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                \n
                              • \n
                              • \n

                                \n vpc-id - The ID of the VPC for the network interface.

                                \n
                              • \n
                              ", "smithy.api#xmlName": "filter" } } @@ -66198,7 +66215,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

                              The type of network interface.

                              \n

                              Valid values: interface | efa | efa-only |\n trunk\n

                              ", + "smithy.api#documentation": "

                              The type of network interface.

                              \n

                              Valid values: interface | efa | efa-only | evs |\n trunk\n

                              ", "smithy.api#xmlName": "interfaceType" } }, @@ -84817,6 +84834,13 @@ "smithy.api#documentation": "

                              Indicates whether to assign a public IPv4 address to a network interface. This option\n can be enabled for any network interface but will only apply to the primary network\n interface (eth0).

                              " } }, + "AssociatedSubnetIds": { + "target": "com.amazonaws.ec2#SubnetIdList", + "traits": { + "smithy.api#documentation": "

                              A list of subnet IDs to associate with the network interface.

                              ", + "smithy.api#xmlName": "AssociatedSubnetId" + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -90233,6 +90257,14 @@ "smithy.api#documentation": "

                              The service provider that manages the network interface.

                              ", "smithy.api#xmlName": "operator" } + }, + "AssociatedSubnets": { + "target": "com.amazonaws.ec2#AssociatedSubnetList", + "traits": { + "aws.protocols#ec2QueryName": "AssociatedSubnetSet", + "smithy.api#documentation": "

                              The subnets associated with this network interface.

                              ", + "smithy.api#xmlName": "associatedSubnetSet" + } } }, "traits": { @@ -108792,6 +108824,14 @@ "smithy.api#xmlName": "blockPublicAccessStates" } }, + "Type": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Type", + "smithy.api#documentation": "

                              Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS).\n Possible values are Elastic VMware Service or no value. For more\n information about Amazon EVS, see \n Amazon Elastic VMware Service\n API Reference\n .

                              ", + "smithy.api#xmlName": "type" + } + }, "SubnetId": { "target": "com.amazonaws.ec2#String", "traits": { @@ -108804,7 +108844,7 @@ "target": "com.amazonaws.ec2#SubnetState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

                              The current state of the subnet.

                              ", + "smithy.api#documentation": "

                              The current state of the subnet.

                              \n
                                \n
                              • \n

                                \n failed: The underlying infrastructure to support the subnet failed to provision\n as expected.

                                \n
                              • \n
                              • \n

                                \n failed-insufficient-capacity: The underlying infrastructure to support the subnet\n failed to provision due to a shortage of EC2 instance capacity.

                                \n
                              • \n
                              ", "smithy.api#xmlName": "state" } }, @@ -109093,6 +109133,15 @@ "com.amazonaws.ec2#SubnetId": { "type": "string" }, + "com.amazonaws.ec2#SubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SubnetId", + "traits": { + "smithy.api#xmlName": "AssociatedSubnetId" + } + } + }, "com.amazonaws.ec2#SubnetIdStringList": { "type": "list", "member": { @@ -109221,6 +109270,18 @@ "traits": { "smithy.api#enumValue": "unavailable" } + }, + "failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "failed_insufficient_capacity": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-insufficient-capacity" + } } } }, diff --git a/tools/code-generation/smithy/api-descriptions/ecr.json b/tools/code-generation/smithy/api-descriptions/ecr.json index 858a8fcb95c..e2705943b1c 100644 --- a/tools/code-generation/smithy/api-descriptions/ecr.json +++ b/tools/code-generation/smithy/api-descriptions/ecr.json @@ -2095,6 +2095,18 @@ "smithy.api#documentation": "

                              The date and time the Amazon ECR container image was pushed.

                              " } }, + "lastInUseAt": { + "target": "com.amazonaws.ecr#Date", + "traits": { + "smithy.api#documentation": "

                              The most recent date and time a cluster was running the image.

                              " + } + }, + "inUseCount": { + "target": "com.amazonaws.ecr#InUseCount", + "traits": { + "smithy.api#documentation": "

                              The number of Amazon ECS or Amazon EKS clusters currently running the\n image.

                              " + } + }, "registry": { "target": "com.amazonaws.ecr#RegistryId", "traits": { @@ -2645,7 +2657,7 @@ "upstreamRegistryUrl": { "target": "com.amazonaws.ecr#Url", "traits": { - "smithy.api#documentation": "

                              The registry URL of the upstream public registry to use as the source for the pull\n through cache rule. The following is the syntax to use for each supported upstream\n registry.

                              \n
                                \n
                              • \n

                                Amazon ECR (ecr) –\n dkr.ecr..amazonaws.com\n

                                \n
                              • \n
                              • \n

                                Amazon ECR Public (ecr-public) – public.ecr.aws\n

                                \n
                              • \n
                              • \n

                                Docker Hub (docker-hub) –\n registry-1.docker.io\n

                                \n
                              • \n
                              • \n

                                GitHub Container Registry (github-container-registry) –\n ghcr.io\n

                                \n
                              • \n
                              • \n

                                GitLab Container Registry (gitlab-container-registry) –\n registry.gitlab.com\n

                                \n
                              • \n
                              • \n

                                Kubernetes (k8s) – registry.k8s.io\n

                                \n
                              • \n
                              • \n

                                Microsoft Azure Container Registry (azure-container-registry) –\n .azurecr.io\n

                                \n
                              • \n
                              • \n

                                Quay (quay) – quay.io\n

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The registry URL of the upstream public registry to use as the source for the pull\n through cache rule. The following is the syntax to use for each supported upstream\n registry.

                              \n
                                \n
                              • \n

                                Amazon ECR (ecr) –\n .dkr.ecr..amazonaws.com\n

                                \n
                              • \n
                              • \n

                                Amazon ECR Public (ecr-public) – public.ecr.aws\n

                                \n
                              • \n
                              • \n

                                Docker Hub (docker-hub) –\n registry-1.docker.io\n

                                \n
                              • \n
                              • \n

                                GitHub Container Registry (github-container-registry) –\n ghcr.io\n

                                \n
                              • \n
                              • \n

                                GitLab Container Registry (gitlab-container-registry) –\n registry.gitlab.com\n

                                \n
                              • \n
                              • \n

                                Kubernetes (k8s) – registry.k8s.io\n

                                \n
                              • \n
                              • \n

                                Microsoft Azure Container Registry (azure-container-registry) –\n .azurecr.io\n

                                \n
                              • \n
                              • \n

                                Quay (quay) – quay.io\n

                                \n
                              • \n
                              ", "smithy.api#required": {} } }, @@ -3807,7 +3819,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns metadata about the images in a repository.

                              \n \n

                              Beginning with Docker version 1.9, the Docker client compresses image layers\n before pushing them to a V2 Docker registry. The output of the docker\n images command shows the uncompressed image size, so it may return a\n larger image size than the image sizes returned by DescribeImages.

                              \n
                              ", + "smithy.api#documentation": "

                              Returns metadata about the images in a repository.

                              \n \n

                              Starting with Docker version 1.9, the Docker client compresses image layers before\n pushing them to a V2 Docker registry. The output of the docker images\n command shows the uncompressed image size. Therefore, Docker might return a larger\n image than the image shown in the Amazon Web Services Management Console.

                              \n
                              \n \n

                              The new version of Amazon ECR Basic Scanning doesn't use the\n ImageDetail$imageScanFindingsSummary and\n ImageDetail$imageScanStatus\n attributes from the API response to return scan results.\n Use the DescribeImageScanFindings API instead. For more\n information about Amazon Web Services native basic scanning, see Scan images for software\n vulnerabilities in Amazon ECR.

                              \n
                              ", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -4623,7 +4635,7 @@ "authorizationData": { "target": "com.amazonaws.ecr#AuthorizationDataList", "traits": { - "smithy.api#documentation": "

                              A list of authorization token data objects that correspond to the\n registryIds values in the request.

                              " + "smithy.api#documentation": "

                              A list of authorization token data objects that correspond to the\n registryIds values in the request.

                              \n \n

                              The size of the authorization token returned by Amazon ECR is not fixed. We recommend\n that you don't make assumptions about the maximum size.

                              \n
                              " } } }, @@ -4834,7 +4846,7 @@ "maxResults": { "target": "com.amazonaws.ecr#LifecyclePreviewMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of repository results returned by\n GetLifecyclePolicyPreviewRequest in\u2028 paginated output. When this\n parameter is used, GetLifecyclePolicyPreviewRequest only returns\u2028\n maxResults results in a single page along with a\n nextToken\u2028 response element. The remaining results of the initial request\n can be seen by sending\u2028 another GetLifecyclePolicyPreviewRequest request\n with the returned nextToken\u2028 value. This value can be between\n 1 and 1000. If this\u2028 parameter is not used, then\n GetLifecyclePolicyPreviewRequest returns up to\u2028 100\n results and a nextToken value, if\u2028 applicable. This option cannot be used\n when you specify images with imageIds.

                              " + "smithy.api#documentation": "

                              The maximum number of repository results returned by\n GetLifecyclePolicyPreviewRequest in\u2028 paginated output. When this\n parameter is used, GetLifecyclePolicyPreviewRequest only returns\u2028\n maxResults results in a single page along with a\n nextToken\u2028 response element. The remaining results of the initial request\n can be seen by sending\u2028 another GetLifecyclePolicyPreviewRequest request\n with the returned nextToken\u2028 value. This value can be between\n 1 and 100. If this\u2028 parameter is not used, then\n GetLifecyclePolicyPreviewRequest returns up to\u2028100\n results and a nextToken value, if\u2028 applicable. This option cannot be used\n when you specify images with imageIds.

                              " } }, "filter": { @@ -5243,7 +5255,7 @@ "imageSizeInBytes": { "target": "com.amazonaws.ecr#ImageSizeInBytes", "traits": { - "smithy.api#documentation": "

                              The size, in bytes, of the image in the repository.

                              \n

                              If the image is a manifest list, this will be the max size of all manifests in the\n list.

                              \n \n

                              Starting with Docker version 1.9, the Docker client compresses image layers before\n pushing them to a V2 Docker registry. The output of the docker images\n command shows the uncompressed image size. Therefore, Docker might return a larger\n image than the image sizes returned by DescribeImages.

                              \n
                              " + "smithy.api#documentation": "

                              The size, in bytes, of the image in the repository.

                              \n

                              If the image is a manifest list, this will be the max size of all manifests in the\n list.

                              \n \n

                              Starting with Docker version 1.9, the Docker client compresses image layers before\n pushing them to a V2 Docker registry. The output of the docker images\n command shows the uncompressed image size. Therefore, Docker might return a larger\n image than the image shown in the Amazon Web Services Management Console.

                              \n
                              " } }, "imagePushedAt": { @@ -5701,6 +5713,14 @@ "target": "com.amazonaws.ecr#ImageTag" } }, + "com.amazonaws.ecr#InUseCount": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.ecr#InitiateLayerUpload": { "type": "operation", "input": { @@ -7699,7 +7719,7 @@ "imageTagMutability": { "target": "com.amazonaws.ecr#ImageTagMutability", "traits": { - "smithy.api#documentation": "

                              The tag mutability setting for the repository. If this parameter is omitted, the\n default setting of MUTABLE will be used which will allow image tags to be overwritten.\n If IMMUTABLE is specified, all image tags within the repository will be immutable which\n will prevent them from being overwritten.

                              " + "smithy.api#documentation": "

                              The tag mutability setting for the repository. If this parameter is omitted, the\n default setting of MUTABLE will be used which will allow image tags to be overwritten.\n If IMMUTABLE is specified, all image tags within the repository will be immutable which\n will prevent them from being overwritten.

                              " } }, "repositoryPolicy": { diff --git a/tools/code-generation/smithy/api-descriptions/ecs.json b/tools/code-generation/smithy/api-descriptions/ecs.json index a937e6738d1..236782d3e5c 100644 --- a/tools/code-generation/smithy/api-descriptions/ecs.json +++ b/tools/code-generation/smithy/api-descriptions/ecs.json @@ -2314,7 +2314,7 @@ "image": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

                              The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the docker\n\t\t\tcontainer create command and the IMAGE parameter of docker run.

                              \n
                                \n
                              • \n

                                When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

                                \n
                              • \n
                              • \n

                                Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

                                \n
                              • \n
                              • \n

                                Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

                                \n
                              • \n
                              • \n

                                Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

                                \n
                              • \n
                              • \n

                                Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . For images using tags (repository-url/image:tag), up to 255 characters total are allowed, including letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs (#). For images using digests (repository-url/image@digest), the 255 character limit applies only to the repository URL and image name (everything before the @ sign). The only supported hash function is sha256, and the hash value after sha256: must be exactly 64 characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter maps to Image in the docker\n\t\t\tcontainer create command and the IMAGE parameter of docker run.

                              \n
                                \n
                              • \n

                                When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

                                \n
                              • \n
                              • \n

                                Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

                                \n
                              • \n
                              • \n

                                Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

                                \n
                              • \n
                              • \n

                                Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

                                \n
                              • \n
                              • \n

                                Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

                                \n
                              • \n
                              " } }, "repositoryCredentials": { @@ -3239,7 +3239,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n \n

                              Amazon Elastic Inference (EI) is no longer available to customers.

                              \n
                              \n

                              In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

                              \n

                              There are two service scheduler strategies available:

                              \n
                                \n
                              • \n

                                \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                                \n
                              • \n
                              • \n

                                \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                                \n
                              • \n
                              \n

                              You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent is 0%.

                              \n

                              If a service uses the ECS deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.

                              \n

                              If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.

                              \n

                              If a service uses either the CODE_DEPLOY or EXTERNAL\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING state.\n\t\t\tThis is while the container instances are in the DRAINING state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.

                              \n

                              When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                              \n

                              When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n

                              ", + "smithy.api#documentation": "

                              Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n \n

                              Amazon Elastic Inference (EI) is no longer available to customers.

                              \n
                              \n

                              In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

                              \n

                              There are two service scheduler strategies available:

                              \n
                                \n
                              • \n

                                \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                                \n
                              • \n
                              • \n

                                \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

                                \n
                              • \n
                              \n

                              You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent is 0%.

                              \n

                              If a service uses the ECS deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.

                              \n

                              If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.

                              \n

                              If a service uses either the CODE_DEPLOY or EXTERNAL\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING state.\n\t\t\tThis is while the container instances are in the DRAINING state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.

                              \n

                              When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

                              \n

                              When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n

                              ", "smithy.api#examples": [ { "title": "To create a new service", @@ -6970,7 +6970,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              An object representing a container health check. Health check parameters that are\n\t\t\tspecified in a container definition override any Docker health checks that exist in the\n\t\t\tcontainer image (such as those specified in a parent image or from the image's\n\t\t\tDockerfile). This configuration maps to the HEALTHCHECK parameter of docker\n\t\t\trun.

                              \n \n

                              The Amazon ECS container agent only monitors and reports on the health checks specified\n\t\t\t\tin the task definition. Amazon ECS does not monitor Docker health checks that are\n\t\t\t\tembedded in a container image and not specified in the container definition. Health\n\t\t\t\tcheck parameters that are specified in a container definition override any Docker\n\t\t\t\thealth checks that exist in the container image.

                              \n
                              \n

                              You can view the health status of both individual containers and a task with the\n\t\t\tDescribeTasks API operation or when viewing the task details in the console.

                              \n

                              The health check is designed to make sure that your containers survive agent restarts,\n\t\t\tupgrades, or temporary unavailability.

                              \n

                              Amazon ECS performs health checks on containers with the default that launched the\n\t\t\tcontainer instance or the task.

                              \n

                              The following describes the possible healthStatus values for a\n\t\t\tcontainer:

                              \n
                                \n
                              • \n

                                \n HEALTHY-The container health check has passed\n\t\t\t\t\tsuccessfully.

                                \n
                              • \n
                              • \n

                                \n UNHEALTHY-The container health check has failed.

                                \n
                              • \n
                              • \n

                                \n UNKNOWN-The container health check is being evaluated,\n\t\t\t\t\tthere's no container health check defined, or Amazon ECS doesn't have the health\n\t\t\t\t\tstatus of the container.

                                \n
                              • \n
                              \n

                              The following describes the possible healthStatus values based on the\n\t\t\tcontainer health checker status of essential containers in the task with the following\n\t\t\tpriority order (high to low):

                              \n
                                \n
                              • \n

                                \n UNHEALTHY-One or more essential containers have failed\n\t\t\t\t\ttheir health check.

                                \n
                              • \n
                              • \n

                                \n UNKNOWN-Any essential container running within the task is\n\t\t\t\t\tin an UNKNOWN state and no other essential containers have an\n\t\t\t\t\t\tUNHEALTHY state.

                                \n
                              • \n
                              • \n

                                \n HEALTHY-All essential containers within the task have\n\t\t\t\t\tpassed their health checks.

                                \n
                              • \n
                              \n

                              Consider the following task health example with 2 containers.

                              \n
                                \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, the task health is UNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, the task health is UNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tthe task health is UNKNOWN.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tthe task health is HEALTHY.

                                \n
                              • \n
                              \n

                              Consider the following task health example with 3 containers.

                              \n
                                \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is UNKNOWN, the task health is\n\t\t\t\t\t\tUNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tUNKNOWN.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is UNKNOWN, the task health is\n\t\t\t\t\tUNKNOWN.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tHEALTHY.

                                \n
                              • \n
                              \n

                              If a task is run manually, and not as part of a service, the task will continue its\n\t\t\tlifecycle regardless of its health status. For tasks that are part of a service, if the\n\t\t\ttask reports as unhealthy then the task will be stopped and the service scheduler will\n\t\t\treplace it.

                              \n

                              The following are notes about container health check support:

                              \n
                                \n
                              • \n

                                If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this\n\t\t\t\t\twon't cause a container to transition to an UNHEALTHY status. This\n\t\t\t\t\tis by design, to ensure that containers remain running during agent restarts or\n\t\t\t\t\ttemporary unavailability. The health check status is the \"last heard from\"\n\t\t\t\t\tresponse from the Amazon ECS agent, so if the container was considered\n\t\t\t\t\t\tHEALTHY prior to the disconnect, that status will remain until\n\t\t\t\t\tthe agent reconnects and another health check occurs. There are no assumptions\n\t\t\t\t\tmade about the status of the container health checks.

                                \n
                              • \n
                              • \n

                                Container health checks require version 1.17.0 or greater of the\n\t\t\t\t\tAmazon ECS container agent. For more information, see Updating the\n\t\t\t\t\t\tAmazon ECS container agent.

                                \n
                              • \n
                              • \n

                                Container health checks are supported for Fargate tasks if\n\t\t\t\t\tyou're using platform version 1.1.0 or greater. For more\n\t\t\t\t\tinformation, see Fargate\n\t\t\t\t\t\tplatform versions.

                                \n
                              • \n
                              • \n

                                Container health checks aren't supported for tasks that are part of a service\n\t\t\t\t\tthat's configured to use a Classic Load Balancer.

                                \n
                              • \n
                              \n

                              For an example of how to specify a task definition with multiple containers where\n\t\t\tcontainer dependency is specified, see Container dependency in the Amazon Elastic Container Service Developer Guide.

                              " + "smithy.api#documentation": "

                              An object representing a container health check. Health check parameters that are\n\t\t\tspecified in a container definition override any Docker health checks that exist in the\n\t\t\tcontainer image (such as those specified in a parent image or from the image's\n\t\t\tDockerfile). This configuration maps to the HEALTHCHECK parameter of docker\n\t\t\trun.

                              \n \n

                              The Amazon ECS container agent only monitors and reports on the health checks specified\n\t\t\t\tin the task definition. Amazon ECS does not monitor Docker health checks that are\n\t\t\t\tembedded in a container image and not specified in the container definition. Health\n\t\t\t\tcheck parameters that are specified in a container definition override any Docker\n\t\t\t\thealth checks that exist in the container image.

                              \n
                              \n

                              You can view the health status of both individual containers and a task with the\n\t\t\tDescribeTasks API operation or when viewing the task details in the console.

                              \n

                              The health check is designed to make sure that your containers survive agent restarts,\n\t\t\tupgrades, or temporary unavailability.

                              \n

                              Amazon ECS performs health checks on containers with the default that launched the\n\t\t\tcontainer instance or the task.

                              \n

                              The following describes the possible healthStatus values for a\n\t\t\tcontainer:

                              \n
                                \n
                              • \n

                                \n HEALTHY-The container health check has passed\n\t\t\t\t\tsuccessfully.

                                \n
                              • \n
                              • \n

                                \n UNHEALTHY-The container health check has failed.

                                \n
                              • \n
                              • \n

                                \n UNKNOWN-The container health check is being evaluated,\n\t\t\t\t\tthere's no container health check defined, or Amazon ECS doesn't have the health\n\t\t\t\t\tstatus of the container.

                                \n
                              • \n
                              \n

                              The following describes the possible healthStatus values based on the\n\t\t\tcontainer health checker status of essential containers in the task with the following\n\t\t\tpriority order (high to low):

                              \n
                                \n
                              • \n

                                \n UNHEALTHY-One or more essential containers have failed\n\t\t\t\t\ttheir health check.

                                \n
                              • \n
                              • \n

                                \n UNKNOWN-Any essential container running within the task is\n\t\t\t\t\tin an UNKNOWN state and no other essential containers have an\n\t\t\t\t\t\tUNHEALTHY state.

                                \n
                              • \n
                              • \n

                                \n HEALTHY-All essential containers within the task have\n\t\t\t\t\tpassed their health checks.

                                \n
                              • \n
                              \n

                              Consider the following task health example with 2 containers.

                              \n
                                \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, the task health is UNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, the task health is UNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tthe task health is UNKNOWN.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tthe task health is HEALTHY.

                                \n
                              • \n
                              \n

                              Consider the following task health example with 3 containers.

                              \n
                                \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is UNKNOWN, the task health is\n\t\t\t\t\t\tUNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tUNKNOWN.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is UNKNOWN, the task health is\n\t\t\t\t\tUNKNOWN.

                                \n
                              • \n
                              • \n

                                If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tHEALTHY.

                                \n
                              • \n
                              \n

                              If a task is run manually, and not as part of a service, the task will continue its\n\t\t\tlifecycle regardless of its health status. For tasks that are part of a service, if the\n\t\t\ttask reports as unhealthy then the task will be stopped and the service scheduler will\n\t\t\treplace it.

                              \n

                              When a container health check fails for a task that is part of a service, the following process occurs:

                              \n
                                \n
                              1. \n

                                The task is marked as UNHEALTHY.

                                \n
                              2. \n
                              3. \n

                                The unhealthy task will be stopped, and during the stopping process, it will go through the following states:

                                \n
                                  \n
                                • \n

                                  \n DEACTIVATING - In this state, Amazon ECS performs additional steps before stopping the\n\t\t\t\t\t\t\ttask. For example, for tasks that are part of services configured to use\n\t\t\t\t\t\t\tElastic Load Balancing target groups, target groups will be deregistered\n\t\t\t\t\t\t\tin this state.

                                  \n
                                • \n
                                • \n

                                  \n STOPPING - The task is in the process of being stopped.

                                  \n
                                • \n
                                • \n

                                  \n DEPROVISIONING - Resources associated with the task are being cleaned up.

                                  \n
                                • \n
                                • \n

                                  \n STOPPED - The task has been completely stopped.

                                  \n
                                • \n
                                \n
                              4. \n
                              5. \n

                                After the old task stops, a new task will be launched to ensure service operation, and the new task will go through the following lifecycle:

                                \n
                                  \n
                                • \n

                                  \n PROVISIONING - Resources required for the task are being provisioned.

                                  \n
                                • \n
                                • \n

                                  \n PENDING - The task is waiting to be placed on a container instance.

                                  \n
                                • \n
                                • \n

                                  \n ACTIVATING - In this state, Amazon ECS pulls container images, creates containers,\n\t\t\t\t\t\t\tconfigures task networking, registers load balancer target groups, and\n\t\t\t\t\t\t\tconfigures service discovery status.

                                  \n
                                • \n
                                • \n

                                  \n RUNNING - The task is running and performing its work.

                                  \n
                                • \n
                                \n
                              6. \n
                              \n

                              For more detailed information about task lifecycle states, see Task lifecycle in the Amazon Elastic Container Service Developer Guide.

                              \n

                              The following are notes about container health check support:

                              \n
                                \n
                              • \n

                                If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this\n\t\t\t\t\twon't cause a container to transition to an UNHEALTHY status. This\n\t\t\t\t\tis by design, to ensure that containers remain running during agent restarts or\n\t\t\t\t\ttemporary unavailability. The health check status is the \"last heard from\"\n\t\t\t\t\tresponse from the Amazon ECS agent, so if the container was considered\n\t\t\t\t\t\tHEALTHY prior to the disconnect, that status will remain until\n\t\t\t\t\tthe agent reconnects and another health check occurs. There are no assumptions\n\t\t\t\t\tmade about the status of the container health checks.

                                \n
                              • \n
                              • \n

                                Container health checks require version 1.17.0 or greater of the\n\t\t\t\t\tAmazon ECS container agent. For more information, see Updating the\n\t\t\t\t\t\tAmazon ECS container agent.

                                \n
                              • \n
                              • \n

                                Container health checks are supported for Fargate tasks if\n\t\t\t\t\tyou're using platform version 1.1.0 or greater. For more\n\t\t\t\t\tinformation, see Fargate\n\t\t\t\t\t\tplatform versions.

                                \n
                              • \n
                              • \n

                                Container health checks aren't supported for tasks that are part of a service\n\t\t\t\t\tthat's configured to use a Classic Load Balancer.

                                \n
                              • \n
                              \n

                              For an example of how to specify a task definition with multiple containers where\n\t\t\tcontainer dependency is specified, see Container dependency in the Amazon Elastic Container Service Developer Guide.

                              " } }, "com.amazonaws.ecs#HealthStatus": { @@ -9156,6 +9156,18 @@ "smithy.api#enumValue": "WINDOWS_SERVER_2022_FULL" } }, + "WINDOWS_SERVER_2025_CORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WINDOWS_SERVER_2025_CORE" + } + }, + "WINDOWS_SERVER_2025_FULL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WINDOWS_SERVER_2025_FULL" + } + }, "WINDOWS_SERVER_20H2_CORE": { "target": "smithy.api#Unit", "traits": { @@ -10606,7 +10618,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Starts a new task using the specified task definition.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n \n

                              Amazon Elastic Inference (EI) is no longer available to customers.

                              \n
                              \n

                              You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                              \n

                              Alternatively, you can use StartTask to use your own scheduler or place\n\t\t\ttasks manually on specific container instances.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

                              \n

                              To manage eventual consistency, you can do the following:

                              \n
                                \n
                              • \n

                                Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

                                \n
                              • \n
                              • \n

                                Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

                                \n
                              • \n
                              \n

                              If you get a ConflictException error, the RunTask request could\n\t\t\tnot be processed due to conflicts. The provided clientToken is already in\n\t\t\tuse with a different RunTask request. The resourceIds are the\n\t\t\texisting task ARNs which are already associated with the clientToken.

                              \n

                              To fix this issue:

                              \n
                                \n
                              • \n

                                Run RunTask with a unique clientToken.

                                \n
                              • \n
                              • \n

                                Run RunTask with the clientToken and the original\n\t\t\t\t\tset of parameters

                                \n
                              • \n
                              \n

                              If you get a ClientExceptionerror, the RunTask could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\tPROVISIONING per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.

                              ", + "smithy.api#documentation": "

                              Starts a new task using the specified task definition.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n \n

                              Amazon Elastic Inference (EI) is no longer available to customers.

                              \n
                              \n

                              You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                              \n

                              Alternatively, you can use StartTask to use your own scheduler or place\n\t\t\ttasks manually on specific container instances.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

                              \n

                              To manage eventual consistency, you can do the following:

                              \n
                                \n
                              • \n

                                Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

                                \n
                              • \n
                              • \n

                                Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

                                \n
                              • \n
                              \n

                              If you get a ConflictException error, the RunTask request could\n\t\t\tnot be processed due to conflicts. The provided clientToken is already in\n\t\t\tuse with a different RunTask request. The resourceIds are the\n\t\t\texisting task ARNs which are already associated with the clientToken.

                              \n

                              To fix this issue:

                              \n
                                \n
                              • \n

                                Run RunTask with a unique clientToken.

                                \n
                              • \n
                              • \n

                                Run RunTask with the clientToken and the original\n\t\t\t\t\tset of parameters

                                \n
                              • \n
                              \n

                              If you get a ClientExceptionerror, the RunTask could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\tPROVISIONING per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.

                              ", "smithy.api#examples": [ { "title": "To run a task on your default cluster", @@ -12231,7 +12243,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n \n

                              Amazon Elastic Inference (EI) is no longer available to customers.

                              \n
                              \n

                              Alternatively, you can useRunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              ", + "smithy.api#documentation": "

                              Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n \n

                              Amazon Elastic Inference (EI) is no longer available to customers.

                              \n
                              \n

                              Alternatively, you can useRunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              ", "smithy.api#examples": [ { "title": "To start a new task", @@ -15221,7 +15233,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Modifies the parameters of a service.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n

                              For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update\n\t\t\tyour volume configurations and trigger a new deployment.\n\t\t\t\tvolumeConfigurations is only supported for REPLICA service and not\n\t\t\tDAEMON service. If you leave volumeConfigurations\n null, it doesn't trigger a new deployment. For more infomation on volumes,\n\t\t\tsee Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

                              \n

                              For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

                              \n

                              You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              If you have updated the container image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

                              \n \n

                              If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

                              \n
                              \n

                              You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

                              \n
                                \n
                              • \n

                                If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

                                \n
                              • \n
                              • \n

                                The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

                                \n
                              • \n
                              \n

                              When UpdateService\n\t\t\tstops a task during a deployment, the equivalent of docker stop is issued\n\t\t\tto the containers running in the task. This results in a SIGTERM and a\n\t\t\t30-second timeout. After this, SIGKILL is sent and the containers are\n\t\t\tforcibly stopped. If the container handles the SIGTERM gracefully and exits\n\t\t\twithin 30 seconds from receiving it, no SIGKILL is sent.

                              \n

                              When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

                              \n
                                \n
                              • \n

                                Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

                                \n
                              • \n
                              • \n

                                By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

                                \n
                                  \n
                                • \n

                                  Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

                                  \n
                                • \n
                                • \n

                                  Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

                                  \n
                                • \n
                                \n
                              • \n
                              \n

                              When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

                              \n
                                \n
                              • \n

                                Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

                                \n
                              • \n
                              • \n

                                Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

                                \n
                              • \n
                              \n \n

                              You must have a service-linked role when you update any of the following service\n\t\t\t\tproperties:

                              \n
                                \n
                              • \n

                                \n loadBalancers,

                                \n
                              • \n
                              • \n

                                \n serviceRegistries\n

                                \n
                              • \n
                              \n

                              For more information about the role see the CreateService request\n\t\t\t\tparameter \n role\n .

                              \n
                              ", + "smithy.api#documentation": "

                              Modifies the parameters of a service.

                              \n \n

                              On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

                              \n
                              \n

                              For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update\n\t\t\tyour volume configurations and trigger a new deployment.\n\t\t\t\tvolumeConfigurations is only supported for REPLICA service and not\n\t\t\tDAEMON service. If you leave volumeConfigurations\n null, it doesn't trigger a new deployment. For more information on volumes,\n\t\t\tsee Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

                              \n

                              For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

                              \n

                              You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

                              \n

                              You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

                              \n

                              If you have updated the container image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

                              \n \n

                              If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

                              \n
                              \n

                              You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

                              \n
                                \n
                              • \n

                                If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

                                \n
                              • \n
                              • \n

                                The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

                                \n
                              • \n
                              \n

                              When UpdateService\n\t\t\tstops a task during a deployment, the equivalent of docker stop is issued\n\t\t\tto the containers running in the task. This results in a SIGTERM and a\n\t\t\t30-second timeout. After this, SIGKILL is sent and the containers are\n\t\t\tforcibly stopped. If the container handles the SIGTERM gracefully and exits\n\t\t\twithin 30 seconds from receiving it, no SIGKILL is sent.

                              \n

                              When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

                              \n
                                \n
                              • \n

                                Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

                                \n
                              • \n
                              • \n

                                By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

                                \n
                                  \n
                                • \n

                                  Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

                                  \n
                                • \n
                                • \n

                                  Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

                                  \n
                                • \n
                                \n
                              • \n
                              \n

                              When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

                              \n
                                \n
                              • \n

                                Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

                                \n
                              • \n
                              • \n

                                Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

                                \n
                              • \n
                              ", "smithy.api#examples": [ { "title": "To change the number of tasks in a service", @@ -15378,7 +15390,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

                              The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

                              " + "smithy.api#documentation": "

                              The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

                              \n

                              You can't change the cluster name.

                              " } }, "service": { @@ -15403,7 +15415,7 @@ "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

                              The capacity provider strategy to update the service to use.

                              \n

                              if the service uses the default capacity provider strategy for the cluster, the\n\t\t\tservice can be updated to use one or more capacity providers as opposed to the default\n\t\t\tcapacity provider strategy. However, when a service is using a capacity provider\n\t\t\tstrategy that's not the default capacity provider strategy, the service can't be updated\n\t\t\tto use the cluster's default capacity provider strategy.

                              \n

                              A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

                              \n

                              If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateClusterCapacityProvider API operation.

                              \n

                              To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

                              \n

                              The PutClusterCapacityProvidersAPI operation is used to update the list of\n\t\t\tavailable capacity providers for a cluster after the cluster is created.

                              \n

                              " + "smithy.api#documentation": "

                              The details of a capacity provider strategy. You can set a capacity provider when you\n\t\t\tcreate a cluster, run a task, or update a service.

                              \n

                              When you use Fargate, the capacity providers are FARGATE or\n\t\t\t\tFARGATE_SPOT.

                              \n

                              When you use Amazon EC2, the capacity providers are Auto Scaling groups.

                              \n

                              You can change capacity providers for rolling deployments and blue/green\n\t\t\tdeployments.

                              \n

                              The following list provides the valid transitions:

                              \n
                                \n
                              • \n

                                Update the Fargate launch type to an Auto Scaling group capacity provider.

                                \n
                              • \n
                              • \n

                                Update the Amazon EC2 launch type to a Fargate capacity provider.

                                \n
                              • \n
                              • \n

                                Update the Fargate capacity provider to an Auto Scaling group capacity provider.

                                \n
                              • \n
                              • \n

                                Update the Amazon EC2 capacity provider to a Fargate capacity provider.

                                \n
                              • \n
                              • \n

                                Update the Auto Scaling group or Fargate capacity provider back to the launch type.

                                \n

                                Pass an empty list in the capacityProviderStrategy parameter.

                                \n
                              • \n
                              \n

                              For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

                              " } }, "deploymentConfiguration": { @@ -15470,7 +15482,7 @@ "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

                              A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the\n\t\t\tcontainer name, and the container port to access from the load balancer. The container\n\t\t\tname is as it appears in a container definition.

                              \n

                              When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks\n\t\t\twith the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks\n\t\t\tare running.

                              \n

                              For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target\n\t\t\tgroups. You can update from a single target group to multiple target groups and from\n\t\t\tmultiple target groups to a single target group.

                              \n

                              For services that use blue/green deployments, you can update Elastic Load Balancing target groups by\n\t\t\tusing \n CreateDeployment\n through CodeDeploy. Note that multiple target groups\n\t\t\tare not supported for blue/green deployments. For more information see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                              \n

                              For services that use the external deployment controller, you can add, update, or\n\t\t\tremove load balancers by using CreateTaskSet.\n\t\t\tNote that multiple target groups are not supported for external deployments. For more\n\t\t\tinformation see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                              \n

                              You can remove existing loadBalancers by passing an empty list.

                              " + "smithy.api#documentation": "\n

                              You must have a service-linked role when you update this property

                              \n
                              \n

                              A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the\n\t\t\tcontainer name, and the container port to access from the load balancer. The container\n\t\t\tname is as it appears in a container definition.

                              \n

                              When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks\n\t\t\twith the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks\n\t\t\tare running.

                              \n

                              For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target\n\t\t\tgroups. You can update from a single target group to multiple target groups and from\n\t\t\tmultiple target groups to a single target group.

                              \n

                              For services that use blue/green deployments, you can update Elastic Load Balancing target groups by\n\t\t\tusing \n CreateDeployment\n through CodeDeploy. Note that multiple target groups\n\t\t\tare not supported for blue/green deployments. For more information see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                              \n

                              For services that use the external deployment controller, you can add, update, or\n\t\t\tremove load balancers by using CreateTaskSet.\n\t\t\tNote that multiple target groups are not supported for external deployments. For more\n\t\t\tinformation see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

                              \n

                              You can remove existing loadBalancers by passing an empty list.

                              " } }, "propagateTags": { @@ -15482,7 +15494,7 @@ "serviceRegistries": { "target": "com.amazonaws.ecs#ServiceRegistries", "traits": { - "smithy.api#documentation": "

                              The details for the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

                              \n

                              When you add, update, or remove the service registries configuration, Amazon ECS starts new\n\t\t\ttasks with the updated service registries configuration, and then stops the old tasks\n\t\t\twhen the new tasks are running.

                              \n

                              You can remove existing serviceRegistries by passing an empty\n\t\t\tlist.

                              " + "smithy.api#documentation": "\n

                              You must have a service-linked role when you update this property.

                              \n

                              For more information about the role see the CreateService request\n\t\t\t\tparameter \n role\n .

                              \n
                              \n

                              The details for the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

                              \n

                              When you add, update, or remove the service registries configuration, Amazon ECS starts new\n\t\t\ttasks with the updated service registries configuration, and then stops the old tasks\n\t\t\twhen the new tasks are running.

                              \n

                              You can remove existing serviceRegistries by passing an empty\n\t\t\tlist.

                              " } }, "serviceConnectConfiguration": { diff --git a/tools/code-generation/smithy/api-descriptions/efs.json b/tools/code-generation/smithy/api-descriptions/efs.json index 68696e8d6b2..1cdec4a0301 100644 --- a/tools/code-generation/smithy/api-descriptions/efs.json +++ b/tools/code-generation/smithy/api-descriptions/efs.json @@ -94,7 +94,7 @@ "AccessPointArn": { "target": "com.amazonaws.efs#AccessPointArn", "traits": { - "smithy.api#documentation": "

                              The unique Amazon Resource Name (ARN) associated with the access point.

                              " + "smithy.api#documentation": "

                              The unique Amazon Resource Name (ARN) associated with the access\n point.

                              " } }, "FileSystemId": { @@ -337,7 +337,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates an EFS access point. An access point is an application-specific view\n into an EFS file system that applies an operating system user and group, and a file\n system path, to any file system request made through the access point. The operating system\n user and group override any identity information provided by the NFS client. The file system\n path is exposed as the access point's root directory. Applications using the access point can\n only access data in the application's own directory and any subdirectories. To learn more, see\n Mounting a file\n system using EFS access points.

                              \n \n

                              If multiple requests to create access points on the same file system are sent in quick\n succession, and the file system is near the limit of 1,000 access points, you may experience\n a throttling response for these requests. This is to ensure that the file system does not\n exceed the stated access point limit.

                              \n
                              \n

                              This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

                              \n

                              Access points can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting\n permissions to tag resources during creation.

                              ", + "smithy.api#documentation": "

                              Creates an EFS access point. An access point is an application-specific view\n into an EFS file system that applies an operating system user and group, and a file\n system path, to any file system request made through the access point. The operating system\n user and group override any identity information provided by the NFS client. The file system\n path is exposed as the access point's root directory. Applications using the access point can\n only access data in the application's own directory and any subdirectories. A file system can\n have a maximum of 10,000 access points unless you request an increase. To learn more, see\n Mounting a file\n system using EFS access points.

                              \n \n

                              If multiple requests to create access points on the same file system are sent in quick\n succession, and the file system is near the limit of access points, you may experience a\n throttling response for these requests. This is to ensure that the file system does not\n exceed the stated access point limit.

                              \n
                              \n

                              This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

                              \n

                              Access points can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting\n permissions to tag resources during creation.

                              ", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/access-points", @@ -418,7 +418,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a new, empty file system. The operation requires a creation token in the\n request that Amazon EFS uses to ensure idempotent creation (calling the operation with same\n creation token has no effect). If a file system does not currently exist that is owned by the\n caller's Amazon Web Services account with the specified creation token, this operation does the\n following:

                              \n
                                \n
                              • \n

                                Creates a new, empty file system. The file system will have an Amazon EFS assigned\n ID, and an initial lifecycle state creating.

                                \n
                              • \n
                              • \n

                                Returns with the description of the created file system.

                                \n
                              • \n
                              \n

                              Otherwise, this operation returns a FileSystemAlreadyExists error with the\n ID of the existing file system.

                              \n \n

                              For basic use cases, you can use a randomly generated UUID for the creation\n token.

                              \n
                              \n

                              The idempotent operation allows you to retry a CreateFileSystem call without\n risk of creating an extra file system. This can happen when an initial call fails in a way\n that leaves it uncertain whether or not a file system was actually created. An example might\n be that a transport level timeout occurred or your connection was reset. As long as you use\n the same creation token, if the initial call had succeeded in creating a file system, the\n client can learn of its existence from the FileSystemAlreadyExists error.

                              \n

                              For more information, see \n Creating a file system\n in the Amazon EFS User Guide.

                              \n \n

                              The CreateFileSystem call returns while the file system's lifecycle\n state is still creating. You can check the file system creation status by\n calling the DescribeFileSystems operation, which among other things returns the file\n system state.

                              \n
                              \n

                              This operation accepts an optional PerformanceMode parameter that you choose\n for your file system. We recommend generalPurpose\n PerformanceMode for all file\n systems. The maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies\n than the generalPurpose mode. MaxIO mode is not supported for One Zone file systems or\n file systems that use Elastic throughput.

                              \n

                              The PerformanceMode can't be changed after the file system has been\n created. For more information, see Amazon EFS performance\n modes.

                              \n

                              You can set the throughput mode for the file system using the ThroughputMode\n parameter.

                              \n

                              After the file system is fully created, Amazon EFS sets its lifecycle state to\n available, at which point you can create one or more mount targets for the file\n system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in\n your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

                              \n

                              This operation requires permissions for the\n elasticfilesystem:CreateFileSystem action.

                              \n

                              File systems can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting permissions to tag resources during creation.

                              ", + "smithy.api#documentation": "

                              Creates a new, empty file system. The operation requires a creation token in the\n request that Amazon EFS uses to ensure idempotent creation (calling the operation with same\n creation token has no effect). If a file system does not currently exist that is owned by the\n caller's Amazon Web Services account with the specified creation token, this operation does the\n following:

                              \n
                                \n
                              • \n

                                Creates a new, empty file system. The file system will have an Amazon EFS assigned\n ID, and an initial lifecycle state creating.

                                \n
                              • \n
                              • \n

                                Returns with the description of the created file system.

                                \n
                              • \n
                              \n

                              Otherwise, this operation returns a FileSystemAlreadyExists error with the\n ID of the existing file system.

                              \n \n

                              For basic use cases, you can use a randomly generated UUID for the creation\n token.

                              \n
                              \n

                              The idempotent operation allows you to retry a CreateFileSystem call without\n risk of creating an extra file system. This can happen when an initial call fails in a way\n that leaves it uncertain whether or not a file system was actually created. An example might\n be that a transport level timeout occurred or your connection was reset. As long as you use\n the same creation token, if the initial call had succeeded in creating a file system, the\n client can learn of its existence from the FileSystemAlreadyExists error.

                              \n

                              For more information, see \n Creating a file system\n in the Amazon EFS User Guide.

                              \n \n

                              The CreateFileSystem call returns while the file system's lifecycle\n state is still creating. You can check the file system creation status by\n calling the DescribeFileSystems operation, which among other things returns the file\n system state.

                              \n
                              \n

                              This operation accepts an optional PerformanceMode parameter that you choose\n for your file system. We recommend generalPurpose\n PerformanceMode for all file\n systems. The maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies\n than the generalPurpose mode. MaxIO mode is not supported for One Zone file systems or\n file systems that use Elastic throughput.

                              \n

                              The PerformanceMode can't be changed after the file system has been\n created. For more information, see Amazon EFS performance\n modes.

                              \n

                              You can set the throughput mode for the file system using the ThroughputMode\n parameter.

                              \n

                              After the file system is fully created, Amazon EFS sets its lifecycle state to\n available, at which point you can create one or more mount targets for the file\n system in your VPC. For more information, see CreateMountTarget. You mount\n your Amazon EFS file system on an EC2 instances in your VPC by using the mount\n target. For more information, see Amazon EFS: How it Works.

                              \n

                              This operation requires permissions for the\n elasticfilesystem:CreateFileSystem action.

                              \n

                              File systems can be tagged on creation. If tags are specified in the creation action, IAM\n performs additional authorization on the elasticfilesystem:TagResource action to\n verify if users have permissions to create tags. Therefore, you must grant explicit\n permissions to use the elasticfilesystem:TagResource action. For more\n information, see Granting permissions to tag resources during creation.

                              ", "smithy.api#http": { "method": "POST", "uri": "/2015-02-01/file-systems", @@ -464,7 +464,7 @@ "ProvisionedThroughputInMibps": { "target": "com.amazonaws.efs#ProvisionedThroughputInMibps", "traits": { - "smithy.api#documentation": "

                              The throughput, measured in mebibytes per second (MiBps), that you want to provision for a\n file system that you're creating. Required if ThroughputMode is set to\n provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on\n Region. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas\n that you can increase in the Amazon EFS User\n Guide.

                              " + "smithy.api#documentation": "

                              The throughput, measured in mebibytes per second (MiBps), that you want to provision for a\n file system that you're creating. Required if ThroughputMode is set to\n provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on\n Region. To increase this limit, contact Amazon Web ServicesSupport. For more information, see Amazon EFS quotas\n that you can increase in the Amazon EFS User\n Guide.

                              " } }, "AvailabilityZoneName": { @@ -540,7 +540,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a mount target for a file system. You can then mount the file system on EC2\n instances by using the mount target.

                              \n

                              You can create one mount target in each Availability Zone in your VPC. All EC2\n instances in a VPC within a given Availability Zone share a single mount target for a given\n file system. If you have multiple subnets in an Availability Zone, you create a mount target\n in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target\n in order to access their file system.

                              \n

                              You can create only one mount target for a One Zone file system.\n You must create that mount target in the same Availability Zone in which the file system is\n located. Use the AvailabilityZoneName and AvailabiltyZoneId\n properties in the DescribeFileSystems response object to get this\n information. Use the subnetId associated with the file system's Availability Zone\n when creating the mount target.

                              \n

                              For more information, see Amazon EFS: How it Works.

                              \n

                              To create a mount target for a file system, the file system's lifecycle state must be\n available. For more information, see DescribeFileSystems.

                              \n

                              In the request, provide the following:

                              \n
                                \n
                              • \n

                                The file system ID for which you are creating the mount\n target.

                                \n
                              • \n
                              • \n

                                A subnet ID, which determines the following:

                                \n
                                  \n
                                • \n

                                  The VPC in which Amazon EFS creates the mount target

                                  \n
                                • \n
                                • \n

                                  The Availability Zone in which Amazon EFS creates the mount target

                                  \n
                                • \n
                                • \n

                                  The IP address range from which Amazon EFS selects the IP address of the mount target\n (if you don't specify an IP address in the request)

                                  \n
                                • \n
                                \n
                              • \n
                              \n

                              After creating the mount target, Amazon EFS returns a response that includes, a\n MountTargetId and an IpAddress. You use this IP address when\n mounting the file system in an EC2 instance. You can also use the mount target's DNS name\n when mounting the file system. The EC2 instance on which you mount the file system by using\n the mount target can resolve the mount target's DNS name to its IP address. For more\n information, see How it Works:\n Implementation Overview.

                              \n

                              Note that you can create mount targets for a file system in only one VPC, and there can\n be only one mount target per Availability Zone. That is, if the file system already has one or\n more mount targets created for it, the subnet specified in the request to add another mount\n target must meet the following requirements:

                              \n
                                \n
                              • \n

                                Must belong to the same VPC as the subnets of the existing mount targets

                                \n
                              • \n
                              • \n

                                Must not be in the same Availability Zone as any of the subnets of the existing\n mount targets

                                \n
                              • \n
                              \n

                              If the request satisfies the requirements, Amazon EFS does the following:

                              \n
                                \n
                              • \n

                                Creates a new mount target in the specified subnet.

                                \n
                              • \n
                              • \n

                                Also creates a new network interface in the subnet as follows:

                                \n
                                  \n
                                • \n

                                  If the request provides an IpAddress, Amazon EFS assigns that IP\n address to the network interface. Otherwise, Amazon EFS assigns a free address in the\n subnet (in the same way that the Amazon EC2 CreateNetworkInterface call\n does when a request does not specify a primary private IP address).

                                  \n
                                • \n
                                • \n

                                  If the request provides SecurityGroups, this network interface is\n associated with those security groups. Otherwise, it belongs to the default security\n group for the subnet's VPC.

                                  \n
                                • \n
                                • \n

                                  Assigns the description Mount target fsmt-id for\n file system fs-id\n where \n fsmt-id\n is the mount target ID, and \n fs-id\n is the FileSystemId.

                                  \n
                                • \n
                                • \n

                                  Sets the requesterManaged property of the network interface to\n true, and the requesterId value to\n EFS.

                                  \n
                                • \n
                                \n

                                Each Amazon EFS mount target has one corresponding requester-managed EC2 network\n interface. After the network interface is created, Amazon EFS sets the\n NetworkInterfaceId field in the mount target's description to the\n network interface ID, and the IpAddress field to its address. If network\n interface creation fails, the entire CreateMountTarget operation\n fails.

                                \n
                              • \n
                              \n \n

                              The CreateMountTarget call returns only after creating the network\n interface, but while the mount target state is still creating, you can check\n the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount\n target state.

                              \n
                              \n

                              We recommend that you create a mount target in each of the Availability Zones. There\n are cost considerations for using a file system in an Availability Zone through a mount target\n created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the\n instance's Availability Zone, you eliminate a partial failure scenario. If the\n Availability Zone in which your mount target is created goes down, then you can't access\n your file system through that mount target.

                              \n

                              This operation requires permissions for the following action on the file\n system:

                              \n
                                \n
                              • \n

                                \n elasticfilesystem:CreateMountTarget\n

                                \n
                              • \n
                              \n

                              This operation also requires permissions for the following Amazon EC2\n actions:

                              \n
                                \n
                              • \n

                                \n ec2:DescribeSubnets\n

                                \n
                              • \n
                              • \n

                                \n ec2:DescribeNetworkInterfaces\n

                                \n
                              • \n
                              • \n

                                \n ec2:CreateNetworkInterface\n

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Creates a mount target for a file system. You can then mount the file system on EC2\n instances by using the mount target.

                              \n

                              You can create one mount target in each Availability Zone in your VPC. All EC2 instances\n in a VPC within a given Availability Zone share a single mount target for a given file system. If\n you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets.\n EC2 instances do not need to be in the same subnet as the mount target in order to\n access their file system.

                              \n

                              You can create only one mount target for a One Zone file system. You must\n create that mount target in the same Availability Zone in which the file system is located. Use the\n AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the\n subnetId associated with the file system's Availability Zone when creating the mount\n target.

                              \n

                              For more information, see Amazon EFS: How it Works.

                              \n

                              To create a mount target for a file system, the file system's lifecycle state must be\n available. For more information, see DescribeFileSystems.

                              \n

                              In the request, provide the following:

                              \n
                                \n
                              • \n

                                The file system ID for which you are creating the mount\n target.

                                \n
                              • \n
                              • \n

                                A subnet ID, which determines the following:

                                \n
                                  \n
                                • \n

                                  The VPC in which Amazon EFS creates the mount target

                                  \n
                                • \n
                                • \n

                                  The Availability Zone in which Amazon EFS creates the mount target

                                  \n
                                • \n
                                • \n

                                  The IP address range from which Amazon EFS selects the IP address of the mount target\n (if you don't specify an IP address in the request)

                                  \n
                                • \n
                                \n
                              • \n
                              \n

                              After creating the mount target, Amazon EFS returns a response that includes, a\n MountTargetId and an IpAddress. You use this IP address when\n mounting the file system in an EC2 instance. You can also use the mount target's\n DNS name when mounting the file system. The EC2 instance on which you mount the file\n system by using the mount target can resolve the mount target's DNS name to its IP\n address. For more information, see How it Works:\n Implementation Overview.

                              \n

                              Note that you can create mount targets for a file system in only one VPC, and there can be\n only one mount target per Availability Zone. That is, if the file system already has one or more\n mount targets created for it, the subnet specified in the request to add another mount target\n must meet the following requirements:

                              \n
                                \n
                              • \n

                                Must belong to the same VPC as the subnets of the existing mount targets

                                \n
                              • \n
                              • \n

                                Must not be in the same Availability Zone as any of the subnets of the existing mount\n targets

                                \n
                              • \n
                              \n

                              If the request satisfies the requirements, Amazon EFS does the following:

                              \n
                                \n
                              • \n

                                Creates a new mount target in the specified subnet.

                                \n
                              • \n
                              • \n

                                Also creates a new network interface in the subnet as follows:

                                \n
                                  \n
                                • \n

                                  If the request provides an IpAddress, Amazon EFS assigns that\n IP address to the network interface. Otherwise, Amazon EFS assigns a free\n address in the subnet (in the same way that the Amazon EC2\n CreateNetworkInterface call does when a request does not specify a\n primary private IP address).

                                  \n
                                • \n
                                • \n

                                  If the request provides SecurityGroups, this network interface is\n associated with those security groups. Otherwise, it belongs to the default security\n group for the subnet's VPC.

                                  \n
                                • \n
                                • \n

                                  Assigns the description Mount target fsmt-id for\n file system fs-id\n where \n fsmt-id\n is the mount target ID, and \n fs-id\n is the FileSystemId.

                                  \n
                                • \n
                                • \n

                                  Sets the requesterManaged property of the network interface to\n true, and the requesterId value to\n EFS.

                                  \n
                                • \n
                                \n

                                Each Amazon EFS mount target has one corresponding requester-managed\n EC2 network interface. After the network interface is created, Amazon EFS\n sets the NetworkInterfaceId field in the mount target's description to\n the network interface ID, and the IpAddress field to its address. If network\n interface creation fails, the entire CreateMountTarget operation\n fails.

                                \n
                              • \n
                              \n \n

                              The CreateMountTarget call returns only after creating the network\n interface, but while the mount target state is still creating, you can check\n the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount\n target state.

                              \n
                              \n

                              We recommend that you create a mount target in each of the Availability Zones. There are cost\n considerations for using a file system in an Availability Zone through a mount target created in\n another Availability Zone. For more information, see Amazon EFS pricing. In addition, by always using a mount target local to the\n instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in\n which your mount target is created goes down, then you can't access your file system\n through that mount target.

                              \n

                              This operation requires permissions for the following action on the file\n system:

                              \n
                                \n
                              • \n

                                \n elasticfilesystem:CreateMountTarget\n

                                \n
                              • \n
                              \n

                              This operation also requires permissions for the following Amazon EC2\n actions:

                              \n
                                \n
                              • \n

                                \n ec2:DescribeSubnets\n

                                \n
                              • \n
                              • \n

                                \n ec2:DescribeNetworkInterfaces\n

                                \n
                              • \n
                              • \n

                                \n ec2:CreateNetworkInterface\n

                                \n
                              • \n
                              ", "smithy.api#examples": [ { "title": "To create a new mount target", @@ -580,20 +580,32 @@ "SubnetId": { "target": "com.amazonaws.efs#SubnetId", "traits": { - "smithy.api#documentation": "

                              The ID of the subnet to add the mount target in. For One Zone file systems, use the\n subnet that is associated with the file system's Availability Zone.

                              ", + "smithy.api#documentation": "

                              The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet\n that is associated with the file system's Availability Zone.

                              ", "smithy.api#required": {} } }, "IpAddress": { "target": "com.amazonaws.efs#IpAddress", "traits": { - "smithy.api#documentation": "

                              Valid IPv4 address within the address range of the specified subnet.

                              " + "smithy.api#documentation": "

                              If the IP address type for the mount target is IPv4, then specify the IPv4 address within\n the address range of the specified subnet.

                              " + } + }, + "Ipv6Address": { + "target": "com.amazonaws.efs#Ipv6Address", + "traits": { + "smithy.api#documentation": "

                              If the IP address type for the mount target is IPv6, then specify the IPv6 address within\n the address range of the specified subnet.

                              " + } + }, + "IpAddressType": { + "target": "com.amazonaws.efs#IpAddressType", + "traits": { + "smithy.api#documentation": "

                              Specify the type of IP address of the mount target you are creating. Options are IPv4,\n dual stack, or IPv6. If you don’t specify an IpAddressType, then IPv4 is used.

                              \n
                                \n
                              • \n

                                IPV4_ONLY – Create mount target with IPv4 only subnet or dual-stack subnet.

                                \n
                              • \n
                              • \n

                                DUAL_STACK – Create mount target with dual-stack subnet.

                                \n
                              • \n
                              • \n

                                IPV6_ONLY – Create mount target with IPv6 only subnet.

                                \n
                              • \n
                              \n \n

                              Creating IPv6 mount target only ENI in dual-stack subnet is not supported.

                              \n
                              " } }, "SecurityGroups": { "target": "com.amazonaws.efs#SecurityGroups", "traits": { - "smithy.api#documentation": "

                              Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be\n for the same VPC as subnet specified.

                              " + "smithy.api#documentation": "

                              VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same\n VPC as the subnet specified. The maximum number of security groups depends on account quota.\n For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Security Groups\n table).\n

                              " } } }, @@ -957,7 +969,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes the specified mount target.

                              \n

                              This operation forcibly breaks any mounts of the file system by using the mount target\n that is being deleted, which might disrupt instances or applications using those mounts. To\n avoid applications getting cut off abruptly, you might consider unmounting any mounts of the\n mount target, if feasible. The operation also deletes the associated network interface.\n Uncommitted writes might be lost, but breaking a mount target using this operation does not\n corrupt the file system itself. The file system you created remains. You can mount an EC2\n instance in your VPC by using another mount target.

                              \n

                              This operation requires permissions for the following action on the file\n system:

                              \n
                                \n
                              • \n

                                \n elasticfilesystem:DeleteMountTarget\n

                                \n
                              • \n
                              \n \n

                              The DeleteMountTarget call returns while the mount target state is still\n deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target\n descriptions for the given file system.

                              \n
                              \n

                              The operation also requires permissions for the following Amazon EC2 action on the\n mount target's network interface:

                              \n
                                \n
                              • \n

                                \n ec2:DeleteNetworkInterface\n

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Deletes the specified mount target.

                              \n

                              This operation forcibly breaks any mounts of the file system by using the mount target\n that is being deleted, which might disrupt instances or applications using those mounts. To\n avoid applications getting cut off abruptly, you might consider unmounting any mounts of the\n mount target, if feasible. The operation also deletes the associated network interface.\n Uncommitted writes might be lost, but breaking a mount target using this operation does not\n corrupt the file system itself. The file system you created remains. You can mount an\n EC2 instance in your VPC by using another mount target.

                              \n

                              This operation requires permissions for the following action on the file\n system:

                              \n
                                \n
                              • \n

                                \n elasticfilesystem:DeleteMountTarget\n

                                \n
                              • \n
                              \n \n

                              The DeleteMountTarget call returns while the mount target state is still\n deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target\n descriptions for the given file system.

                              \n
                              \n

                              The operation also requires permissions for the following Amazon EC2 action on the\n mount target's network interface:

                              \n
                                \n
                              • \n

                                \n ec2:DeleteNetworkInterface\n

                                \n
                              • \n
                              ", "smithy.api#examples": [ { "title": "To delete a mount target", @@ -1530,7 +1542,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns the current LifecycleConfiguration object for the specified Amazon\n EFS file system. Lifecycle management uses the LifecycleConfiguration object to\n identify when to move files between storage classes. For a file system without a\n LifecycleConfiguration object, the call returns an empty array in the\n response.

                              \n

                              This operation requires permissions for the\n elasticfilesystem:DescribeLifecycleConfiguration operation.

                              ", + "smithy.api#documentation": "

                              Returns the current LifecycleConfiguration object for the specified\n EFS file system. Lifecycle management uses the LifecycleConfiguration\n object to identify when to move files between storage classes. For a file system without a\n LifecycleConfiguration object, the call returns an empty array in the\n response.

                              \n

                              This operation requires permissions for the\n elasticfilesystem:DescribeLifecycleConfiguration operation.

                              ", "smithy.api#examples": [ { "title": "To describe the lifecycle configuration for a file system", @@ -2027,7 +2039,7 @@ "RoleArn": { "target": "com.amazonaws.efs#RoleArn", "traits": { - "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the IAM role in the source account that allows Amazon EFS\n to perform replication on its behalf. This is optional for same-account \n replication and required for cross-account replication.

                              " + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the IAM role in the source account that allows\n Amazon EFS to perform replication on its behalf. This is optional for same-account\n replication and required for cross-account replication.

                              " } } }, @@ -2059,13 +2071,13 @@ "FileSystemId": { "target": "com.amazonaws.efs#FileSystemId", "traits": { - "smithy.api#documentation": "

                              The ID or ARN of the file system to use for the destination. \n For cross-account replication, this must be an ARN. The file system's \n replication overwrite replication must be disabled. If no ID or ARN is \n specified, then a new file system is created.

                              " + "smithy.api#documentation": "

                              The ID or ARN of the file system to use for the destination. \n For cross-account replication, this must be an ARN. The file system's \n replication overwrite replication must be disabled. If no ID or ARN is \n specified, then a new file system is created.

                              \n \n

                              When you initially configure replication to an existing file system, Amazon EFS\n writes data to or removes existing data from the destination file system to match data in\n the source file system. If you don't want to change data in the destination file system,\n then you should replicate to a new file system instead. For more information, see https://docs.aws.amazon.com/efs/latest/ug/create-replication.html.

                              \n
                              " } }, "RoleArn": { "target": "com.amazonaws.efs#RoleArn", "traits": { - "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the IAM role in the source account that allows Amazon EFS\n to perform replication on its behalf. This is optional for same-account \n replication and required for cross-account replication.

                              " + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the IAM role in the source account that allows\n Amazon EFS to perform replication on its behalf. This is optional for same-account\n replication and required for cross-account replication.

                              " } } }, @@ -2158,7 +2170,7 @@ "FileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) for the EFS file system, in the format\n arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id\n .\n Example with sample data:\n arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567\n

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) for the EFS file system, in the\n format\n arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id\n .\n Example with sample data:\n arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567\n

                              " } }, "CreationTime": { @@ -2361,7 +2373,7 @@ "ReplicationOverwriteProtection": { "target": "com.amazonaws.efs#ReplicationOverwriteProtection", "traits": { - "smithy.api#documentation": "

                              The status of the file system's replication overwrite protection.

                              \n
                                \n
                              • \n

                                \n ENABLED – The file system cannot be used as the destination file\n system in a replication configuration. The file system is writeable. Replication overwrite\n protection is ENABLED by default.

                                \n
                              • \n
                              • \n

                                \n DISABLED – The file system can be used as the destination file\n system in a replication configuration. The file system is read-only and can only be\n modified by EFS replication.

                                \n
                              • \n
                              • \n

                                \n REPLICATING – The file system is being used as the destination\n file system in a replication configuration. The file system is read-only and is only\n modified only by EFS replication.

                                \n
                              • \n
                              \n

                              If the replication configuration is deleted, the file system's replication overwrite\n protection is re-enabled, the file system becomes writeable.

                              " + "smithy.api#documentation": "

                              The status of the file system's replication overwrite protection.

                              \n
                                \n
                              • \n

                                \n ENABLED – The file system cannot be used as the destination file\n system in a replication configuration. The file system is writeable. Replication overwrite\n protection is ENABLED by default.

                                \n
                              • \n
                              • \n

                                \n DISABLED – The file system can be used as the destination file\n system in a replication configuration. The file system is read-only and can only be\n modified by EFS replication.

                                \n
                              • \n
                              • \n

                                \n REPLICATING – The file system is being used as the destination\n file system in a replication configuration. The file system is read-only and is modified\n only by EFS replication.

                                \n
                              • \n
                              \n

                              If the replication configuration is deleted, the file system's replication overwrite\n protection is re-enabled, the file system becomes writeable.

                              " } } }, @@ -2548,6 +2560,38 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.efs#IpAddressType": { + "type": "enum", + "members": { + "IPV4_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPV4_ONLY" + } + }, + "IPV6_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPV6_ONLY" + } + }, + "DUAL_STACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DUAL_STACK" + } + } + } + }, + "com.amazonaws.efs#Ipv6Address": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 39 + } + } + }, "com.amazonaws.efs#KmsKeyId": { "type": "string", "traits": { @@ -2845,17 +2889,11 @@ "name": "elasticfilesystem" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "Amazon Elastic File System\n

                              Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for\n use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and\n remove files, so that your applications have the storage they need, when they need it. For\n more information, see the Amazon Elastic File System API Reference and the Amazon Elastic File System User Guide.

                              ", + "smithy.api#documentation": "Amazon Elastic File System\n

                              Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for\n use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With\n Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you\n add and remove files, so that your applications have the storage they need, when they need it.\n For more information, see the Amazon Elastic File System API Reference and\n the Amazon Elastic File System\n User Guide.

                              ", "smithy.api#title": "Amazon Elastic File System", "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -2875,6 +2913,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -2906,152 +2950,201 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false ] }, { "fn": "booleanEquals", "argv": [ - true, + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] - } + }, + "aws" ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-cn" + ] + }, { - "ref": "UseFIPS" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] }, - true - ] - } - ], - "rules": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ { "fn": "getAttr", @@ -3059,589 +3152,393 @@ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] }, + "aws-cn" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, true ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] - } + }, + "aws-us-gov" ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://efs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.eu-west-3.amazonaws.com" + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://efs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": true, - "UseDualStack": false - } - }, + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.me-south-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "me-south-1", - "UseFIPS": false, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with fips enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.me-south-1.amazonaws.com" - } + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "me-south-1", - "UseFIPS": true, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips disabled and dualstack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.sa-east-1.amazonaws.com" - } + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "sa-east-1", + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "Region": "sa-east-1", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-1.amazonaws.com" + "url": "https://efs-fips.us-east-1.api.aws" } }, "params": { "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": true } }, { @@ -3658,135 +3555,70 @@ } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-2.amazonaws.com" + "url": "https://efs.us-east-1.api.aws" } }, "params": { - "Region": "us-east-2", + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-west-1.amazonaws.com" + "url": "https://elasticfilesystem.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-west-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-west-1.amazonaws.com" + "url": "https://efs-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-west-1", + "Region": "cn-northwest-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-west-2.amazonaws.com" + "url": "https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-west-2", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-east-1.api.aws" + "url": "https://efs.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, { "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { @@ -3801,70 +3633,44 @@ } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://efs-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "cn-northwest-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://efs.us-gov-west-1.api.aws" } }, "params": { - "Region": "cn-north-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, { "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { @@ -3879,40 +3685,36 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-gov-west-1", + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-east-1.api.aws" + "url": "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem.us-gov-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-gov-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": true } @@ -3931,36 +3733,36 @@ } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": true } @@ -3979,89 +3781,99 @@ } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticfilesystem-fips.eu-isoe-west-1.cloud.adc-e.uk" + } }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", "expect": { "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://elasticfilesystem.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-east-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://elasticfilesystem-fips.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "url": "https://elasticfilesystem.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { @@ -4165,7 +3977,7 @@ "SecurityGroups": { "target": "com.amazonaws.efs#SecurityGroups", "traits": { - "smithy.api#documentation": "

                              An array of up to five VPC security group IDs.

                              " + "smithy.api#documentation": "

                              An array of VPC security group IDs.

                              " } } }, @@ -4245,6 +4057,12 @@ "smithy.api#documentation": "

                              Address at which the file system can be mounted by using the mount target.

                              " } }, + "Ipv6Address": { + "target": "com.amazonaws.efs#Ipv6Address", + "traits": { + "smithy.api#documentation": "

                              The IPv6 address for the mount target.

                              " + } + }, "NetworkInterfaceId": { "target": "com.amazonaws.efs#NetworkInterfaceId", "traits": { @@ -4254,13 +4072,13 @@ "AvailabilityZoneId": { "target": "com.amazonaws.efs#AvailabilityZoneId", "traits": { - "smithy.api#documentation": "

                              The unique and consistent identifier of the Availability Zone that the mount target resides in. \n For example, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every Amazon Web Services account.

                              " + "smithy.api#documentation": "

                              The unique and consistent identifier of the Availability Zone that the mount target resides in.\n For example, use1-az1 is an AZ ID for the us-east-1 Region and it\n has the same location in every Amazon Web Services account.

                              " } }, "AvailabilityZoneName": { "target": "com.amazonaws.efs#AvailabilityZoneName", "traits": { - "smithy.api#documentation": "

                              The name of the Availability Zone in which the mount target is located. Availability Zones are \n independently mapped to names for each Amazon Web Services account. For example, the Availability Zone \n us-east-1a for your Amazon Web Services account might not be the same location as us-east-1a for another Amazon Web Services account.

                              " + "smithy.api#documentation": "

                              The name of the Availability Zone in which the mount target is located. Availability Zones are\n independently mapped to names for each Amazon Web Services account. For example, the\n Availability Zone us-east-1a for your Amazon Web Services account might not be the\n same location as us-east-1a for another Amazon Web Services account.

                              " } }, "VpcId": { @@ -4329,7 +4147,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The calling account has reached the limit for elastic network interfaces for the\n specific Amazon Web Services Region. Either delete some network interfaces or request\n that the account quota be raised. For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Network\n interfaces per Region entry in the Network\n interfaces table).

                              ", + "smithy.api#documentation": "

                              The calling account has reached the limit for elastic network interfaces for the\n specific Amazon Web Services Region. Either delete some network interfaces or request\n that the account quota be raised. For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Network\n interfaces per Region entry in the Network\n interfaces table).

                              ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -4429,7 +4247,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Returned if the default file system policy is in effect for the EFS file system specified.

                              ", + "smithy.api#documentation": "

                              Returned if no backup is specified for a One Zone EFS file system.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -4763,14 +4581,14 @@ "SourceFileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the current source file system in the replication\n configuration.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the current source file system in the\n replication configuration.

                              ", "smithy.api#required": {} } }, "OriginalSourceFileSystemArn": { "target": "com.amazonaws.efs#FileSystemArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the original source EFS file system in the\n replication configuration.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the original source EFS file\n system in the replication configuration.

                              ", "smithy.api#required": {} } }, @@ -5033,7 +4851,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Returned if the size of SecurityGroups specified in the request is\n greater than five.

                              ", + "smithy.api#documentation": "

                              Returned if the number of SecurityGroups specified in the request is\n greater than the limit, which is based on account quota. Either delete some security groups\n or request that the account quota be raised. For more information, see Amazon VPC Quotas\n in the Amazon VPC User Guide (see the Security Groups\n table).\n

                              ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -5673,7 +5491,7 @@ "ProvisionedThroughputInMibps": { "target": "com.amazonaws.efs#ProvisionedThroughputInMibps", "traits": { - "smithy.api#documentation": "

                              (Optional) The throughput, measured in mebibytes per second (MiBps), that you want to\n provision for a file system that you're creating. Required if ThroughputMode\n is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit\n depending on Region. To increase this limit, contact Amazon Web Services Support. For more information,\n see Amazon EFS\n quotas that you can increase in the Amazon EFS User\n Guide.

                              " + "smithy.api#documentation": "

                              (Optional) The throughput, measured in mebibytes per second (MiBps), that you want to\n provision for a file system that you're creating. Required if ThroughputMode\n is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit\n depending on Region. To increase this limit, contact Amazon Web ServicesSupport. For more information,\n see Amazon EFS\n quotas that you can increase in the Amazon EFS User\n Guide.

                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/eks.json b/tools/code-generation/smithy/api-descriptions/eks.json index a29d82400da..4ff2bfff37e 100644 --- a/tools/code-generation/smithy/api-descriptions/eks.json +++ b/tools/code-generation/smithy/api-descriptions/eks.json @@ -1629,7 +1629,7 @@ "podIdentityAssociations": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity\n association maps a role to a service account in a namespace in the cluster.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using Pod Identity in the Amazon EKS User Guide.

                              " + "smithy.api#documentation": "

                              An array of EKS Pod Identity associations owned by the add-on. Each association maps a role to a service\n account in a namespace in the cluster.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using EKS Pod Identity in the Amazon EKS User Guide.

                              " } } }, @@ -1837,7 +1837,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A type of Pod Identity Association owned by an Amazon EKS Add-on.

                              \n

                              Each EKS Pod Identity Association maps a role to a service account in a namespace in\n the cluster.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using Pod Identity in the Amazon EKS User Guide.

                              " + "smithy.api#documentation": "

                              A type of EKS Pod Identity association owned by an Amazon EKS add-on.

                              \n

                              Each association maps a role to a service account in a namespace in\n the cluster.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using EKS Pod Identity in the Amazon EKS User Guide.

                              " } }, "com.amazonaws.eks#AddonPodIdentityAssociationsList": { @@ -1852,18 +1852,18 @@ "serviceAccount": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The Kubernetes Service Account name used by the addon.

                              " + "smithy.api#documentation": "

                              The Kubernetes Service Account name used by the add-on.

                              " } }, "recommendedManagedPolicies": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              A suggested IAM Policy for the addon.

                              " + "smithy.api#documentation": "

                              A suggested IAM Policy for the add-on.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Information about how to configure IAM for an Addon.

                              " + "smithy.api#documentation": "

                              Information about how to configure IAM for an add-on.

                              " } }, "com.amazonaws.eks#AddonPodIdentityConfigurationList": { @@ -1943,7 +1943,7 @@ "computeTypes": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              Indicates the compute type of the addon version.

                              " + "smithy.api#documentation": "

                              Indicates the compute type of the add-on version.

                              " } }, "compatibilities": { @@ -1963,7 +1963,7 @@ "target": "com.amazonaws.eks#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

                              Indicates if the Addon requires IAM Permissions to operate, such as networking\n permissions.

                              " + "smithy.api#documentation": "

                              Indicates if the add-on requires IAM Permissions to operate, such as networking\n permissions.

                              " } } }, @@ -3443,7 +3443,7 @@ "podIdentityAssociations": { "target": "com.amazonaws.eks#AddonPodIdentityAssociationsList", "traits": { - "smithy.api#documentation": "

                              An array of Pod Identity Assocations to be created. Each EKS Pod Identity association\n maps a Kubernetes service account to an IAM Role.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using Pod Identity in the Amazon EKS User Guide.

                              " + "smithy.api#documentation": "

                              An array of EKS Pod Identity associations to be created. Each association maps a Kubernetes service account to\n an IAM role.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using EKS Pod Identity in the Amazon EKS User Guide.

                              " } } }, @@ -3494,7 +3494,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates an Amazon EKS control plane.

                              \n

                              The Amazon EKS control plane consists of control plane instances that run the Kubernetes\n software, such as etcd and the API server. The control plane runs in an\n account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint.\n Each Amazon EKS cluster control plane is single tenant and unique. It runs on its own set of\n Amazon EC2 instances.

                              \n

                              The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing\n Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide\n connectivity from the control plane instances to the nodes (for example, to support\n kubectl exec, logs, and proxy data\n flows).

                              \n

                              Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over\n the Kubernetes API server endpoint and a certificate file that is created for your\n cluster.

                              \n

                              You can use the endpointPublicAccess and\n endpointPrivateAccess parameters to enable or disable public and\n private access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. For more information, see Amazon EKS Cluster\n Endpoint Access Control in the \n Amazon EKS User Guide\n .

                              \n

                              You can use the logging parameter to enable or disable exporting the\n Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane\n logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS\n Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

                              \n \n

                              CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported\n control plane logs. For more information, see CloudWatch Pricing.

                              \n
                              \n

                              In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS\n cluster, you must configure your Kubernetes tooling to communicate with the API server and\n launch nodes into your cluster. For more information, see Allowing users to\n access your cluster and Launching Amazon EKS\n nodes in the Amazon EKS User Guide.

                              ", + "smithy.api#documentation": "

                              Creates an Amazon EKS control plane.

                              \n

                              The Amazon EKS control plane consists of control plane instances that run the Kubernetes\n software, such as etcd and the API server. The control plane runs in an\n account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint.\n Each Amazon EKS cluster control plane is single tenant and unique. It runs on its own set of\n Amazon EC2 instances.

                              \n

                              The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing\n Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide\n connectivity from the control plane instances to the nodes (for example, to support\n kubectl exec, logs, and proxy data\n flows).

                              \n

                              Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over\n the Kubernetes API server endpoint and a certificate file that is created for your\n cluster.

                              \n

                              You can use the endpointPublicAccess and\n endpointPrivateAccess parameters to enable or disable public and\n private access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. The\n endpoint domain name and IP address family depends on the value of the\n ipFamily for the cluster. For more information, see Amazon EKS Cluster\n Endpoint Access Control in the \n Amazon EKS User Guide\n .

                              \n

                              You can use the logging parameter to enable or disable exporting the\n Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane\n logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS\n Cluster Control Plane Logs in the\n \n Amazon EKS User Guide\n .

                              \n \n

                              CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported\n control plane logs. For more information, see CloudWatch Pricing.

                              \n
                              \n

                              In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS\n cluster, you must configure your Kubernetes tooling to communicate with the API server and\n launch nodes into your cluster. For more information, see Allowing users to\n access your cluster and Launching Amazon EKS\n nodes in the Amazon EKS User Guide.

                              ", "smithy.api#examples": [ { "title": "To create a new cluster", @@ -3600,7 +3600,7 @@ "bootstrapSelfManagedAddons": { "target": "com.amazonaws.eks#BoxedBoolean", "traits": { - "smithy.api#documentation": "

                              If you set this value to False when creating a cluster, the default\n networking add-ons will not be installed.

                              \n

                              The default networking addons include vpc-cni, coredns, and kube-proxy.

                              \n

                              Use this option when you plan to install third-party alternative add-ons or\n self-manage the default networking add-ons.

                              " + "smithy.api#documentation": "

                              If you set this value to False when creating a cluster, the default\n networking add-ons will not be installed.

                              \n

                              The default networking add-ons include vpc-cni, coredns, and\n kube-proxy.

                              \n

                              Use this option when you plan to install third-party alternative add-ons or\n self-manage the default networking add-ons.

                              " } }, "upgradePolicy": { @@ -4072,7 +4072,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role\n with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to\n pods and the credentials are rotated automatically.

                              \n

                              Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

                              \n

                              If a pod uses a service account that has an association, Amazon EKS sets environment variables\n in the containers of the pod. The environment variables configure the Amazon Web Services SDKs,\n including the Command Line Interface, to use the EKS Pod Identity credentials.

                              \n

                              Pod Identity is a simpler method than IAM roles for service\n accounts, as this method doesn't use OIDC identity providers.\n Additionally, you can configure a role for Pod Identity once, and reuse it across\n clusters.

                              ", + "smithy.api#documentation": "

                              Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role\n with EKS Pod Identity. Use EKS Pod Identity to give temporary IAM credentials to\n Pods and the credentials are rotated automatically.

                              \n

                              Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.

                              \n

                              If a Pod uses a service account that has an association, Amazon EKS sets environment variables\n in the containers of the Pod. The environment variables configure the Amazon Web Services SDKs,\n including the Command Line Interface, to use the EKS Pod Identity credentials.

                              \n

                              EKS Pod Identity is a simpler method than IAM roles for service\n accounts, as this method doesn't use OIDC identity providers.\n Additionally, you can configure a role for EKS Pod Identity once, and reuse it across\n clusters.

                              \n

                              Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent,\n and may take several seconds to be effective after the initial API call returns\n successfully. You must design your applications to account for these potential delays.\n We recommend that you don’t include association create/updates in the\n critical, high-availability code paths of your application. Instead, make changes in a\n separate initialization or setup routine that you run less frequently.

                              \n

                              You can set a target IAM role in the same or a different\n account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two\n role assumptions in sequence: first assuming the role in the association that is in this\n account, then using those credentials to assume the target IAM role. This process\n provides your Pod with temporary credentials that have the permissions defined in the\n target role, allowing secure access to resources in another Amazon Web Services account.

                              ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{clusterName}/pod-identity-associations", @@ -4086,7 +4086,7 @@ "clusterName": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The name of the cluster to create the association in.

                              ", + "smithy.api#documentation": "

                              The name of the cluster to create the EKS Pod Identity association in.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4094,7 +4094,7 @@ "namespace": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

                              ", + "smithy.api#documentation": "

                              The name of the Kubernetes namespace inside the cluster to create the EKS Pod Identity association in. The\n service account and the Pods that use the service account must be in this\n namespace.

                              ", "smithy.api#required": {} } }, @@ -4108,7 +4108,7 @@ "roleArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity\n agent manages credentials to assume this role for applications in the containers in the\n pods that use this service account.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity\n agent manages credentials to assume this role for applications in the containers in the\n Pods that use this service account.

                              ", "smithy.api#required": {} } }, @@ -4124,6 +4124,18 @@ "traits": { "smithy.api#documentation": "

                              Metadata that assists with categorization and organization.\n Each tag consists of a key and an optional value. You define both. Tags don't\n propagate to any other cluster or Amazon Web Services resources.

                              \n

                              The following basic restrictions apply to tags:

                              \n
                                \n
                              • \n

                                Maximum number of tags per resource – 50

                                \n
                              • \n
                              • \n

                                For each resource, each tag key must be unique, and each tag key can have only\n one value.

                                \n
                              • \n
                              • \n

                                Maximum key length – 128 Unicode characters in UTF-8

                                \n
                              • \n
                              • \n

                                Maximum value length – 256 Unicode characters in UTF-8

                                \n
                              • \n
                              • \n

                                If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

                                \n
                              • \n
                              • \n

                                Tag keys and values are case-sensitive.

                                \n
                              • \n
                              • \n

                                Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

                                \n
                              • \n
                              " } + }, + "disableSessionTags": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

                              Disable the automatic sessions tags that are appended by EKS Pod Identity.

                              \n

                              EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You\n can use these tags to author a single role that can work across resources by allowing\n access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches\n six tags, including tags for cluster name, namespace, and service account name. For the\n list of tags added by EKS Pod Identity, see List of session tags\n added by EKS Pod Identity in the Amazon EKS User Guide.

                              \n

                              Amazon Web Services compresses inline session policies, managed policy ARNs, and session tags into a\n packed binary format that has a separate limit. If you receive a\n PackedPolicyTooLarge error indicating the packed binary format has\n exceeded the size limit, you can attempt to reduce the size by disabling the session\n tags added by EKS Pod Identity.

                              " + } + }, + "targetRoleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This role\n is assumed by using the EKS Pod Identity association role, then the credentials for this\n role are injected into the Pod.

                              \n

                              When you run applications on Amazon EKS, your application might need to access Amazon Web Services\n resources from a different role that exists in the same or different Amazon Web Services account. For\n example, your application running in “Account A” might need to access resources, such as\n Amazon S3 buckets in “Account B” or within “Account A” itself. You can create a association\n to access Amazon Web Services resources in “Account B” by creating two IAM roles: a role in “Account\n A” and a role in “Account B” (which can be the same or different account), each with the\n necessary trust and permission policies. After you provide these roles in the\n IAM role and Target IAM role fields, EKS\n will perform role chaining to ensure your application gets the required permissions.\n This means Role A will assume Role B, allowing your Pods to securely access resources\n like S3 buckets in the target account.

                              " + } } }, "traits": { @@ -4970,7 +4982,7 @@ "podIdentityConfiguration": { "target": "com.amazonaws.eks#AddonPodIdentityConfigurationList", "traits": { - "smithy.api#documentation": "

                              The Kubernetes service account name used by the addon, and any suggested IAM policies.\n Use this information to create an IAM Role for the Addon.

                              " + "smithy.api#documentation": "

                              The Kubernetes service account name used by the add-on, and any suggested IAM policies.\n Use this information to create an IAM Role for the add-on.

                              " } } }, @@ -9545,7 +9557,7 @@ "namespace": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

                              " + "smithy.api#documentation": "

                              The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the Pods that use the service account must be in this\n namespace.

                              " } }, "serviceAccount": { @@ -9557,7 +9569,7 @@ "roleArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity\n agent manages credentials to assume this role for applications in the containers in the\n pods that use this service account.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity\n agent manages credentials to assume this role for applications in the containers in the\n Pods that use this service account.

                              " } }, "associationArn": { @@ -9587,13 +9599,31 @@ "modifiedAt": { "target": "com.amazonaws.eks#Timestamp", "traits": { - "smithy.api#documentation": "

                              The most recent timestamp that the association was modified at

                              " + "smithy.api#documentation": "

                              The most recent timestamp that the association was modified at.

                              " } }, "ownerArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              If defined, the Pod Identity Association is owned by an Amazon EKS Addon.

                              " + "smithy.api#documentation": "

                              If defined, the EKS Pod Identity association is owned by an Amazon EKS add-on.

                              " + } + }, + "disableSessionTags": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

                              The state of the automatic sessions tags. The value of true\n disables these tags.

                              \n

                              EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You\n can use these tags to author a single role that can work across resources by allowing\n access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches\n six tags, including tags for cluster name, namespace, and service account name. For the\n list of tags added by EKS Pod Identity, see List of session tags\n added by EKS Pod Identity in the Amazon EKS User Guide.

                              " + } + }, + "targetRoleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This\n role is assumed by using the EKS Pod Identity association role, then the credentials for this\n role are injected into the Pod.

                              " + } + }, + "externalId": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

                              The unique identifier for this EKS Pod Identity association for a target IAM role. You put this value\n in the trust policy of the target role, in a Condition to match the\n sts.ExternalId. This ensures that the target role can only be assumed\n by this association. This prevents the confused deputy problem. For\n more information about the confused deputy problem, see The confused deputy\n problem in the IAM User Guide.

                              \n

                              If you want to use the same target role with multiple associations or\n other roles, use independent statements in the trust policy to allow\n sts:AssumeRole access from each role.

                              " } } }, @@ -9619,7 +9649,7 @@ "namespace": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the pods that use the service account must be in this\n namespace.

                              " + "smithy.api#documentation": "

                              The name of the Kubernetes namespace inside the cluster to create the association in. The\n service account and the Pods that use the service account must be in this\n namespace.

                              " } }, "serviceAccount": { @@ -9643,7 +9673,7 @@ "ownerArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              If defined, the Pod Identity Association is owned by an Amazon EKS Addon.

                              " + "smithy.api#documentation": "

                              If defined, the association is owned by an Amazon EKS add-on.

                              " } } }, @@ -9780,13 +9810,13 @@ "remoteNodeNetworks": { "target": "com.amazonaws.eks#RemoteNodeNetworkList", "traits": { - "smithy.api#documentation": "

                              The list of network CIDRs that can contain hybrid nodes.

                              \n

                              These CIDR blocks define the expected IP address range of the hybrid nodes that join\n the cluster. These blocks are typically determined by your network administrator.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /24, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              • \n

                                Each block must have a route to the VPC that uses the VPC CIDR blocks, not\n public IPs or Elastic IPs. There are many options including Transit Gateway,\n Site-to-Site VPN, or Direct Connect.

                                \n
                              • \n
                              • \n

                                Each host must allow outbound connection to the EKS cluster control plane on\n TCP ports 443 and 10250.

                                \n
                              • \n
                              • \n

                                Each host must allow inbound connection from the EKS cluster control plane on\n TCP port 10250 for logs, exec and port-forward operations.

                                \n
                              • \n
                              • \n

                                Each host must allow TCP and UDP network connectivity to and from other hosts\n that are running CoreDNS on UDP port 53 for service and pod DNS\n names.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The list of network CIDRs that can contain hybrid nodes.

                              \n

                              These CIDR blocks define the expected IP address range of the hybrid nodes that join\n the cluster. These blocks are typically determined by your network administrator.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /32, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              • \n

                                Each block must have a route to the VPC that uses the VPC CIDR blocks, not\n public IPs or Elastic IPs. There are many options including Transit Gateway,\n Site-to-Site VPN, or Direct Connect.

                                \n
                              • \n
                              • \n

                                Each host must allow outbound connection to the EKS cluster control plane on\n TCP ports 443 and 10250.

                                \n
                              • \n
                              • \n

                                Each host must allow inbound connection from the EKS cluster control plane on\n TCP port 10250 for logs, exec and port-forward operations.

                                \n
                              • \n
                              • \n

                                Each host must allow TCP and UDP network connectivity to and from other hosts\n that are running CoreDNS on UDP port 53 for service and pod DNS\n names.

                                \n
                              • \n
                              " } }, "remotePodNetworks": { "target": "com.amazonaws.eks#RemotePodNetworkList", "traits": { - "smithy.api#documentation": "

                              The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid\n nodes.

                              \n

                              These CIDR blocks are determined by configuring your Container Network Interface (CNI)\n plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't\n available for on-premises and edge locations.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /24, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid\n nodes.

                              \n

                              These CIDR blocks are determined by configuring your Container Network Interface (CNI)\n plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't\n available for on-premises and edge locations.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /32, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              " } } }, @@ -9820,12 +9850,12 @@ "cidrs": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              A network CIDR that can contain hybrid nodes.

                              \n

                              These CIDR blocks define the expected IP address range of the hybrid nodes that join\n the cluster. These blocks are typically determined by your network administrator.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /24, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              • \n

                                Each block must have a route to the VPC that uses the VPC CIDR blocks, not\n public IPs or Elastic IPs. There are many options including Transit Gateway,\n Site-to-Site VPN, or Direct Connect.

                                \n
                              • \n
                              • \n

                                Each host must allow outbound connection to the EKS cluster control plane on\n TCP ports 443 and 10250.

                                \n
                              • \n
                              • \n

                                Each host must allow inbound connection from the EKS cluster control plane on\n TCP port 10250 for logs, exec and port-forward operations.

                                \n
                              • \n
                              • \n

                                Each host must allow TCP and UDP network connectivity to and from other hosts\n that are running CoreDNS on UDP port 53 for service and pod DNS\n names.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A network CIDR that can contain hybrid nodes.

                              \n

                              These CIDR blocks define the expected IP address range of the hybrid nodes that join\n the cluster. These blocks are typically determined by your network administrator.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /32, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              • \n

                                Each block must have a route to the VPC that uses the VPC CIDR blocks, not\n public IPs or Elastic IPs. There are many options including Transit Gateway,\n Site-to-Site VPN, or Direct Connect.

                                \n
                              • \n
                              • \n

                                Each host must allow outbound connection to the EKS cluster control plane on\n TCP ports 443 and 10250.

                                \n
                              • \n
                              • \n

                                Each host must allow inbound connection from the EKS cluster control plane on\n TCP port 10250 for logs, exec and port-forward operations.

                                \n
                              • \n
                              • \n

                                Each host must allow TCP and UDP network connectivity to and from other hosts\n that are running CoreDNS on UDP port 53 for service and pod DNS\n names.

                                \n
                              • \n
                              " } } }, "traits": { - "smithy.api#documentation": "

                              A network CIDR that can contain hybrid nodes.

                              \n

                              These CIDR blocks define the expected IP address range of the hybrid nodes that join\n the cluster. These blocks are typically determined by your network administrator.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /24, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              • \n

                                Each block must have a route to the VPC that uses the VPC CIDR blocks, not\n public IPs or Elastic IPs. There are many options including Transit Gateway,\n Site-to-Site VPN, or Direct Connect.

                                \n
                              • \n
                              • \n

                                Each host must allow outbound connection to the EKS cluster control plane on\n TCP ports 443 and 10250.

                                \n
                              • \n
                              • \n

                                Each host must allow inbound connection from the EKS cluster control plane on\n TCP port 10250 for logs, exec and port-forward operations.

                                \n
                              • \n
                              • \n

                                Each host must allow TCP and UDP network connectivity to and from other hosts\n that are running CoreDNS on UDP port 53 for service and pod DNS\n names.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A network CIDR that can contain hybrid nodes.

                              \n

                              These CIDR blocks define the expected IP address range of the hybrid nodes that join\n the cluster. These blocks are typically determined by your network administrator.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /32, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              • \n

                                Each block must have a route to the VPC that uses the VPC CIDR blocks, not\n public IPs or Elastic IPs. There are many options including Transit Gateway,\n Site-to-Site VPN, or Direct Connect.

                                \n
                              • \n
                              • \n

                                Each host must allow outbound connection to the EKS cluster control plane on\n TCP ports 443 and 10250.

                                \n
                              • \n
                              • \n

                                Each host must allow inbound connection from the EKS cluster control plane on\n TCP port 10250 for logs, exec and port-forward operations.

                                \n
                              • \n
                              • \n

                                Each host must allow TCP and UDP network connectivity to and from other hosts\n that are running CoreDNS on UDP port 53 for service and pod DNS\n names.

                                \n
                              • \n
                              " } }, "com.amazonaws.eks#RemoteNodeNetworkList": { @@ -9846,12 +9876,12 @@ "cidrs": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                              \n

                              These CIDR blocks are determined by configuring your Container Network Interface (CNI)\n plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't\n available for on-premises and edge locations.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /24, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                              \n

                              These CIDR blocks are determined by configuring your Container Network Interface (CNI)\n plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't\n available for on-premises and edge locations.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /32, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              " } } }, "traits": { - "smithy.api#documentation": "

                              A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                              \n

                              These CIDR blocks are determined by configuring your Container Network Interface (CNI)\n plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't\n available for on-premises and edge locations.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /24, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.

                              \n

                              These CIDR blocks are determined by configuring your Container Network Interface (CNI)\n plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't\n available for on-premises and edge locations.

                              \n

                              Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,\n 10.2.0.0/16).

                              \n

                              It must satisfy the following requirements:

                              \n
                                \n
                              • \n

                                Each block must be within an IPv4 RFC-1918 network range. Minimum\n allowed size is /32, maximum allowed size is /8. Publicly-routable addresses\n aren't supported.

                                \n
                              • \n
                              • \n

                                Each block cannot overlap with the range of the VPC CIDR blocks for your EKS\n resources, or the block of the Kubernetes service IP range.

                                \n
                              • \n
                              " } }, "com.amazonaws.eks#RemotePodNetworkList": { @@ -10638,7 +10668,7 @@ "podIdentityAssociations": { "target": "com.amazonaws.eks#AddonPodIdentityAssociationsList", "traits": { - "smithy.api#documentation": "

                              An array of Pod Identity Assocations to be updated. Each EKS Pod Identity association\n maps a Kubernetes service account to an IAM Role. If this value is left blank, no change.\n If an empty array is provided, existing Pod Identity Assocations owned by the Addon are\n deleted.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using Pod Identity in the Amazon EKS User Guide.

                              " + "smithy.api#documentation": "

                              An array of EKS Pod Identity associations to be updated. Each association\n maps a Kubernetes service account to an IAM role. If this value is left blank, no change.\n If an empty array is provided, existing associations owned by the add-on are\n deleted.

                              \n

                              For more information, see Attach an IAM Role to an Amazon EKS add-on\n using EKS Pod Identity in the Amazon EKS User Guide.

                              " } } }, @@ -10689,7 +10719,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates an Amazon EKS cluster configuration. Your cluster continues to function during the\n update. The response output includes an update ID that you can use to track the status\n of your cluster update with DescribeUpdate.

                              \n

                              You can use this operation to do the following actions:

                              \n
                                \n
                              • \n

                                You can use this API operation to enable or disable exporting the Kubernetes\n control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane\n logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the\n \n Amazon EKS User Guide\n .

                                \n \n

                                CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch Pricing.

                                \n
                                \n
                              • \n
                              • \n

                                You can also use this API operation to enable or disable public and private\n access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. For more information, see Amazon EKS\n cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

                                \n
                              • \n
                              • \n

                                You can also use this API operation to choose different subnets and security\n groups for the cluster. You must specify at least two subnets that are in\n different Availability Zones. You can't change which VPC the subnets are from, the subnets\n must be in the same VPC as the subnets that the cluster was created with. For\n more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the\n \n Amazon EKS User Guide\n .

                                \n
                              • \n
                              • \n

                                You can also use this API operation to enable or disable ARC zonal shift. If\n zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

                                \n
                              • \n
                              • \n

                                You can also use this API operation to add, change, or remove the\n configuration in the cluster for EKS Hybrid Nodes. To remove the configuration,\n use the remoteNetworkConfig key with an object containing both\n subkeys with empty arrays for each. Here is an inline example:\n \"remoteNetworkConfig\": { \"remoteNodeNetworks\": [],\n \"remotePodNetworks\": [] }.

                                \n
                              • \n
                              \n

                              Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

                              ", + "smithy.api#documentation": "

                              Updates an Amazon EKS cluster configuration. Your cluster continues to function during the\n update. The response output includes an update ID that you can use to track the status\n of your cluster update with DescribeUpdate.

                              \n

                              You can use this operation to do the following actions:

                              \n
                                \n
                              • \n

                                You can use this API operation to enable or disable exporting the Kubernetes\n control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane\n logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs in the\n \n Amazon EKS User Guide\n .

                                \n \n

                                CloudWatch Logs ingestion, archive storage, and data scanning rates apply to\n exported control plane logs. For more information, see CloudWatch Pricing.

                                \n
                                \n
                              • \n
                              • \n

                                You can also use this API operation to enable or disable public and private\n access to your cluster's Kubernetes API server endpoint. By default, public access is\n enabled, and private access is disabled. For more information, see \n Cluster API server endpoint in the\n \n Amazon EKS User Guide\n .

                                \n
                              • \n
                              • \n

                                You can also use this API operation to choose different subnets and security\n groups for the cluster. You must specify at least two subnets that are in\n different Availability Zones. You can't change which VPC the subnets are from, the subnets\n must be in the same VPC as the subnets that the cluster was created with. For\n more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the\n \n Amazon EKS User Guide\n .

                                \n
                              • \n
                              • \n

                                You can also use this API operation to enable or disable ARC zonal shift. If\n zonal shift is enabled, Amazon Web Services configures zonal autoshift for the cluster.

                                \n
                              • \n
                              • \n

                                You can also use this API operation to add, change, or remove the\n configuration in the cluster for EKS Hybrid Nodes. To remove the configuration,\n use the remoteNetworkConfig key with an object containing both\n subkeys with empty arrays for each. Here is an inline example:\n \"remoteNetworkConfig\": { \"remoteNodeNetworks\": [],\n \"remotePodNetworks\": [] }.

                                \n
                              • \n
                              \n

                              Cluster updates are asynchronous, and they should finish within a few minutes. During\n an update, the cluster status moves to UPDATING (this status transition is\n eventually consistent). When the update is complete (either Failed or\n Successful), the cluster status moves to Active.

                              ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{name}/update-config", @@ -11452,7 +11482,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates a EKS Pod Identity association. Only the IAM role can be changed; an association can't be moved\n between clusters, namespaces, or service accounts. If you need to edit the namespace\n or service account, you need to delete the association and then create a new\n association with your desired settings.

                              ", + "smithy.api#documentation": "

                              Updates a EKS Pod Identity association. In an update, you can change the IAM role, the target IAM role, or disableSessionTags.\n You must change at least one of these in an update. An association can't be moved\n between clusters, namespaces, or service accounts. If you need to edit the namespace\n or service account, you need to delete the association and then create a new\n association with your desired settings.

                              \n

                              Similar to Amazon Web Services IAM behavior, EKS Pod Identity associations are eventually consistent,\n and may take several seconds to be effective after the initial API call returns\n successfully. You must design your applications to account for these potential delays.\n We recommend that you don’t include association create/updates in the\n critical, high-availability code paths of your application. Instead, make changes in a\n separate initialization or setup routine that you run less frequently.

                              \n

                              You can set a target IAM role in the same or a different\n account for advanced scenarios. With a target role, EKS Pod Identity automatically performs two\n role assumptions in sequence: first assuming the role in the association that is in this\n account, then using those credentials to assume the target IAM role. This process\n provides your Pod with temporary credentials that have the permissions defined in the\n target role, allowing secure access to resources in another Amazon Web Services account.

                              ", "smithy.api#http": { "method": "POST", "uri": "/clusters/{clusterName}/pod-identity-associations/{associationId}", @@ -11482,7 +11512,7 @@ "roleArn": { "target": "com.amazonaws.eks#String", "traits": { - "smithy.api#documentation": "

                              The new IAM role to change the

                              " + "smithy.api#documentation": "

                              The new IAM role to change in the association.

                              " } }, "clientRequestToken": { @@ -11491,6 +11521,18 @@ "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure\nthe idempotency of the request.

                              ", "smithy.api#idempotencyToken": {} } + }, + "disableSessionTags": { + "target": "com.amazonaws.eks#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

                              Disable the automatic sessions tags that are appended by EKS Pod Identity.

                              \n

                              EKS Pod Identity adds a pre-defined set of session tags when it assumes the role. You\n can use these tags to author a single role that can work across resources by allowing\n access to Amazon Web Services resources based on matching tags. By default, EKS Pod Identity attaches\n six tags, including tags for cluster name, namespace, and service account name. For the\n list of tags added by EKS Pod Identity, see List of session tags\n added by EKS Pod Identity in the Amazon EKS User Guide.

                              \n

                              Amazon Web Services compresses inline session policies, managed policy ARNs, and session tags into a\n packed binary format that has a separate limit. If you receive a PackedPolicyTooLarge error\n indicating the packed binary format has exceeded the size limit, you can attempt to reduce\n the size by disabling the session tags added by EKS Pod Identity.

                              " + } + }, + "targetRoleArn": { + "target": "com.amazonaws.eks#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the target IAM role to associate with the service account. This\n role is assumed by using the EKS Pod Identity association role, then the credentials for this\n role are injected into the Pod.

                              \n

                              When you run applications on Amazon EKS, your application might need to access Amazon Web Services\n resources from a different role that exists in the same or different Amazon Web Services account. For\n example, your application running in “Account A” might need to access resources, such as\n buckets in “Account B” or within “Account A” itself. You can create a association to\n access Amazon Web Services resources in “Account B” by creating two IAM roles: a role in “Account A”\n and a role in “Account B” (which can be the same or different account), each with the\n necessary trust and permission policies. After you provide these roles in the IAM role\n and Target IAM role fields, EKS will perform role chaining to ensure your application\n gets the required permissions. This means Role A will assume Role B, allowing your Pods\n to securely access resources like S3 buckets in the target account.

                              " + } } }, "traits": { @@ -11503,7 +11545,7 @@ "association": { "target": "com.amazonaws.eks#PodIdentityAssociation", "traits": { - "smithy.api#documentation": "

                              The full description of the EKS Pod Identity association that was updated.

                              " + "smithy.api#documentation": "

                              The full description of the association that was updated.

                              " } } }, @@ -11718,19 +11760,19 @@ "endpointPublicAccess": { "target": "com.amazonaws.eks#BoxedBoolean", "traits": { - "smithy.api#documentation": "

                              Set this value to false to disable public access to your cluster's Kubernetes\n API server endpoint. If you disable public access, your cluster's Kubernetes API server can\n only receive requests from within the cluster VPC. The default value for this parameter\n is true, which enables public access for your Kubernetes API server. For more\n information, see Amazon EKS cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

                              " + "smithy.api#documentation": "

                              Set this value to false to disable public access to your cluster's Kubernetes\n API server endpoint. If you disable public access, your cluster's Kubernetes API server can\n only receive requests from within the cluster VPC. The default value for this parameter\n is true, which enables public access for your Kubernetes API server. The\n endpoint domain name and IP address family depends on the value of the\n ipFamily for the cluster. For more information, see Cluster API\n server endpoint in the \n Amazon EKS User Guide\n .

                              " } }, "endpointPrivateAccess": { "target": "com.amazonaws.eks#BoxedBoolean", "traits": { - "smithy.api#documentation": "

                              Set this value to true to enable private access for your cluster's Kubernetes\n API server endpoint. If you enable private access, Kubernetes API requests from within your\n cluster's VPC use the private VPC endpoint. The default value for this parameter is\n false, which disables private access for your Kubernetes API server. If you\n disable private access and you have nodes or Fargate pods in the cluster, then\n ensure that publicAccessCidrs includes the necessary CIDR blocks for\n communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster\n endpoint access control in the \n Amazon EKS User Guide\n .

                              " + "smithy.api#documentation": "

                              Set this value to true to enable private access for your cluster's Kubernetes\n API server endpoint. If you enable private access, Kubernetes API requests from within your\n cluster's VPC use the private VPC endpoint. The default value for this parameter is\n false, which disables private access for your Kubernetes API server. If you\n disable private access and you have nodes or Fargate pods in the cluster, then\n ensure that publicAccessCidrs includes the necessary CIDR blocks for\n communication with the nodes or Fargate pods. For more information, see Cluster\n API server endpoint in the \n Amazon EKS User Guide\n .

                              " } }, "publicAccessCidrs": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              The CIDR blocks that are allowed access to your cluster's public Kubernetes API server\n endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that\n you specify is denied. The default value is 0.0.0.0/0. If you've disabled\n private endpoint access, make sure that you specify the necessary CIDR blocks for every\n node and Fargate Pod in the cluster. For more information, see Amazon EKS cluster\n endpoint access control in the \n Amazon EKS User Guide\n .

                              " + "smithy.api#documentation": "

                              The CIDR blocks that are allowed access to your cluster's public Kubernetes API server\n endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that\n you specify is denied. The default value is 0.0.0.0/0 and additionally\n ::/0 for dual-stack `IPv6` clusters. If you've disabled private\n endpoint access, make sure that you specify the necessary CIDR blocks for every node and\n Fargate Pod in the cluster. For more information, see Cluster\n API server endpoint in the \n Amazon EKS User Guide\n .

                              \n

                              Note that the public endpoints are dual-stack for only IPv6 clusters that\n are made after October 2024. You can't add IPv6 CIDR blocks to\n IPv4 clusters or IPv6 clusters that were made before\n October 2024.

                              " } } }, @@ -11776,13 +11818,13 @@ "target": "com.amazonaws.eks#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

                              This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If\n the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate from\n within your cluster's VPC use the private VPC endpoint instead of traversing the\n internet. If this value is disabled and you have nodes or Fargate pods in the\n cluster, then ensure that publicAccessCidrs includes the necessary CIDR\n blocks for communication with the nodes or Fargate pods. For more information, see\n Amazon EKS\n cluster endpoint access control in the\n \n Amazon EKS User Guide\n .

                              " + "smithy.api#documentation": "

                              This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If\n the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate from\n within your cluster's VPC use the private VPC endpoint instead of traversing the\n internet. If this value is disabled and you have nodes or Fargate pods in the\n cluster, then ensure that publicAccessCidrs includes the necessary CIDR\n blocks for communication with the nodes or Fargate pods. For more information, see\n Cluster\n API server endpoint in the \n Amazon EKS User Guide\n .

                              " } }, "publicAccessCidrs": { "target": "com.amazonaws.eks#StringList", "traits": { - "smithy.api#documentation": "

                              The CIDR blocks that are allowed access to your cluster's public Kubernetes API server\n endpoint.

                              " + "smithy.api#documentation": "

                              The CIDR blocks that are allowed access to your cluster's public Kubernetes API server\n endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that\n you specify is denied. The default value is 0.0.0.0/0 and additionally\n ::/0 for dual-stack `IPv6` clusters. If you've disabled private\n endpoint access, make sure that you specify the necessary CIDR blocks for every node and\n Fargate Pod in the cluster. For more information, see Cluster\n API server endpoint in the \n Amazon EKS User Guide\n .

                              \n

                              Note that the public endpoints are dual-stack for only IPv6 clusters that\n are made after October 2024. You can't add IPv6 CIDR blocks to\n IPv4 clusters or IPv6 clusters that were made before\n October 2024.

                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/emr-serverless.json b/tools/code-generation/smithy/api-descriptions/emr-serverless.json index 996b775212d..57150277ae0 100644 --- a/tools/code-generation/smithy/api-descriptions/emr-serverless.json +++ b/tools/code-generation/smithy/api-descriptions/emr-serverless.json @@ -140,6 +140,12 @@ "traits": { "smithy.api#documentation": "

                              The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                              " } + }, + "identityCenterConfiguration": { + "target": "com.amazonaws.emrserverless#IdentityCenterConfiguration", + "traits": { + "smithy.api#documentation": "

                              The IAM Identity Center configuration applied to enable trusted identity propagation.

                              " + } } }, "traits": { @@ -1204,7 +1210,7 @@ "target": "com.amazonaws.emrserverless#ShutdownGracePeriodInSeconds", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "The duration (in seconds) to wait before forcefully terminating the job after cancellation is requested.", + "smithy.api#documentation": "

                              The duration in seconds to wait before forcefully terminating the job after cancellation is requested.

                              ", "smithy.api#httpQuery": "shutdownGracePeriodInSeconds" } } @@ -1524,6 +1530,12 @@ "traits": { "smithy.api#documentation": "

                              The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                              " } + }, + "identityCenterConfiguration": { + "target": "com.amazonaws.emrserverless#IdentityCenterConfigurationInput", + "traits": { + "smithy.api#documentation": "

                              The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.

                              " + } } } }, @@ -1931,6 +1943,56 @@ "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):iam::([0-9]{12}):(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)$" } }, + "com.amazonaws.emrserverless#IdentityCenterApplicationArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + } + }, + "com.amazonaws.emrserverless#IdentityCenterConfiguration": { + "type": "structure", + "members": { + "identityCenterInstanceArn": { + "target": "com.amazonaws.emrserverless#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the IAM Identity Center instance.

                              " + } + }, + "identityCenterApplicationArn": { + "target": "com.amazonaws.emrserverless#IdentityCenterApplicationArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.

                              " + } + }, + "com.amazonaws.emrserverless#IdentityCenterConfigurationInput": { + "type": "structure", + "members": { + "identityCenterInstanceArn": { + "target": "com.amazonaws.emrserverless#IdentityCenterInstanceArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the IAM Identity Center instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                              " + } + }, + "com.amazonaws.emrserverless#IdentityCenterInstanceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1024 + }, + "smithy.api#pattern": "^arn:(aws[a-zA-Z0-9-]*):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + } + }, "com.amazonaws.emrserverless#ImageConfiguration": { "type": "structure", "members": { @@ -2157,6 +2219,9 @@ "smithy.api#required": {} } }, + "executionIamPolicy": { + "target": "com.amazonaws.emrserverless#JobRunExecutionIamPolicy" + }, "state": { "target": "com.amazonaws.emrserverless#JobRunState", "traits": { @@ -4032,6 +4097,12 @@ "traits": { "smithy.api#documentation": "

                              The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.

                              " } + }, + "identityCenterConfiguration": { + "target": "com.amazonaws.emrserverless#IdentityCenterConfigurationInput", + "traits": { + "smithy.api#documentation": "

                              Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

                              " + } } } }, diff --git a/tools/code-generation/smithy/api-descriptions/gameliftstreams.json b/tools/code-generation/smithy/api-descriptions/gameliftstreams.json index a094ec61440..442d16f2da0 100644 --- a/tools/code-generation/smithy/api-descriptions/gameliftstreams.json +++ b/tools/code-generation/smithy/api-descriptions/gameliftstreams.json @@ -58,7 +58,7 @@ "ec2:DescribeRegions" ] }, - "smithy.api#documentation": "

                              Add locations that can host stream sessions. You configure locations and their corresponding capacity for each stream group. Creating a\n stream group in a location that's nearest to your end users can help minimize latency and improve quality.

                              \n

                              This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the\n stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated\n applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions.

                              ", + "smithy.api#documentation": "

                              Add locations that can host stream sessions. You configure locations and their corresponding capacity for each stream group. Creating a stream group in a location that's nearest to your end users can help minimize latency and improve quality.

                              This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -72,7 +72,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              A stream group to add the specified locations to.

                              \n

                              This value is a \n\tAmazon Resource Name (ARN) that uniquely identifies the stream group resource. Format example: sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              A stream group to add the specified locations to.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -81,7 +81,7 @@ "LocationConfigurations": { "target": "com.amazonaws.gameliftstreams#LocationConfigurations", "traits": { - "smithy.api#documentation": "

                              \n A set of one or more locations and the streaming capacity for each location. \n

                              ", + "smithy.api#documentation": "

                              A set of one or more locations and the streaming capacity for each location.

                              ", "smithy.api#notProperty": {}, "smithy.api#required": {} } @@ -97,7 +97,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              This value is the \n\tAmazon Resource Name (ARN) that uniquely identifies the stream group resource. Format example: sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -105,7 +105,7 @@ "Locations": { "target": "com.amazonaws.gameliftstreams#LocationStates", "traits": { - "smithy.api#documentation": "

                              This value is \n\tset of locations, including their name, current status, and capacities.\n

                              \n

                              \n\tA location can be in one of the following states:\n

                              \n
                                \n
                              • \n

                                \n ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.\n\t\t

                                \n
                              • \n
                              • \n

                                \n REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.\n\t\t

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              This value is set of locations, including their name, current status, and capacities.

                              A location can be in one of the following states:

                              • ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.

                              • ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.

                              • ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.

                              • REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.

                              ", "smithy.api#notProperty": {}, "smithy.api#required": {} } @@ -284,14 +284,14 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies the application across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies the application across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", "smithy.api#required": {} } }, "Id": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              An ID that uniquely identifies the application resource. Example ID: a-9ZY8X7Wv6.

                              " } }, "Description": { @@ -303,7 +303,7 @@ "Status": { "target": "com.amazonaws.gameliftstreams#ApplicationStatus", "traits": { - "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              \n
                                \n
                              • \n

                                \n INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                                \n
                              • \n
                              • \n

                                \n PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future\n deployment in a stream group.

                                \n
                              • \n
                              • \n

                                \n READY: The application is ready to deploy in a stream group.

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when setting up the application. See StatusReason for more information.

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the application.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                              • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

                              • READY: The application is ready to deploy in a stream group.

                              • ERROR: An error occurred when setting up the application. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the application.

                              " } }, "CreatedAt": { @@ -315,18 +315,18 @@ "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "RuntimeEnvironment": { "target": "com.amazonaws.gameliftstreams#RuntimeEnvironment", "traits": { - "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and\n other drivers.

                              \n

                              A runtime environment can be one of the following:

                              \n
                                \n
                              • \n

                                \n For Linux applications\n

                                \n
                                  \n
                                • \n

                                  \n Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n For Windows applications\n

                                \n
                                  \n
                                • \n

                                  Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-5 (Type=PROTON, Version=20241007)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-2c (Type=PROTON, Version=20230704)

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

                              A runtime environment can be one of the following:

                              • For Linux applications

                                • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

                              • For Windows applications

                                • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                • Proton 8.0-5 (Type=PROTON, Version=20241007)

                                • Proton 8.0-2c (Type=PROTON, Version=20230704)

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Describes an application resource that represents a collection of content for streaming with Amazon GameLift Streams. To retrieve additional application\n details, call GetApplication.

                              " + "smithy.api#documentation": "

                              Describes an application resource that represents a collection of content for streaming with Amazon GameLift Streams. To retrieve additional application details, call GetApplication.

                              " } }, "com.amazonaws.gameliftstreams#ApplicationSummaryList": { @@ -389,7 +389,7 @@ } } }, - "smithy.api#documentation": "

                              When you associate, or link, an application with a stream group, then Amazon GameLift Streams can launch the application using the stream group's\n allocated compute resources. The stream group must be in ACTIVE status. You can reverse this action by using DisassociateApplications.

                              ", + "smithy.api#documentation": "

                              When you associate, or link, an application with a stream group, then Amazon GameLift Streams can launch the application using the stream group's allocated compute resources. The stream group must be in ACTIVE status. You can reverse this action by using DisassociateApplications.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -404,7 +404,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              A stream group to associate to the applications.

                              \n

                              This value is a \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              A stream group to associate to the applications.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -413,7 +413,7 @@ "ApplicationIdentifiers": { "target": "com.amazonaws.gameliftstreams#Identifiers", "traits": { - "smithy.api#documentation": "

                              A set of applications to associate with the stream group.

                              \n

                              This value is a \n set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6. \n

                              ", + "smithy.api#documentation": "

                              A set of applications to associate with the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#required": {} } } @@ -428,13 +428,13 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              A stream group that is associated to the applications.

                              \n

                              This value is a \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              " + "smithy.api#documentation": "

                              A stream group that is associated to the applications.

                              This value is an Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " } }, "ApplicationArns": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { - "smithy.api#documentation": "

                              A set of applications that are associated to the stream group.

                              \n

                              This value is a \n set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6. \n

                              " + "smithy.api#documentation": "

                              A set of applications that are associated to the stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } } }, @@ -472,7 +472,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the\n conflict before retrying this request.

                              ", + "smithy.api#documentation": "

                              The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -527,7 +527,7 @@ "s3:GetObject" ] }, - "smithy.api#documentation": "

                              Creates an application resource in Amazon GameLift Streams, which specifies the application content you want to stream, such as a game build or other\n software, and configures the settings to run it.

                              \n

                              Before you create an application, upload your application content files to an Amazon Simple Storage Service (Amazon S3) bucket. For more information, see\n Getting Started in the Amazon GameLift Streams Developer Guide.

                              \n \n

                              Make sure that your files in the Amazon S3 bucket are the correct version you want to use. As soon as you create a Amazon GameLift Streams application,\n you cannot change the files at a later time.

                              \n
                              \n

                              If the request is successful, Amazon GameLift Streams begins to create an application and sets the status to INITIALIZED. When an\n application reaches READY status, you can use the application to set up stream groups and start streams. To track application\n status, call GetApplication.

                              ", + "smithy.api#documentation": "

                              Creates an application resource in Amazon GameLift Streams, which specifies the application content you want to stream, such as a game build or other software, and configures the settings to run it.

                              Before you create an application, upload your application content files to an Amazon Simple Storage Service (Amazon S3) bucket. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                              Make sure that your files in the Amazon S3 bucket are the correct version you want to use. If you change the files at a later time, you will need to create a new Amazon GameLift Streams application.

                              If the request is successful, Amazon GameLift Streams begins to create an application and sets the status to INITIALIZED. When an application reaches READY status, you can use the application to set up stream groups and start streams. To track application status, call GetApplication.

                              ", "smithy.api#http": { "code": 201, "method": "POST", @@ -548,47 +548,47 @@ "RuntimeEnvironment": { "target": "com.amazonaws.gameliftstreams#RuntimeEnvironment", "traits": { - "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and\n other drivers.

                              \n

                              A runtime environment can be one of the following:

                              \n
                                \n
                              • \n

                                \n For Linux applications\n

                                \n
                                  \n
                                • \n

                                  \n Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n For Windows applications\n

                                \n
                                  \n
                                • \n

                                  Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-5 (Type=PROTON, Version=20241007)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-2c (Type=PROTON, Version=20230704)

                                  \n
                                • \n
                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

                              A runtime environment can be one of the following:

                              • For Linux applications

                                • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

                              • For Windows applications

                                • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                • Proton 8.0-5 (Type=PROTON, Version=20241007)

                                • Proton 8.0-2c (Type=PROTON, Version=20230704)

                              ", "smithy.api#required": {} } }, "ExecutablePath": { "target": "com.amazonaws.gameliftstreams#ExecutablePath", "traits": { - "smithy.api#documentation": "

                              The path and file name of the executable file that launches the content for streaming. Enter a path value that is relative to the\n location set in ApplicationSourceUri.

                              ", + "smithy.api#documentation": "

                              The path and file name of the executable file that launches the content for streaming. Enter a path value that is relative to the location set in ApplicationSourceUri.

                              ", "smithy.api#required": {} } }, "ApplicationSourceUri": { "target": "com.amazonaws.gameliftstreams#ApplicationSourceUri", "traits": { - "smithy.api#documentation": "

                              The location of the content that you want to stream. Enter an Amazon S3 URI to a bucket that contains your game or other application. The\n location can have a multi-level prefix structure, but it must include all the files needed to run the content. Amazon GameLift Streams copies everything\n under the specified location.

                              \n

                              This value is immutable. To designate a different content location, create a new application.

                              \n \n

                              The Amazon S3 bucket and the Amazon GameLift Streams application must be in the same Amazon Web Services Region.

                              \n
                              ", + "smithy.api#documentation": "

                              The location of the content that you want to stream. Enter an Amazon S3 URI to a bucket that contains your game or other application. The location can have a multi-level prefix structure, but it must include all the files needed to run the content. Amazon GameLift Streams copies everything under the specified location.

                              This value is immutable. To designate a different content location, create a new application.

                              The Amazon S3 bucket and the Amazon GameLift Streams application must be in the same Amazon Web Services Region.

                              ", "smithy.api#required": {} } }, "ApplicationLogPaths": { "target": "com.amazonaws.gameliftstreams#FilePaths", "traits": { - "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Enter path\n values that are relative to the ApplicationSourceUri location.\n You can specify up to 10 log paths.\n Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri \n at the end of a stream session. To retrieve stored log files, call GetStreamSession \n and get the LogFileLocationUri.

                              " + "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Enter path values that are relative to the ApplicationSourceUri location. You can specify up to 10 log paths. Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri at the end of a stream session. To retrieve stored log files, call GetStreamSession and get the LogFileLocationUri.

                              " } }, "ApplicationLogOutputUri": { "target": "com.amazonaws.gameliftstreams#ApplicationLogOutputUri", "traits": { - "smithy.api#documentation": "

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              \n \n

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                              \n
                              " + "smithy.api#documentation": "

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Application log bucket permission policy in the Amazon GameLift Streams Developer Guide.

                              " } }, "Tags": { "target": "com.amazonaws.gameliftstreams#Tags", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                              A list of labels to assign to the new application resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is\n useful for resource management, access management and cost allocation. See Tagging Amazon Web Services Resources in the Amazon Web Services General Reference. You can\n use TagResource to add tags, UntagResource to remove tags, and ListTagsForResource to view tags on existing resources.

                              " + "smithy.api#documentation": "

                              A list of labels to assign to the new application resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and cost allocation. See Tagging Amazon Web Services Resources in the Amazon Web Services General Reference. You can use TagResource to add tags, UntagResource to remove tags, and ListTagsForResource to view tags on existing resources.

                              " } }, "ClientToken": { "target": "com.amazonaws.gameliftstreams#ClientToken", "traits": { - "smithy.api#documentation": "

                              \n A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.\n

                              ", + "smithy.api#documentation": "

                              A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.

                              ", "smithy.api#idempotencyToken": {} } } @@ -603,7 +603,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -618,7 +618,7 @@ "target": "com.amazonaws.gameliftstreams#RuntimeEnvironment", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and\n other drivers.

                              \n

                              A runtime environment can be one of the following:

                              \n
                                \n
                              • \n

                                \n For Linux applications\n

                                \n
                                  \n
                                • \n

                                  \n Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n For Windows applications\n

                                \n
                                  \n
                                • \n

                                  Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-5 (Type=PROTON, Version=20241007)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-2c (Type=PROTON, Version=20230704)

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

                              A runtime environment can be one of the following:

                              • For Linux applications

                                • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

                              • For Windows applications

                                • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                • Proton 8.0-5 (Type=PROTON, Version=20241007)

                                • Proton 8.0-2c (Type=PROTON, Version=20230704)

                              " } }, "ExecutablePath": { @@ -630,7 +630,7 @@ "ApplicationLogPaths": { "target": "com.amazonaws.gameliftstreams#FilePaths", "traits": { - "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. \n Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri \n at the end of a stream session. To retrieve stored log files, call GetStreamSession \n and get the LogFileLocationUri.

                              " + "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri at the end of a stream session. To retrieve stored log files, call GetStreamSession and get the LogFileLocationUri.

                              " } }, "ApplicationLogOutputUri": { @@ -648,14 +648,14 @@ "Id": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6.

                              " } }, "Status": { "target": "com.amazonaws.gameliftstreams#ApplicationStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              \n
                                \n
                              • \n

                                \n INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                                \n
                              • \n
                              • \n

                                \n PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future\n deployment in a stream group.

                                \n
                              • \n
                              • \n

                                \n READY: The application is ready to deploy in a stream group.

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when setting up the application. See StatusReason for more information.

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the application.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                              • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

                              • READY: The application is ready to deploy in a stream group.

                              • ERROR: An error occurred when setting up the application. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the application.

                              " } }, "StatusReason": { @@ -683,7 +683,7 @@ "target": "smithy.api#Timestamp", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "AssociatedStreamGroups": { @@ -740,7 +740,7 @@ "gameliftstreams:TagResource" ] }, - "smithy.api#documentation": "

                              Manage how Amazon GameLift Streams streams your applications by using a stream group. A stream group is a collection of resources that Amazon GameLift Streams uses to\n stream your application to end-users. When you create a stream group, you specify an application to stream by default and the type of\n hardware to use, such as the graphical processing unit (GPU). You can also link additional applications, which allows you to stream those\n applications using this stream group. Depending on your expected users, you also scale the number of concurrent streams you want to\n support at one time, and in what locations.

                              \n

                              \n Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity: always-on and on-demand:\n

                              \n
                                \n
                              • \n

                                \n Always-on: \n The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.\n\n

                                \n
                              • \n
                              • \n

                                \n On-demand: \n The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).\n\n

                                \n
                              • \n
                              \n

                              To adjust the capacity of any ACTIVE stream group, call UpdateStreamGroup.

                              \n

                              If the request is successful, Amazon GameLift Streams begins creating the stream group. Amazon GameLift Streams assigns a unique ID to the stream group resource and\n sets the status to ACTIVATING. When the stream group reaches ACTIVE status, you can start stream sessions by\n using StartStreamSession. To check the stream\n group's status, call GetStreamGroup.

                              ", + "smithy.api#documentation": "

                              Manage how Amazon GameLift Streams streams your applications by using a stream group. A stream group is a collection of resources that Amazon GameLift Streams uses to stream your application to end-users. When you create a stream group, you specify an application to stream by default and the type of hardware to use, such as the graphical processing unit (GPU). You can also link additional applications, which allows you to stream those applications using this stream group. Depending on your expected users, you also scale the number of concurrent streams you want to support at one time, and in what locations.

                              Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

                              • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              To adjust the capacity of any ACTIVE stream group, call UpdateStreamGroup.

                              If the request is successful, Amazon GameLift Streams begins creating the stream group. Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to ACTIVATING. When the stream group reaches ACTIVE status, you can start stream sessions by using StartStreamSession. To check the stream group's status, call GetStreamGroup.

                              ", "smithy.api#http": { "code": 201, "method": "POST", @@ -762,21 +762,21 @@ "StreamClass": { "target": "com.amazonaws.gameliftstreams#StreamClass", "traits": { - "smithy.api#documentation": "

                              The target stream quality for sessions that are hosted in this stream group. Set a stream class that is appropriate to the type of\n content that you're streaming. Stream class determines the type of computing resources Amazon GameLift Streams uses and impacts the cost of streaming. The\n following options are available:

                              \n

                              A stream class can be one of the following:

                              \n
                                \n
                              • \n

                                \n \n gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity.\n Uses dedicated NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity.\n Uses dedicated NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The target stream quality for sessions that are hosted in this stream group. Set a stream class that is appropriate to the type of content that you're streaming. Stream class determines the type of computing resources Amazon GameLift Streams uses and impacts the cost of streaming. The following options are available:

                              A stream class can be one of the following:

                              • gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              ", "smithy.api#required": {} } }, "DefaultApplicationIdentifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              The unique identifier of the Amazon GameLift Streams application that you want to associate to a stream group as the default application. The\n application must be in READY status. By setting the default application identifier, you will optimize startup performance of\n this application in your stream group. Once set, this application cannot be disassociated from the stream group, unlike applications that\n are associated using AssociateApplications. If not set when creating a stream group, you will need to call AssociateApplications later,\n before you can start streaming.

                              ", + "smithy.api#documentation": "

                              The unique identifier of the Amazon GameLift Streams application that you want to associate to a stream group as the default application. The application must be in READY status. By setting the default application identifier, you will optimize startup performance of this application in your stream group. Once set, this application cannot be disassociated from the stream group, unlike applications that are associated using AssociateApplications. If not set when creating a stream group, you will need to call AssociateApplications later, before you can start streaming.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#notProperty": {} } }, "LocationConfigurations": { "target": "com.amazonaws.gameliftstreams#LocationConfigurations", "traits": { - "smithy.api#documentation": "

                              \n A set of one or more locations and the streaming capacity for each location. \n

                              ", + "smithy.api#documentation": "

                              A set of one or more locations and the streaming capacity for each location.

                              ", "smithy.api#notProperty": {} } }, @@ -784,13 +784,13 @@ "target": "com.amazonaws.gameliftstreams#Tags", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                              A list of labels to assign to the new stream group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is\n useful for resource management, access management and cost allocation. See Tagging Amazon Web Services Resources in the Amazon Web Services General Reference. You can\n use TagResource to add tags, UntagResource to remove tags, and ListTagsForResource to view tags on existing resources.

                              " + "smithy.api#documentation": "

                              A list of labels to assign to the new stream group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and cost allocation. See Tagging Amazon Web Services Resources in the Amazon Web Services General Reference. You can use TagResource to add tags, UntagResource to remove tags, and ListTagsForResource to view tags on existing resources.

                              " } }, "ClientToken": { "target": "com.amazonaws.gameliftstreams#ClientToken", "traits": { - "smithy.api#documentation": "

                              \n A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.\n

                              ", + "smithy.api#documentation": "

                              A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.

                              ", "smithy.api#idempotencyToken": {} } } @@ -805,7 +805,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -827,14 +827,14 @@ "target": "com.amazonaws.gameliftstreams#LocationStates", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              This value is the \n\tset of locations, including their name, current status, and capacities.\n

                              \n

                              \n\tA location can be in one of the following states:\n

                              \n
                                \n
                              • \n

                                \n ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.\n\t\t

                                \n
                              • \n
                              • \n

                                \n REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.\n\t\t

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              This value is the set of locations, including their name, current status, and capacities.

                              A location can be in one of the following states:

                              • ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.

                              • ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.

                              • ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.

                              • REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.

                              " } }, "StreamClass": { "target": "com.amazonaws.gameliftstreams#StreamClass", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              \n

                              A stream class can be one of the following:

                              \n
                                \n
                              • \n

                                \n \n gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity.\n Uses dedicated NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity.\n Uses dedicated NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              A stream class can be one of the following:

                              • gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              " } }, "Id": { @@ -847,21 +847,21 @@ "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the\n following:

                              \n
                                \n
                              • \n

                                \n ACTIVATING: The stream group is deploying and isn't ready to host\n streams. \n

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The stream group is ready to host streams.\n

                                \n
                              • \n
                              • \n

                                \n ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.\n

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when the stream group deployed. See\n StatusReason for more information.\n

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the stream\n group.\n

                                \n
                              • \n
                              • \n

                                \n UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).\n

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the following:

                              • ACTIVATING: The stream group is deploying and isn't ready to host streams.

                              • ACTIVE: The stream group is ready to host streams.

                              • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

                              • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

                              • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

                              " } }, "StatusReason": { "target": "com.amazonaws.gameliftstreams#StreamGroupStatusReason", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the\n following:

                              \n
                                \n
                              • \n

                                \n internalError: The request can't process right now bcause of an issue with the server. Try again later. Reach out to\n the Amazon GameLift Streams team for more help.

                                \n
                              • \n
                              • \n

                                \n noAvailableInstances: Amazon GameLift Streams does not currently have enough available On-Demand capacity to fulfill your request.\n Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different\n stream class or in another region.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the following:

                              • internalError: The request can't process right now bcause of an issue with the server. Try again later. Reach out to the Amazon GameLift Streams team for more help.

                              • noAvailableInstances: Amazon GameLift Streams does not currently have enough available On-Demand capacity to fulfill your request. Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different stream class or in another region.

                              " } }, "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "CreatedAt": { @@ -875,7 +875,7 @@ "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              \n

                              This value is a \n set of Amazon Resource Names (ARNs) that uniquely identify application resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } } }, @@ -921,7 +921,7 @@ } } }, - "smithy.api#documentation": "

                              Allows clients to reconnect to a recently disconnected stream session without losing any data from the last session.

                              \n

                              A client can reconnect to a stream session that's in PENDING_CLIENT_RECONNECTION or ACTIVE status. In the\n stream session life cycle, when the client disconnects from the stream session, the stream session transitions from CONNECTED\n to PENDING_CLIENT_RECONNECTION status. When a client requests to reconnect by calling\n CreateStreamSessionConnection, the stream session transitions to RECONNECTING status. When the reconnection\n is successful, the stream session transitions to ACTIVE status. After a stream session is disconnected for longer than\n ConnectionTimeoutSeconds, the stream session transitions to the TERMINATED status.

                              \n

                              To connect to an existing stream session, specify the stream group ID and stream session ID that you want to reconnect to, as well as\n the signal request settings to use with the stream.

                              \n

                              \n ConnectionTimeoutSeconds defines the amount of time after the stream session disconnects that a reconnection is allowed. If\n a client is disconnected from the stream for longer than ConnectionTimeoutSeconds, the stream session ends.

                              ", + "smithy.api#documentation": "

                              Allows clients to reconnect to a recently disconnected stream session without losing any data from the last session.

                              A client can reconnect to a stream session that's in PENDING_CLIENT_RECONNECTION or ACTIVE status. In the stream session life cycle, when the client disconnects from the stream session, the stream session transitions from CONNECTED to PENDING_CLIENT_RECONNECTION status. When a client requests to reconnect by calling CreateStreamSessionConnection, the stream session transitions to RECONNECTING status. When the reconnection is successful, the stream session transitions to ACTIVE status. After a stream session is disconnected for longer than ConnectionTimeoutSeconds, the stream session transitions to the TERMINATED status.

                              To connect to an existing stream session, specify the stream group ID and stream session ID that you want to reconnect to, as well as the signal request settings to use with the stream.

                              ConnectionTimeoutSeconds defines the amount of time after the stream session disconnects that a reconnection is allowed. If a client is disconnected from the stream for longer than ConnectionTimeoutSeconds, the stream session ends.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -935,14 +935,14 @@ "ClientToken": { "target": "com.amazonaws.gameliftstreams#ClientToken", "traits": { - "smithy.api#documentation": "

                              \n A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.\n

                              ", + "smithy.api#documentation": "

                              A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.

                              ", "smithy.api#idempotencyToken": {} } }, "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              \n

                              The stream group that you want to run this stream session with. The stream group must be in ACTIVE status and have idle\n stream capacity.

                              ", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              The stream group that you want to run this stream session with. The stream group must be in ACTIVE status and have idle stream capacity.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -950,7 +950,7 @@ "StreamSessionIdentifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              \n Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4.\n The stream session must be in PENDING_CLIENT_RECONNECTION or ACTIVE status.

                              ", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              The stream session must be in PENDING_CLIENT_RECONNECTION or ACTIVE status.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -958,7 +958,7 @@ "SignalRequest": { "target": "com.amazonaws.gameliftstreams#SignalRequest", "traits": { - "smithy.api#documentation": "

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. The offer is a very long JSON string. Provide the string as a\n text value in quotes. The offer must be newly generated, not the same offer provided to StartStreamSession.

                              ", + "smithy.api#documentation": "

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. The offer is a very long JSON string. Provide the string as a text value in quotes. The offer must be newly generated, not the same offer provided to StartStreamSession.

                              ", "smithy.api#required": {} } } @@ -987,13 +987,13 @@ "Id": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              An ID that uniquely identifies the application resource. For example: a-9ZY8X7Wv6.

                              " + "smithy.api#documentation": "

                              An ID that uniquely identifies the application resource. Example ID: a-9ZY8X7Wv6.

                              " } }, "Arn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) that uniquely identifies the application resource. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } } }, @@ -1033,7 +1033,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to delete an application" }, - "smithy.api#documentation": "

                              Permanently deletes an Amazon GameLift Streams application resource. This also deletes the application content files stored with Amazon GameLift Streams. However,\n this does not delete the original files that you uploaded to your Amazon S3 bucket; you can delete these any time after Amazon GameLift Streams creates an\n application, which is the only time Amazon GameLift Streams accesses your Amazon S3 bucket.

                              \n

                              You can only delete an application that meets the following conditions:

                              \n
                                \n
                              • \n

                                The application is in READY or ERROR status. You cannot delete an application that's in\n PROCESSING or INITIALIZED status.

                                \n
                              • \n
                              • \n

                                The application is not the default application of any stream groups. You must first delete the stream group by using DeleteStreamGroup.

                                \n
                              • \n
                              • \n

                                The application is not linked to any stream groups. You must first unlink the stream group by using DisassociateApplications.

                                \n
                              • \n
                              • \n

                                An application is not streaming in any ongoing stream session. You must wait until the client ends the stream session or call\n TerminateStreamSession to end the\n stream.

                                \n
                              • \n
                              \n

                              If any active stream groups exist for this application, this request returns a ValidationException.

                              ", + "smithy.api#documentation": "

                              Permanently deletes an Amazon GameLift Streams application resource. This also deletes the application content files stored with Amazon GameLift Streams. However, this does not delete the original files that you uploaded to your Amazon S3 bucket; you can delete these any time after Amazon GameLift Streams creates an application, which is the only time Amazon GameLift Streams accesses your Amazon S3 bucket.

                              You can only delete an application that meets the following conditions:

                              • The application is in READY or ERROR status. You cannot delete an application that's in PROCESSING or INITIALIZED status.

                              • The application is not the default application of any stream groups. You must first delete the stream group by using DeleteStreamGroup.

                              • The application is not linked to any stream groups. You must first unlink the stream group by using DisassociateApplications.

                              • An application is not streaming in any ongoing stream session. You must wait until the client ends the stream session or call TerminateStreamSession to end the stream.

                              If any active stream groups exist for this application, this request returns a ValidationException.

                              ", "smithy.api#http": { "code": 204, "method": "DELETE", @@ -1048,7 +1048,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -1091,7 +1091,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to delete a StreamGroup" }, - "smithy.api#documentation": "

                              Permanently deletes all compute resources and information related to a stream group. To delete a stream group, specify the unique stream\n group identifier. During the deletion process, the stream group's status is DELETING. This operation stops streams in\n progress and prevents new streams from starting. As a best practice, before deleting the stream group, call ListStreamSessions to check for streams in progress and take action to stop\n them. When you delete a stream group, any application associations referring to that stream group are automatically removed.

                              ", + "smithy.api#documentation": "

                              Permanently deletes all compute resources and information related to a stream group. To delete a stream group, specify the unique stream group identifier. During the deletion process, the stream group's status is DELETING. This operation stops streams in progress and prevents new streams from starting. As a best practice, before deleting the stream group, call ListStreamSessions to check for streams in progress and take action to stop them. When you delete a stream group, any application associations referring to that stream group are automatically removed.

                              ", "smithy.api#http": { "code": 204, "method": "DELETE", @@ -1106,7 +1106,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              The unique ID value of the stream group resource to delete. Format example: sg-1AB2C3De4.

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -1162,7 +1162,7 @@ } } }, - "smithy.api#documentation": "

                              When you disassociate, or unlink, an application from a stream group, you can no longer stream this application by using that stream\n group's allocated compute resources. Any streams in process will continue until they terminate, which helps avoid interrupting an\n end-user's stream. Amazon GameLift Streams will not initiate new streams using this stream group. The disassociate action does not affect the stream\n capacity of a stream group.

                              \n

                              You can only disassociate an application if it's not a default application of the stream group. Check\n DefaultApplicationIdentifier by calling GetStreamGroup.

                              ", + "smithy.api#documentation": "

                              When you disassociate, or unlink, an application from a stream group, you can no longer stream this application by using that stream group's allocated compute resources. Any streams in process will continue until they terminate, which helps avoid interrupting an end-user's stream. Amazon GameLift Streams will not initiate new streams using this stream group. The disassociate action does not affect the stream capacity of a stream group.

                              You can only disassociate an application if it's not a default application of the stream group. Check DefaultApplicationIdentifier by calling GetStreamGroup.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1177,7 +1177,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              A stream group to disassociate these applications from.

                              \n

                              This value is an \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              A stream group to disassociate these applications from.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -1186,7 +1186,7 @@ "ApplicationIdentifiers": { "target": "com.amazonaws.gameliftstreams#Identifiers", "traits": { - "smithy.api#documentation": "

                              A set of applications that you want to disassociate from the stream group.

                              \n

                              This value is a \n set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6. \n

                              ", + "smithy.api#documentation": "

                              A set of applications that you want to disassociate from the stream group.

                              This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#required": {} } } @@ -1201,13 +1201,13 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              " + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " } }, "ApplicationArns": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { - "smithy.api#documentation": "

                              A set of applications that are disassociated from this stream group.

                              \n

                              This value is a \n set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6. \n

                              " + "smithy.api#documentation": "

                              A set of applications that are disassociated from this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } } }, @@ -1258,7 +1258,7 @@ "Status": { "target": "com.amazonaws.gameliftstreams#ExportFilesStatus", "traits": { - "smithy.api#documentation": "

                              The result of the ExportStreamSessionFiles\n operation.

                              " + "smithy.api#documentation": "

                              The result of the ExportStreamSessionFiles operation.

                              " } }, "StatusReason": { @@ -1270,12 +1270,12 @@ "OutputUri": { "target": "com.amazonaws.gameliftstreams#OutputUri", "traits": { - "smithy.api#documentation": "

                              The S3 bucket URI where Amazon GameLift Streams uploaded the set of compressed exported files for a stream session. Amazon GameLift Streams generates a ZIP file name\n based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              \n

                              Example 1: If you provide an S3 URI called s3://MyBucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that\n location.

                              \n

                              Example 2: If you provide an S3 URI called s3://MyBucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files\n at s3://MyBucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              " + "smithy.api#documentation": "

                              The S3 bucket URI where Amazon GameLift Streams uploaded the set of compressed exported files for a stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              Example 1: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

                              Example 2: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Provides \n\tdetails about the stream session's exported files.\n

                              " + "smithy.api#documentation": "

                              Provides details about the stream session's exported files.

                              " } }, "com.amazonaws.gameliftstreams#ExportFilesReason": { @@ -1348,7 +1348,7 @@ } } }, - "smithy.api#documentation": "

                              Export the files that your application modifies or generates in a stream session, which can help you debug or verify your application.\n When your application runs, it generates output files such as logs, diagnostic information, crash dumps, save files, user data,\n screenshots, and so on. The files can be defined by the engine or frameworks that your application uses, or information that you've\n programmed your application to output.

                              \n

                              You can only call this action on a stream session that is in progress, specifically in one of the following statuses\n ACTIVE, CONNECTED, PENDING_CLIENT_RECONNECTION, and RECONNECTING. You must provide\n an Amazon Simple Storage Service (Amazon S3) bucket to store the files in. When the session ends, Amazon GameLift Streams produces a compressed folder\n that contains all of the files and directories that were modified or created by the application during the stream session. AWS uses your\n security credentials to authenticate and authorize access to your Amazon S3 bucket.

                              \n

                              Amazon GameLift Streams collects the following generated and modified files. Find them in the corresponding folders in the .zip\n archive.

                              \n
                                \n
                              • \n

                                \n application/: The folder where your application or game is stored.

                                \n
                              • \n
                              \n
                                \n
                              • \n

                                \n profile/: The user profile folder.

                                \n
                              • \n
                              • \n

                                \n temp/: The system temp folder.

                                \n
                              • \n
                              \n

                              \n

                              To verify the status of the exported files, use GetStreamSession.

                              \n

                              To delete the files, delete the object in the S3 bucket.

                              ", + "smithy.api#documentation": "

                              Export the files that your application modifies or generates in a stream session, which can help you debug or verify your application. When your application runs, it generates output files such as logs, diagnostic information, crash dumps, save files, user data, screenshots, and so on. The files can be defined by the engine or frameworks that your application uses, or information that you've programmed your application to output.

                              You can only call this action on a stream session that is in progress, specifically in one of the following statuses ACTIVE, CONNECTED, PENDING_CLIENT_RECONNECTION, and RECONNECTING. You must provide an Amazon Simple Storage Service (Amazon S3) bucket to store the files in. When the session ends, Amazon GameLift Streams produces a compressed folder that contains all of the files and directories that were modified or created by the application during the stream session. AWS uses your security credentials to authenticate and authorize access to your Amazon S3 bucket.

                              Amazon GameLift Streams collects the following generated and modified files. Find them in the corresponding folders in the .zip archive.

                              • application/: The folder where your application or game is stored.

                              • profile/: The user profile folder.

                              • temp/: The system temp folder.

                              To verify the status of the exported files, use GetStreamSession.

                              To delete the files, delete the object in the S3 bucket.

                              ", "smithy.api#http": { "code": 200, "method": "PUT", @@ -1363,7 +1363,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1371,7 +1371,7 @@ "StreamSessionIdentifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Format example: 1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1379,7 +1379,7 @@ "OutputUri": { "target": "com.amazonaws.gameliftstreams#OutputUri", "traits": { - "smithy.api#documentation": "

                              The S3 bucket URI where Amazon GameLift Streams uploads the set of compressed exported files for this stream session. Amazon GameLift Streams generates a ZIP file name\n based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              \n

                              Example 1: If you provide an S3 URI called s3://MyBucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that\n location.

                              \n

                              Example 2: If you provide an S3 URI called s3://MyBucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files\n at s3://MyBucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              ", + "smithy.api#documentation": "

                              The S3 bucket URI where Amazon GameLift Streams uploads the set of compressed exported files for this stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session metadata. Alternatively, you can provide a custom file name with a .zip file extension.

                              Example 1: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGame_Session1.zip, then Amazon GameLift Streams will save the files at that location.

                              Example 2: If you provide an S3 URI called s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/, then Amazon GameLift Streams will save the files at s3://amzn-s3-demo-destination-bucket/MyGameSessions_ExportedFiles/YYYYMMDD-HHMMSS-appId-sg-Id-sessionId.zip or another similar name.

                              ", "smithy.api#required": {} } } @@ -1527,7 +1527,7 @@ "x-amz-gameliftstreams-raw-errors" ] }, - "smithy.api#documentation": "Amazon GameLift Streams\n

                              Amazon GameLift Streams provides a global cloud solution for content streaming experiences. Use Amazon GameLift Streams tools to upload and configure content for\n streaming, deploy and scale computing resources to host streams, and manage stream session placement to meet customer demand.

                              \n

                              This Reference Guide describes the Amazon GameLift Streams service API. You can use the API through the Amazon Web Services SDK, the Command Line Interface (AWS CLI), or by making\n direct REST calls through HTTPS.

                              \n

                              See the Amazon GameLift Streams Developer Guide for more information on how Amazon GameLift Streams works and how to work with it.

                              ", + "smithy.api#documentation": "Amazon GameLift Streams

                              Amazon GameLift Streams provides a global cloud solution for content streaming experiences. Use Amazon GameLift Streams tools to upload and configure content for streaming, deploy and scale computing resources to host streams, and manage stream session placement to meet customer demand.

                              This Reference Guide describes the Amazon GameLift Streams service API. You can use the API through the Amazon Web Services SDK, the Command Line Interface (CLI), or by making direct REST calls through HTTPS.

                              See the Amazon GameLift Streams Developer Guide for more information on how Amazon GameLift Streams works and how to work with it.

                              ", "smithy.api#title": "Amazon GameLift Streams", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1898,7 +1898,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to get an application" }, - "smithy.api#documentation": "

                              Retrieves properties for an Amazon GameLift Streams application resource. Specify the ID of the application that you want to retrieve. If the\n operation is successful, it returns properties for the requested application.

                              ", + "smithy.api#documentation": "

                              Retrieves properties for an Amazon GameLift Streams application resource. Specify the ID of the application that you want to retrieve. If the operation is successful, it returns properties for the requested application.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -1968,7 +1968,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -1985,7 +1985,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -2000,7 +2000,7 @@ "target": "com.amazonaws.gameliftstreams#RuntimeEnvironment", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and\n other drivers.

                              \n

                              A runtime environment can be one of the following:

                              \n
                                \n
                              • \n

                                \n For Linux applications\n

                                \n
                                  \n
                                • \n

                                  \n Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n For Windows applications\n

                                \n
                                  \n
                                • \n

                                  Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-5 (Type=PROTON, Version=20241007)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-2c (Type=PROTON, Version=20230704)

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

                              A runtime environment can be one of the following:

                              • For Linux applications

                                • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

                              • For Windows applications

                                • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                • Proton 8.0-5 (Type=PROTON, Version=20241007)

                                • Proton 8.0-2c (Type=PROTON, Version=20230704)

                              " } }, "ExecutablePath": { @@ -2012,7 +2012,7 @@ "ApplicationLogPaths": { "target": "com.amazonaws.gameliftstreams#FilePaths", "traits": { - "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. \n Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri \n at the end of a stream session. To retrieve stored log files, call GetStreamSession \n and get the LogFileLocationUri.

                              " + "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri at the end of a stream session. To retrieve stored log files, call GetStreamSession and get the LogFileLocationUri.

                              " } }, "ApplicationLogOutputUri": { @@ -2030,14 +2030,14 @@ "Id": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6.

                              " } }, "Status": { "target": "com.amazonaws.gameliftstreams#ApplicationStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              \n
                                \n
                              • \n

                                \n INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                                \n
                              • \n
                              • \n

                                \n PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future\n deployment in a stream group.

                                \n
                              • \n
                              • \n

                                \n READY: The application is ready to deploy in a stream group.

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when setting up the application. See StatusReason for more information.

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the application.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                              • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

                              • READY: The application is ready to deploy in a stream group.

                              • ERROR: An error occurred when setting up the application. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the application.

                              " } }, "StatusReason": { @@ -2065,14 +2065,14 @@ "target": "smithy.api#Timestamp", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "AssociatedStreamGroups": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              \n

                              This value is a \n set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4.\n

                              " + "smithy.api#documentation": "

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " } } }, @@ -2109,7 +2109,7 @@ "aws.iam#iamAction": { "documentation": "Grants `permission` to get a StreamGroup" }, - "smithy.api#documentation": "

                              Retrieves properties for a Amazon GameLift Streams stream group resource. Specify the ID of the stream group that you want to retrieve. If the operation\n is successful, it returns properties for the requested stream group.

                              ", + "smithy.api#documentation": "

                              Retrieves properties for a Amazon GameLift Streams stream group resource. Specify the ID of the stream group that you want to retrieve. If the operation is successful, it returns properties for the requested stream group.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -2203,7 +2203,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              The unique ID value of the stream group resource to retrieve. Format example: sg-1AB2C3De4.

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -2220,7 +2220,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -2242,14 +2242,14 @@ "target": "com.amazonaws.gameliftstreams#LocationStates", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              This value is the \n\tset of locations, including their name, current status, and capacities.\n

                              \n

                              \n\tA location can be in one of the following states:\n

                              \n
                                \n
                              • \n

                                \n ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.\n\t\t

                                \n
                              • \n
                              • \n

                                \n REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.\n\t\t

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              This value is the set of locations, including their name, current status, and capacities.

                              A location can be in one of the following states:

                              • ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.

                              • ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.

                              • ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.

                              • REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.

                              " } }, "StreamClass": { "target": "com.amazonaws.gameliftstreams#StreamClass", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              \n

                              A stream class can be one of the following:

                              \n
                                \n
                              • \n

                                \n \n gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity.\n Uses dedicated NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity.\n Uses dedicated NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              A stream class can be one of the following:

                              • gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              " } }, "Id": { @@ -2262,21 +2262,21 @@ "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the\n following:

                              \n
                                \n
                              • \n

                                \n ACTIVATING: The stream group is deploying and isn't ready to host\n streams. \n

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The stream group is ready to host streams.\n

                                \n
                              • \n
                              • \n

                                \n ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.\n

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when the stream group deployed. See\n StatusReason for more information.\n

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the stream\n group.\n

                                \n
                              • \n
                              • \n

                                \n UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).\n

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the following:

                              • ACTIVATING: The stream group is deploying and isn't ready to host streams.

                              • ACTIVE: The stream group is ready to host streams.

                              • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

                              • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

                              • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

                              " } }, "StatusReason": { "target": "com.amazonaws.gameliftstreams#StreamGroupStatusReason", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the\n following:

                              \n
                                \n
                              • \n

                                \n internalError: The request can't process right now bcause of an issue with the server. Try again later. Reach out to\n the Amazon GameLift Streams team for more help.

                                \n
                              • \n
                              • \n

                                \n noAvailableInstances: Amazon GameLift Streams does not currently have enough available On-Demand capacity to fulfill your request.\n Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different\n stream class or in another region.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the following:

                              • internalError: The request can't process right now bcause of an issue with the server. Try again later. Reach out to the Amazon GameLift Streams team for more help.

                              • noAvailableInstances: Amazon GameLift Streams does not currently have enough available On-Demand capacity to fulfill your request. Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different stream class or in another region.

                              " } }, "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "CreatedAt": { @@ -2290,7 +2290,7 @@ "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              \n

                              This value is a \n set of Amazon Resource Names (ARNs) that uniquely identify application resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } } }, @@ -2333,7 +2333,7 @@ } } }, - "smithy.api#documentation": "

                              Retrieves properties for a Amazon GameLift Streams stream session resource. Specify the Amazon Resource Name (ARN) of the stream session that you want to retrieve and its\n stream group ARN. If the operation is successful, it returns properties for the requested resource.

                              ", + "smithy.api#documentation": "

                              Retrieves properties for a Amazon GameLift Streams stream session resource. Specify the Amazon Resource Name (ARN) of the stream session that you want to retrieve and its stream group ARN. If the operation is successful, it returns properties for the requested resource.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -2393,7 +2393,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              The stream group that runs this stream session.

                              \n

                              This value is an \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              The stream group that runs this stream session.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2401,7 +2401,7 @@ "StreamSessionIdentifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2417,7 +2417,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) assigned to the stream session resource. When combined with the stream group ARN, this value uniquely identifies it across all\n Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[resource ID].

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that's assigned to a stream session resource. When combined with the stream group resource ID, this value uniquely identifies the stream session across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream group resource ID]/[stream session resource ID].

                              " } }, "Description": { @@ -2429,13 +2429,13 @@ "StreamGroupId": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session.

                              " + "smithy.api#documentation": "

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4.

                              " } }, "UserId": { "target": "com.amazonaws.gameliftstreams#UserId", "traits": { - "smithy.api#documentation": "

                              \n An opaque, unique identifier for an end-user, defined by the developer.\n

                              " + "smithy.api#documentation": "

                              An opaque, unique identifier for an end-user, defined by the developer.

                              " } }, "Status": { @@ -2459,7 +2459,7 @@ "Location": { "target": "com.amazonaws.gameliftstreams#LocationName", "traits": { - "smithy.api#documentation": "

                              The location where Amazon GameLift Streams is hosting the stream session.

                              \n

                              \n\tA location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide. \n

                              " + "smithy.api#documentation": "

                              The location where Amazon GameLift Streams is hosting the stream session.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " } }, "SignalRequest": { @@ -2477,7 +2477,7 @@ "ConnectionTimeoutSeconds": { "target": "com.amazonaws.gameliftstreams#ConnectionTimeoutSeconds", "traits": { - "smithy.api#documentation": "

                              The maximum length of time (in seconds) that Amazon GameLift Streams keeps the stream session open. At this point, Amazon GameLift Streams ends the stream session\n regardless of any existing client connections.

                              " + "smithy.api#documentation": "

                              The maximum length of time (in seconds) that Amazon GameLift Streams keeps the stream session open. At this point, Amazon GameLift Streams ends the stream session regardless of any existing client connections.

                              " } }, "SessionLengthSeconds": { @@ -2489,19 +2489,19 @@ "AdditionalLaunchArgs": { "target": "com.amazonaws.gameliftstreams#GameLaunchArgList", "traits": { - "smithy.api#documentation": "

                              A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

                              \n

                              \n AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. \n AdditionalEnvironmentVariables passes data using environment variables; while \n AdditionalLaunchArgs passes data using command-line arguments.

                              " + "smithy.api#documentation": "

                              A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

                              AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

                              " } }, "AdditionalEnvironmentVariables": { "target": "com.amazonaws.gameliftstreams#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

                              A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. \n You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

                              \n \n

                              If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. \n For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

                              \n
                              \n

                              \n AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. \n AdditionalEnvironmentVariables passes data using environment variables; while \n AdditionalLaunchArgs passes data using command-line arguments.

                              " + "smithy.api#documentation": "

                              A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

                              If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

                              AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

                              " } }, "LogFileLocationUri": { "target": "com.amazonaws.gameliftstreams#FileLocationUri", "traits": { - "smithy.api#documentation": "

                              Access location for log files that your content generates during a stream session. These log files are uploaded to cloud storage\n location at the end of a stream session. The Amazon GameLift Streams application resource defines which log files to upload.

                              " + "smithy.api#documentation": "

                              Access location for log files that your content generates during a stream session. These log files are uploaded to cloud storage location at the end of a stream session. The Amazon GameLift Streams application resource defines which log files to upload.

                              " } }, "WebSdkProtocolUrl": { @@ -2513,7 +2513,7 @@ "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "CreatedAt": { @@ -2525,13 +2525,13 @@ "ApplicationArn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              The application streaming in this session.

                              \n

                              This value is an \n Amazon Resource Name (ARN) that uniquely identifies the application resource. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              The application streaming in this session.

                              This value is an Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } }, "ExportFilesMetadata": { "target": "com.amazonaws.gameliftstreams#ExportFilesMetadata", "traits": { - "smithy.api#documentation": "

                              Provides \n\tdetails about the stream session's exported files.\n

                              " + "smithy.api#documentation": "

                              Provides details about the stream session's exported files.

                              " } } }, @@ -2615,7 +2615,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to list applications" }, - "smithy.api#documentation": "

                              Retrieves a list of all Amazon GameLift Streams applications that are associated with the Amazon Web Services account in use. This operation returns applications in\n all statuses, in no particular order. You can paginate the results as needed.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of all Amazon GameLift Streams applications that are associated with the Amazon Web Services account in use. This operation returns applications in all statuses, in no particular order. You can paginate the results as needed.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -2649,14 +2649,14 @@ "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              The \n token that marks the start of the next set of results. Use this token when you\n retrieve results as sequential pages. To get the first page of results, omit a token\n value. To get the remaining pages, provide the token returned with the previous result\n set.\n

                              ", + "smithy.api#documentation": "

                              The token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining pages, provide the token returned with the previous result set.

                              ", "smithy.api#httpQuery": "NextToken" } }, "MaxResults": { "target": "com.amazonaws.gameliftstreams#MaxResults", "traits": { - "smithy.api#documentation": "

                              The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is\n 25.

                              ", + "smithy.api#documentation": "

                              The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25.

                              ", "smithy.api#httpQuery": "MaxResults" } } @@ -2671,13 +2671,13 @@ "Items": { "target": "com.amazonaws.gameliftstreams#ApplicationSummaryList", "traits": { - "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams applications that are associated with the Amazon Web Services account in use. Each item includes application metadata and\n status.

                              " + "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams applications that are associated with the Amazon Web Services account in use. Each item includes application metadata and status.

                              " } }, "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              A \n token that marks the start of the next sequential page of results. If an operation\n doesn't return a token, you've reached the end of the list.\n

                              " + "smithy.api#documentation": "

                              A token that marks the start of the next sequential page of results. If an operation doesn't return a token, you've reached the end of the list.

                              " } } }, @@ -2711,7 +2711,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to list StreamGroups" }, - "smithy.api#documentation": "

                              Retrieves a list of all Amazon GameLift Streams stream groups that are associated with the Amazon Web Services account in use. This operation returns stream groups in\n all statuses, in no particular order. You can paginate the results as needed.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of all Amazon GameLift Streams stream groups that are associated with the Amazon Web Services account in use. This operation returns stream groups in all statuses, in no particular order. You can paginate the results as needed.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -2745,14 +2745,14 @@ "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              A \n token that marks the start of the next set of results. Use this token when you\n retrieve results as sequential pages. To get the first page of results, omit a token\n value. To get the remaining pages, provide the token returned with the previous result\n set.\n

                              ", + "smithy.api#documentation": "

                              A token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining pages, provide the token returned with the previous result set.

                              ", "smithy.api#httpQuery": "NextToken" } }, "MaxResults": { "target": "com.amazonaws.gameliftstreams#MaxResults", "traits": { - "smithy.api#documentation": "

                              The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is\n 25.

                              ", + "smithy.api#documentation": "

                              The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25.

                              ", "smithy.api#httpQuery": "MaxResults" } } @@ -2767,13 +2767,13 @@ "Items": { "target": "com.amazonaws.gameliftstreams#StreamGroupSummaryList", "traits": { - "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams stream groups that are associated with the Amazon Web Services account in use. Each item includes stream group metadata and\n status, but doesn't include capacity information.

                              " + "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams stream groups that are associated with the Amazon Web Services account in use. Each item includes stream group metadata and status, but doesn't include capacity information.

                              " } }, "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              A \n token that marks the start of the next sequential page of results. If an operation\n doesn't return a token, you've reached the end of the list.\n

                              " + "smithy.api#documentation": "

                              A token that marks the start of the next sequential page of results. If an operation doesn't return a token, you've reached the end of the list.

                              " } } }, @@ -2816,7 +2816,7 @@ } } }, - "smithy.api#documentation": "

                              Retrieves a list of Amazon GameLift Streams stream sessions that a stream group is hosting.

                              \n

                              To retrieve stream sessions, specify the stream group, and optionally filter by stream session status. You can paginate the results as\n needed.

                              \n

                              This operation returns the requested stream sessions in no particular order.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of Amazon GameLift Streams stream sessions that a stream group is hosting.

                              To retrieve stream sessions, specify the stream group, and optionally filter by stream session status. You can paginate the results as needed.

                              This operation returns the requested stream sessions in no particular order.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -2875,7 +2875,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to list stream sessions" }, - "smithy.api#documentation": "

                              Retrieves a list of Amazon GameLift Streams stream sessions that this user account has access to.

                              \n

                              In the returned list of stream sessions, the ExportFilesMetadata property only shows the Status value. To get\n the OutpurUri and StatusReason values, use GetStreamSession.

                              \n

                              We don't recommend using this operation to regularly check stream session statuses because it's costly. Instead, to check status updates\n for a specific stream session, use GetStreamSession.

                              ", + "smithy.api#documentation": "

                              Retrieves a list of Amazon GameLift Streams stream sessions that this user account has access to.

                              In the returned list of stream sessions, the ExportFilesMetadata property only shows the Status value. To get the OutpurUri and StatusReason values, use GetStreamSession.

                              We don't recommend using this operation to regularly check stream session statuses because it's costly. Instead, to check status updates for a specific stream session, use GetStreamSession.

                              ", "smithy.api#http": { "code": 200, "method": "GET", @@ -2909,28 +2909,28 @@ "Status": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatus", "traits": { - "smithy.api#documentation": "

                              Filter by the stream session status. You can specify one status in each request to retrieve only sessions that are currently in that\n status.

                              ", + "smithy.api#documentation": "

                              Filter by the stream session status. You can specify one status in each request to retrieve only sessions that are currently in that status.

                              ", "smithy.api#httpQuery": "Status" } }, "ExportFilesStatus": { "target": "com.amazonaws.gameliftstreams#ExportFilesStatus", "traits": { - "smithy.api#documentation": "

                              Filter by the exported files status. You can specify one status in each request to retrieve only sessions that currently have that\n exported files status.

                              ", + "smithy.api#documentation": "

                              Filter by the exported files status. You can specify one status in each request to retrieve only sessions that currently have that exported files status.

                              ", "smithy.api#httpQuery": "ExportFilesStatus" } }, "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              The \n token that marks the start of the next set of results. Use this token when you\n retrieve results as sequential pages. To get the first page of results, omit a token\n value. To get the remaining pages, provide the token returned with the previous result\n set.\n

                              ", + "smithy.api#documentation": "

                              The token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining pages, provide the token returned with the previous result set.

                              ", "smithy.api#httpQuery": "NextToken" } }, "MaxResults": { "target": "com.amazonaws.gameliftstreams#MaxResults", "traits": { - "smithy.api#documentation": "

                              The \n number of results to return. Use this parameter with NextToken to\n return results in sequential pages. Default value is 25.\n

                              ", + "smithy.api#documentation": "

                              The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25.

                              ", "smithy.api#httpQuery": "MaxResults" } } @@ -2945,13 +2945,13 @@ "Items": { "target": "com.amazonaws.gameliftstreams#StreamSessionSummaryList", "traits": { - "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams stream sessions that are associated with a stream group and returned in response to a list request. Each item\n includes stream session metadata and status.

                              " + "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams stream sessions that are associated with a stream group and returned in response to a list request. Each item includes stream session metadata and status.

                              " } }, "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              A \n token that marks the start of the next sequential page of results. If an operation\n doesn't return a token, you've reached the end of the list.\n

                              " + "smithy.api#documentation": "

                              A token that marks the start of the next sequential page of results. If an operation doesn't return a token, you've reached the end of the list.

                              " } } }, @@ -2965,35 +2965,35 @@ "Status": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatus", "traits": { - "smithy.api#documentation": "

                              Filter by the stream session status. You can specify one status in each request to retrieve only sessions that are currently in that\n status.

                              ", + "smithy.api#documentation": "

                              Filter by the stream session status. You can specify one status in each request to retrieve only sessions that are currently in that status.

                              ", "smithy.api#httpQuery": "Status" } }, "ExportFilesStatus": { "target": "com.amazonaws.gameliftstreams#ExportFilesStatus", "traits": { - "smithy.api#documentation": "

                              Filter by the exported files status. You can specify one status in each request to retrieve only sessions that currently have that\n exported files status.

                              \n

                              \n\t\tExported files can be in one of the following states:\n\t

                              \n
                                \n
                              • \n

                                \n SUCCEEDED: The exported files are successfully stored in S3 bucket.\n\t\t\t\t

                                \n
                              • \n
                              • \n

                                \n FAILED: The session ended but Amazon GameLift Streams couldn't collect and upload the to S3. \n\t\t\t\t

                                \n
                              • \n
                              • \n

                                \n PENDING: Either the stream session is still in progress, or uploading the exported files to the S3 bucket is in progress.\n\t\t\t\t

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Filter by the exported files status. You can specify one status in each request to retrieve only sessions that currently have that exported files status.

                              Exported files can be in one of the following states:

                              • SUCCEEDED: The exported files are successfully stored in S3 bucket.

                              • FAILED: The session ended but Amazon GameLift Streams couldn't collect and upload the to S3.

                              • PENDING: Either the stream session is still in progress, or uploading the exported files to the S3 bucket is in progress.

                              ", "smithy.api#httpQuery": "ExportFilesStatus" } }, "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              The \n token that marks the start of the next set of results. Use this token when you\n retrieve results as sequential pages. To get the first page of results, omit a token\n value. To get the remaining pages, provide the token returned with the previous result\n set.\n

                              ", + "smithy.api#documentation": "

                              The token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining pages, provide the token returned with the previous result set.

                              ", "smithy.api#httpQuery": "NextToken" } }, "MaxResults": { "target": "com.amazonaws.gameliftstreams#MaxResults", "traits": { - "smithy.api#documentation": "

                              The \n number of results to return. Use this parameter with NextToken to\n return results in sequential pages. Default value is 25.\n

                              ", + "smithy.api#documentation": "

                              The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25.

                              ", "smithy.api#httpQuery": "MaxResults" } }, "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              The unique identifier of a Amazon GameLift Streams stream group to retrieve the stream session for. You can use either the stream group ID or the\n Amazon Resource Name (ARN).

                              ", + "smithy.api#documentation": "

                              The unique identifier of a Amazon GameLift Streams stream group to retrieve the stream session for. You can use either the stream group ID or the Amazon Resource Name (ARN).

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3009,13 +3009,13 @@ "Items": { "target": "com.amazonaws.gameliftstreams#StreamSessionSummaryList", "traits": { - "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams stream sessions that are associated with a stream group and returned in response to a list request. Each item\n includes stream session metadata and status.

                              " + "smithy.api#documentation": "

                              A collection of Amazon GameLift Streams stream sessions that are associated with a stream group and returned in response to a list request. Each item includes stream session metadata and status.

                              " } }, "NextToken": { "target": "com.amazonaws.gameliftstreams#NextToken", "traits": { - "smithy.api#documentation": "

                              A \n token that marks the start of the next sequential page of results. If an operation\n doesn't return a token, you've reached the end of the list.\n

                              " + "smithy.api#documentation": "

                              A token that marks the start of the next sequential page of results. If an operation doesn't return a token, you've reached the end of the list.

                              " } } }, @@ -3055,7 +3055,7 @@ } } }, - "smithy.api#documentation": "

                              Retrieves all tags assigned to a Amazon GameLift Streams resource. To list tags for a resource, specify the ARN value for the resource.

                              \n

                              \n Learn more\n

                              \n

                              \n Tagging Amazon Web Services Resources in the Amazon Web Services General\n Reference\n

                              \n

                              \n Amazon Web Services Tagging Strategies\n

                              ", + "smithy.api#documentation": "

                              Retrieves all tags assigned to a Amazon GameLift Streams resource. To list tags for a resource, specify the ARN value for the resource.

                              Learn more

                              Tagging Amazon Web Services Resources in the Amazon Web Services General Reference

                              Amazon Web Services Tagging Strategies

                              ", "smithy.api#http": { "uri": "/tags/{ResourceArn}", "method": "GET" @@ -3086,7 +3086,7 @@ "ResourceArn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              The (Amazon Resource Name (ARN) that you want to retrieve tags for. To get a\n Amazon GameLift Streams resource ARN, call a List or Get operation for the resource.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that you want to retrieve tags for. To get an Amazon GameLift Streams resource ARN, call a List or Get operation for the resource.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3116,25 +3116,25 @@ "LocationName": { "target": "com.amazonaws.gameliftstreams#LocationName", "traits": { - "smithy.api#documentation": "

                              \n\tA location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide. \n

                              ", + "smithy.api#documentation": "

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              ", "smithy.api#required": {} } }, "AlwaysOnCapacity": { "target": "com.amazonaws.gameliftstreams#AlwaysOnCapacity", "traits": { - "smithy.api#documentation": "

                              \n The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.\n

                              " + "smithy.api#documentation": "

                              The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              " } }, "OnDemandCapacity": { "target": "com.amazonaws.gameliftstreams#OnDemandCapacity", "traits": { - "smithy.api#documentation": "

                              \n The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).\n

                              " + "smithy.api#documentation": "

                              The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Configuration settings that define a stream group's stream capacity for a location. When configuring a location for the first time, you\n must specify a numeric value for at least one of the two capacity types. To update the capacity for an existing stream group, call UpdateStreamGroup. To add a new location and specify its\n capacity, call AddStreamGroupLocations.

                              " + "smithy.api#documentation": "

                              Configuration settings that define a stream group's stream capacity for a location. When configuring a location for the first time, you must specify a numeric value for at least one of the two capacity types. To update the capacity for an existing stream group, call UpdateStreamGroup. To add a new location and specify its capacity, call AddStreamGroupLocations.

                              " } }, "com.amazonaws.gameliftstreams#LocationConfigurations": { @@ -3178,28 +3178,28 @@ "LocationName": { "target": "com.amazonaws.gameliftstreams#LocationName", "traits": { - "smithy.api#documentation": "

                              \n\tA location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide. \n

                              " + "smithy.api#documentation": "

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " } }, "Status": { "target": "com.amazonaws.gameliftstreams#StreamGroupLocationStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              This value is \n\tset of locations, including their name, current status, and capacities.\n

                              \n

                              \n\tA location can be in one of the following states:\n

                              \n
                                \n
                              • \n

                                \n ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.\n\t\t

                                \n
                              • \n
                              • \n

                                \n REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.\n\t\t

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              This value is set of locations, including their name, current status, and capacities.

                              A location can be in one of the following states:

                              • ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.

                              • ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.

                              • ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.

                              • REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.

                              " } }, "AlwaysOnCapacity": { "target": "com.amazonaws.gameliftstreams#AlwaysOnCapacity", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              \n The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.\n

                              " + "smithy.api#documentation": "

                              The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              " } }, "OnDemandCapacity": { "target": "com.amazonaws.gameliftstreams#OnDemandCapacity", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              \n The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).\n

                              " + "smithy.api#documentation": "

                              The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              " } }, "RequestedCapacity": { @@ -3321,7 +3321,7 @@ } } }, - "smithy.api#documentation": "

                              Removes a set of remote locations from this stream group. Amazon GameLift Streams works to release allocated compute resources in these location. Thus,\n stream sessions can no longer start from these locations by using this stream group. Amazon GameLift Streams also deletes the content files of all\n associated applications that were in Amazon GameLift Streams's internal S3 bucket at this location.

                              \n

                              You cannot remove the region where you initially created this stream group, known as the primary location. However, you can set the stream\n capacity to zero.

                              ", + "smithy.api#documentation": "

                              Removes a set of remote locations from this stream group. Amazon GameLift Streams works to release allocated compute resources in these location. Thus, stream sessions can no longer start from these locations by using this stream group. Amazon GameLift Streams also deletes the content files of all associated applications that were in Amazon GameLift Streams's internal S3 bucket at this location.

                              You cannot remove the region where you initially created this stream group, known as the primary location. However, you can set the stream capacity to zero.

                              ", "smithy.api#http": { "code": 204, "method": "DELETE", @@ -3336,7 +3336,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              A stream group to remove the specified locations from.

                              \n

                              This value is a \n\tAmazon Resource Name (ARN) that uniquely identifies the stream group resource. Format example: sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              A stream group to remove the specified locations from.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -3345,7 +3345,7 @@ "Locations": { "target": "com.amazonaws.gameliftstreams#LocationsList", "traits": { - "smithy.api#documentation": "

                              A set of locations to remove this stream group.

                              \n

                              A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.\n

                              ", + "smithy.api#documentation": "

                              A set of locations to remove this stream group.

                              A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              ", "smithy.api#httpQuery": "locations", "smithy.api#notProperty": {}, "smithy.api#required": {} @@ -3362,7 +3362,7 @@ "Location": { "target": "com.amazonaws.gameliftstreams#LocationName", "traits": { - "smithy.api#documentation": "

                              \n\tA location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide. \n

                              " + "smithy.api#documentation": "

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " } }, "Status": { @@ -3373,7 +3373,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Represents the status of the replication of an application to a location. An application cannot be streamed from a location until it has\n finished replicating there.

                              " + "smithy.api#documentation": "

                              Represents the status of the replication of an application to a location. An application cannot be streamed from a location until it has finished replicating there.

                              " } }, "com.amazonaws.gameliftstreams#ReplicationStatusType": { @@ -3435,7 +3435,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and\n other drivers.

                              \n

                              A runtime environment can be one of the following:

                              \n
                                \n
                              • \n

                                \n For Linux applications\n

                                \n
                                  \n
                                • \n

                                  \n Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n For Windows applications\n

                                \n
                                  \n
                                • \n

                                  Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-5 (Type=PROTON, Version=20241007)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-2c (Type=PROTON, Version=20230704)

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

                              A runtime environment can be one of the following:

                              • For Linux applications

                                • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

                              • For Windows applications

                                • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                • Proton 8.0-5 (Type=PROTON, Version=20241007)

                                • Proton 8.0-2c (Type=PROTON, Version=20230704)

                              " } }, "com.amazonaws.gameliftstreams#RuntimeEnvironmentType": { @@ -3549,7 +3549,7 @@ } } }, - "smithy.api#documentation": "

                              This action initiates a new stream session and outputs connection information that clients can use to access the stream. A stream\n session refers to an instance of a stream that Amazon GameLift Streams transmits from the server to the end-user. A stream session runs on a compute\n resource, or stream capacity, that a stream group has allocated.

                              \n

                              To start a new stream session, specify a stream group and application ID, along with the transport protocol and signal request settings\n to use with the stream. You must have associated at least one application to the stream group before starting a stream session, either\n when creating the stream group, or by using AssociateApplications.

                              \n

                              For stream groups that have multiple locations, provide a set of locations ordered by priority by setting Locations.\n Amazon GameLift Streams will start a single stream session in the next available location. An application must be finished replicating in a remote\n location before the remote location can host a stream.

                              \n

                              If the request is successful, Amazon GameLift Streams begins to prepare the stream. Amazon GameLift Streams assigns an Amazon Resource Name (ARN) value to the stream\n session resource and sets the status to ACTIVATING. During the stream preparation process, Amazon GameLift Streams queues the request and\n searches for available stream capacity to run the stream. This can result to one of the following:

                              \n
                                \n
                              • \n

                                Amazon GameLift Streams identifies an available compute resource to run the application content and start the stream. When the stream is ready,\n the stream session's status changes to ACTIVE and includes stream connection information. Provide the connection\n information to the requesting client to join the stream session.

                                \n
                              • \n
                              • \n

                                Amazon GameLift Streams doesn't identify an available resource within a certain time, set by ClientToken. In this case, Amazon GameLift Streams\n stops processing the request, and the stream session object status changes to ERROR with status reason\n placementTimeout.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              This action initiates a new stream session and outputs connection information that clients can use to access the stream. A stream session refers to an instance of a stream that Amazon GameLift Streams transmits from the server to the end-user. A stream session runs on a compute resource that a stream group has allocated.

                              To start a new stream session, specify a stream group and application ID, along with the transport protocol and signal request settings to use with the stream. You must have associated at least one application to the stream group before starting a stream session, either when creating the stream group, or by using AssociateApplications.

                              For stream groups that have multiple locations, provide a set of locations ordered by priority using a Locations parameter. Amazon GameLift Streams will start a single stream session in the next available location. An application must be finished replicating in a remote location before the remote location can host a stream.

                              If the request is successful, Amazon GameLift Streams begins to prepare the stream. Amazon GameLift Streams assigns an Amazon Resource Name (ARN) value to the stream session resource and sets the status to ACTIVATING. During the stream preparation process, Amazon GameLift Streams queues the request and searches for available stream capacity to run the stream. This results in one of the following:

                              • Amazon GameLift Streams identifies an available compute resource to run the application content and start the stream. When the stream is ready, the stream session's status changes to ACTIVE and includes stream connection information. Provide the connection information to the requesting client to join the stream session.

                              • Amazon GameLift Streams doesn't identify an available resource within a certain time, set by ClientToken. In this case, Amazon GameLift Streams stops processing the request, and the stream session object status changes to ERROR with status reason placementTimeout.

                              ", "smithy.api#http": { "code": 201, "method": "POST", @@ -3563,7 +3563,7 @@ "ClientToken": { "target": "com.amazonaws.gameliftstreams#ClientToken", "traits": { - "smithy.api#documentation": "

                              \n A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.\n

                              ", + "smithy.api#documentation": "

                              A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.

                              ", "smithy.api#idempotencyToken": {} } }, @@ -3576,7 +3576,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              The stream group to run this stream session with.

                              \n

                              This value is an \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              The stream group to run this stream session with.

                              This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3591,51 +3591,51 @@ "SignalRequest": { "target": "com.amazonaws.gameliftstreams#SignalRequest", "traits": { - "smithy.api#documentation": "

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. The offer is a very long JSON string. Provide the string as a\n text value in quotes.

                              ", + "smithy.api#documentation": "

                              A WebRTC ICE offer string to use when initializing a WebRTC connection. Typically, the offer is a very long JSON string. Provide the string as a text value in quotes.

                              Amazon GameLift Streams also supports setting the field to \"NO_CLIENT_CONNECTION\". This will create a session without needing any browser request or Web SDK integration. The session starts up as usual and waits for a reconnection from a browser, which is accomplished using CreateStreamSessionConnection.

                              ", "smithy.api#required": {} } }, "ApplicationIdentifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#required": {} } }, "UserId": { "target": "com.amazonaws.gameliftstreams#UserId", "traits": { - "smithy.api#documentation": "

                              \n An opaque, unique identifier for an end-user, defined by the developer.\n

                              " + "smithy.api#documentation": "

                              An opaque, unique identifier for an end-user, defined by the developer.

                              " } }, "Locations": { "target": "com.amazonaws.gameliftstreams#LocationList", "traits": { - "smithy.api#documentation": "

                              A list of locations, in order of priority, where you want Amazon GameLift Streams to start a stream from. Amazon GameLift Streams selects the location with the next\n available capacity to start a single stream session in. If this value is empty, Amazon GameLift Streams attempts to start a stream session in the\n primary location.

                              \n

                              This value is A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide.\n

                              " + "smithy.api#documentation": "

                              A list of locations, in order of priority, where you want Amazon GameLift Streams to start a stream from. Amazon GameLift Streams selects the location with the next available capacity to start a single stream session in. If this value is empty, Amazon GameLift Streams attempts to start a stream session in the primary location.

                              This value is A set of location names. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " } }, "ConnectionTimeoutSeconds": { "target": "com.amazonaws.gameliftstreams#ConnectionTimeoutSeconds", "traits": { - "smithy.api#documentation": "

                              Length of time (in seconds) that Amazon GameLift Streams should wait for a client to connect to the stream session. This time span starts when the\n stream session reaches ACTIVE status. If no client connects before the timeout, Amazon GameLift Streams stops the stream session with status\n of TERMINATED. Default value is 120.

                              " + "smithy.api#documentation": "

                              Length of time (in seconds) that Amazon GameLift Streams should wait for a client to connect to the stream session. This time span starts when the stream session reaches ACTIVE status. If no client connects before the timeout, Amazon GameLift Streams stops the stream session with status of TERMINATED. Default value is 120.

                              " } }, "SessionLengthSeconds": { "target": "com.amazonaws.gameliftstreams#SessionLengthSeconds", "traits": { - "smithy.api#documentation": "

                              The maximum length of time (in seconds) that Amazon GameLift Streams keeps the stream session open. At this point, Amazon GameLift Streams ends the stream session\n regardless of any existing client connections. Default value is 43200.

                              " + "smithy.api#documentation": "

                              The maximum length of time (in seconds) that Amazon GameLift Streams keeps the stream session open. At this point, Amazon GameLift Streams ends the stream session regardless of any existing client connections. Default value is 43200.

                              " } }, "AdditionalLaunchArgs": { "target": "com.amazonaws.gameliftstreams#GameLaunchArgList", "traits": { - "smithy.api#documentation": "

                              A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

                              \n

                              \n AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. \n AdditionalEnvironmentVariables passes data using environment variables; while \n AdditionalLaunchArgs passes data using command-line arguments.

                              " + "smithy.api#documentation": "

                              A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

                              AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

                              " } }, "AdditionalEnvironmentVariables": { "target": "com.amazonaws.gameliftstreams#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

                              A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. \n You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

                              \n \n

                              If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. \n For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

                              \n
                              \n

                              \n AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. \n AdditionalEnvironmentVariables passes data using environment variables; while \n AdditionalLaunchArgs passes data using command-line arguments.

                              " + "smithy.api#documentation": "

                              A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

                              If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

                              AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

                              " } } }, @@ -3649,7 +3649,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) assigned to the stream session resource. When combined with the stream group ARN, this value uniquely identifies it across all\n Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[resource ID].

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that's assigned to a stream session resource. When combined with the stream group resource ID, this value uniquely identifies the stream session across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamsession/[stream group resource ID]/[stream session resource ID].

                              " } }, "Description": { @@ -3661,13 +3661,13 @@ "StreamGroupId": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session.

                              " + "smithy.api#documentation": "

                              The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4.

                              " } }, "UserId": { "target": "com.amazonaws.gameliftstreams#UserId", "traits": { - "smithy.api#documentation": "

                              \n An opaque, unique identifier for an end-user, defined by the developer.\n

                              " + "smithy.api#documentation": "

                              An opaque, unique identifier for an end-user, defined by the developer.

                              " } }, "Status": { @@ -3691,7 +3691,7 @@ "Location": { "target": "com.amazonaws.gameliftstreams#LocationName", "traits": { - "smithy.api#documentation": "

                              The location where Amazon GameLift Streams is streaming your application from.

                              \n

                              \n\tA location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide. \n

                              " + "smithy.api#documentation": "

                              The location where Amazon GameLift Streams is streaming your application from.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " } }, "SignalRequest": { @@ -3709,7 +3709,7 @@ "ConnectionTimeoutSeconds": { "target": "com.amazonaws.gameliftstreams#ConnectionTimeoutSeconds", "traits": { - "smithy.api#documentation": "

                              The maximum length of time (in seconds) that Amazon GameLift Streams keeps the stream session open. At this point, Amazon GameLift Streams ends the stream session\n regardless of any existing client connections.

                              " + "smithy.api#documentation": "

                              The maximum length of time (in seconds) that Amazon GameLift Streams keeps the stream session open. At this point, Amazon GameLift Streams ends the stream session regardless of any existing client connections.

                              " } }, "SessionLengthSeconds": { @@ -3721,19 +3721,19 @@ "AdditionalLaunchArgs": { "target": "com.amazonaws.gameliftstreams#GameLaunchArgList", "traits": { - "smithy.api#documentation": "

                              A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

                              \n

                              \n AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. \n AdditionalEnvironmentVariables passes data using environment variables; while \n AdditionalLaunchArgs passes data using command-line arguments.

                              " + "smithy.api#documentation": "

                              A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom arguments that Amazon GameLift Streams passes to your game client.

                              AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

                              " } }, "AdditionalEnvironmentVariables": { "target": "com.amazonaws.gameliftstreams#EnvironmentVariables", "traits": { - "smithy.api#documentation": "

                              A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. \n You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

                              \n \n

                              If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. \n For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

                              \n
                              \n

                              \n AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. \n AdditionalEnvironmentVariables passes data using environment variables; while \n AdditionalLaunchArgs passes data using command-line arguments.

                              " + "smithy.api#documentation": "

                              A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. You can use this to configure the application or stream session details. You can also provide custom environment variables that Amazon GameLift Streams passes to your game client.

                              If you want to debug your application with environment variables, we recommend that you do so in a local environment outside of Amazon GameLift Streams. For more information, refer to the Compatibility Guidance in the troubleshooting section of the Developer Guide.

                              AdditionalEnvironmentVariables and AdditionalLaunchArgs have similar purposes. AdditionalEnvironmentVariables passes data using environment variables; while AdditionalLaunchArgs passes data using command-line arguments.

                              " } }, "LogFileLocationUri": { "target": "com.amazonaws.gameliftstreams#FileLocationUri", "traits": { - "smithy.api#documentation": "

                              Access location for log files that your content generates during a stream session. These log files are uploaded to cloud storage\n location at the end of a stream session. The Amazon GameLift Streams application resource defines which log files to upload.

                              " + "smithy.api#documentation": "

                              Access location for log files that your content generates during a stream session. These log files are uploaded to cloud storage location at the end of a stream session. The Amazon GameLift Streams application resource defines which log files to upload.

                              " } }, "WebSdkProtocolUrl": { @@ -3745,7 +3745,7 @@ "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "CreatedAt": { @@ -3757,13 +3757,13 @@ "ApplicationArn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) that uniquely identifies the application resource. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } }, "ExportFilesMetadata": { "target": "com.amazonaws.gameliftstreams#ExportFilesMetadata", "traits": { - "smithy.api#documentation": "

                              Provides \n\tdetails about the stream session's exported files.\n

                              " + "smithy.api#documentation": "

                              Provides details about the stream session's exported files.

                              " } } }, @@ -3980,7 +3980,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -3988,7 +3988,7 @@ "Id": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              " + "smithy.api#documentation": "

                              An ID that uniquely identifies the stream group resource. Example ID: sg-1AB2C3De4.

                              " } }, "Description": { @@ -4006,13 +4006,13 @@ "StreamClass": { "target": "com.amazonaws.gameliftstreams#StreamClass", "traits": { - "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              \n

                              A stream class can be one of the following:

                              \n
                                \n
                              • \n

                                \n \n gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity.\n Uses dedicated NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity.\n Uses dedicated NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              A stream class can be one of the following:

                              • gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              " } }, "Status": { "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { - "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the\n following:

                              \n
                                \n
                              • \n

                                \n ACTIVATING: The stream group is deploying and isn't ready to host\n streams. \n

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The stream group is ready to host streams.\n

                                \n
                              • \n
                              • \n

                                \n ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.\n

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when the stream group deployed. See\n StatusReason for more information.\n

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the stream\n group.\n

                                \n
                              • \n
                              • \n

                                \n UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).\n

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the following:

                              • ACTIVATING: The stream group is deploying and isn't ready to host streams.

                              • ACTIVE: The stream group is ready to host streams.

                              • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

                              • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

                              • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

                              " } }, "CreatedAt": { @@ -4024,7 +4024,7 @@ "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } } }, @@ -4126,19 +4126,19 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4.\n.

                              " + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567.

                              " } }, "UserId": { "target": "com.amazonaws.gameliftstreams#UserId", "traits": { - "smithy.api#documentation": "

                              \n An opaque, unique identifier for an end-user, defined by the developer.\n

                              " + "smithy.api#documentation": "

                              An opaque, unique identifier for an end-user, defined by the developer.

                              " } }, "Status": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatus", "traits": { - "smithy.api#documentation": "

                              The current status of the stream session resource. Possible statuses include the following:

                              \n
                                \n
                              • \n

                                \n ACTIVATING: The stream session is starting and preparing to stream.

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The stream session is ready to accept client connections.

                                \n
                              • \n
                              • \n

                                \n CONNECTED: The stream session has a connected client.

                                \n
                              • \n
                              • \n

                                \n PENDING_CLIENT_RECONNECTION: A client has recently disconnected, and the stream session is waiting for the client\n to reconnect. After a short time, if the client doesn't reconnect, the stream session status transitions to\n TERMINATED.

                                \n
                              • \n
                              • \n

                                \n TERMINATING: The stream session is ending.

                                \n
                              • \n
                              • \n

                                \n TERMINATED: The stream session has ended.

                                \n
                              • \n
                              • \n

                                \n ERROR: The stream session failed to activate.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the stream session resource. Possible statuses include the following:

                              • ACTIVATING: The stream session is starting and preparing to stream.

                              • ACTIVE: The stream session is ready to accept client connections.

                              • CONNECTED: The stream session has a connected client.

                              • PENDING_CLIENT_RECONNECTION: A client has recently disconnected, and the stream session is waiting for the client to reconnect. After a short time, if the client doesn't reconnect, the stream session status transitions to TERMINATED.

                              • TERMINATING: The stream session is ending.

                              • TERMINATED: The stream session has ended.

                              • ERROR: The stream session failed to activate.

                              " } }, "Protocol": { @@ -4150,7 +4150,7 @@ "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "CreatedAt": { @@ -4162,19 +4162,19 @@ "ApplicationArn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } }, "ExportFilesMetadata": { "target": "com.amazonaws.gameliftstreams#ExportFilesMetadata", "traits": { - "smithy.api#documentation": "

                              Provides \n\tdetails about the stream session's exported files.\n

                              " + "smithy.api#documentation": "

                              Provides details about the stream session's exported files.

                              " } }, "Location": { "target": "com.amazonaws.gameliftstreams#LocationName", "traits": { - "smithy.api#documentation": "

                              The location where Amazon GameLift Streams is hosting the stream session.

                              \n

                              \n\tA location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions and quotas in the Amazon GameLift Streams Developer Guide. \n

                              " + "smithy.api#documentation": "

                              The location where Amazon GameLift Streams is hosting the stream session.

                              A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Guide.

                              " } } }, @@ -4245,7 +4245,7 @@ } } }, - "smithy.api#documentation": "

                              Assigns one or more tags to a Amazon GameLift Streams resource. Use tags to organize Amazon Web Services resources for a range of purposes. You can assign tags to\n the following Amazon GameLift Streams resource types:

                              \n
                                \n
                              • \n

                                Application

                                \n
                              • \n
                              • \n

                                StreamGroup

                                \n
                              • \n
                              \n

                              \n Learn more\n

                              \n

                              \n Tagging Amazon Web Services Resources in the Amazon Web Services General\n Reference\n

                              \n

                              \n Amazon Web Services Tagging Strategies\n

                              ", + "smithy.api#documentation": "

                              Assigns one or more tags to a Amazon GameLift Streams resource. Use tags to organize Amazon Web Services resources for a range of purposes. You can assign tags to the following Amazon GameLift Streams resource types:

                              • Application

                              • StreamGroup

                              Learn more

                              Tagging Amazon Web Services Resources in the Amazon Web Services General Reference

                              Amazon Web Services Tagging Strategies

                              ", "smithy.api#http": { "uri": "/tags/{ResourceArn}", "method": "POST" @@ -4259,7 +4259,7 @@ "ResourceArn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to apply\n tags to.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to apply tags to.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4343,7 +4343,7 @@ } } }, - "smithy.api#documentation": "

                              Permanently terminates an active stream session. When called, the stream session status changes to TERMINATING. You can\n terminate a stream session in any status except ACTIVATING. If the stream session is in ACTIVATING status, an\n exception is thrown.

                              ", + "smithy.api#documentation": "

                              Permanently terminates an active stream session. When called, the stream session status changes to TERMINATING. You can terminate a stream session in any status except ACTIVATING. If the stream session is in ACTIVATING status, an exception is thrown.

                              ", "smithy.api#http": { "code": 204, "method": "DELETE", @@ -4358,7 +4358,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              \n

                              The stream group that runs this stream session.

                              ", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              The stream group that runs this stream session.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4366,7 +4366,7 @@ "StreamSessionIdentifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              \n Amazon Resource Name (ARN) that uniquely identifies the stream session resource. Format example: 1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: ABC123def4567.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4431,7 +4431,7 @@ } } }, - "smithy.api#documentation": "

                              Removes one or more tags from a Amazon GameLift Streams resource. To remove tags, specify the Amazon GameLift Streams resource and a list of one or more tags to\n remove.

                              ", + "smithy.api#documentation": "

                              Removes one or more tags from a Amazon GameLift Streams resource. To remove tags, specify the Amazon GameLift Streams resource and a list of one or more tags to remove.

                              ", "smithy.api#http": { "uri": "/tags/{ResourceArn}", "method": "DELETE" @@ -4445,7 +4445,7 @@ "ResourceArn": { "target": "com.amazonaws.gameliftstreams#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to remove\n tags from.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to remove tags from.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4500,7 +4500,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to update an application" }, - "smithy.api#documentation": "

                              Updates the mutable configuration settings for a Amazon GameLift Streams application resource. You can change the Description,\n ApplicationLogOutputUri, and ApplicationLogPaths.

                              \n

                              To update application settings, specify the application ID and provide the new values. If the operation is successful, it returns the\n complete updated set of settings for the application.

                              ", + "smithy.api#documentation": "

                              Updates the mutable configuration settings for a Amazon GameLift Streams application resource. You can change the Description, ApplicationLogOutputUri, and ApplicationLogPaths.

                              To update application settings, specify the application ID and provide the new values. If the operation is successful, it returns the complete updated set of settings for the application.

                              ", "smithy.api#http": { "code": 200, "method": "PATCH", @@ -4514,7 +4514,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -4529,13 +4529,13 @@ "ApplicationLogPaths": { "target": "com.amazonaws.gameliftstreams#FilePaths", "traits": { - "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Enter path\n values that are relative to the ApplicationSourceUri location.\n You can specify up to 10 log paths.\n Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri \n at the end of a stream session. To retrieve stored log files, call GetStreamSession \n and get the LogFileLocationUri.

                              " + "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Enter path values that are relative to the ApplicationSourceUri location. You can specify up to 10 log paths. Amazon GameLift Streams uploads designated log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri at the end of a stream session. To retrieve stored log files, call GetStreamSession and get the LogFileLocationUri.

                              " } }, "ApplicationLogOutputUri": { "target": "com.amazonaws.gameliftstreams#ApplicationLogOutputUri", "traits": { - "smithy.api#documentation": "

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              \n \n

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Getting Started in the Amazon GameLift Streams Developer Guide.

                              \n
                              " + "smithy.api#documentation": "

                              An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths.

                              The log bucket must have permissions that give Amazon GameLift Streams access to write the log files. For more information, see Application log bucket permission policy in the Amazon GameLift Streams Developer Guide.

                              " } } }, @@ -4549,7 +4549,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:application/[resource ID].

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -4564,7 +4564,7 @@ "target": "com.amazonaws.gameliftstreams#RuntimeEnvironment", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and\n other drivers.

                              \n

                              A runtime environment can be one of the following:

                              \n
                                \n
                              • \n

                                \n For Linux applications\n

                                \n
                                  \n
                                • \n

                                  \n Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n For Windows applications\n

                                \n
                                  \n
                                • \n

                                  Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-5 (Type=PROTON, Version=20241007)

                                  \n
                                • \n
                                • \n

                                  Proton 8.0-2c (Type=PROTON, Version=20230704)

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.

                              A runtime environment can be one of the following:

                              • For Linux applications

                                • Ubuntu 22.04 LTS (Type=UBUNTU, Version=22_04_LTS)

                              • For Windows applications

                                • Microsoft Windows Server 2022 Base (Type=WINDOWS, Version=2022)

                                • Proton 8.0-5 (Type=PROTON, Version=20241007)

                                • Proton 8.0-2c (Type=PROTON, Version=20230704)

                              " } }, "ExecutablePath": { @@ -4576,7 +4576,7 @@ "ApplicationLogPaths": { "target": "com.amazonaws.gameliftstreams#FilePaths", "traits": { - "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. \n Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri \n at the end of a stream session. To retrieve stored log files, call GetStreamSession \n and get the LogFileLocationUri.

                              " + "smithy.api#documentation": "

                              Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in ApplicationLogOutputUri at the end of a stream session. To retrieve stored log files, call GetStreamSession and get the LogFileLocationUri.

                              " } }, "ApplicationLogOutputUri": { @@ -4594,14 +4594,14 @@ "Id": { "target": "com.amazonaws.gameliftstreams#Id", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6 or ID-a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6.

                              " } }, "Status": { "target": "com.amazonaws.gameliftstreams#ApplicationStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              \n
                                \n
                              • \n

                                \n INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                                \n
                              • \n
                              • \n

                                \n PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future\n deployment in a stream group.

                                \n
                              • \n
                              • \n

                                \n READY: The application is ready to deploy in a stream group.

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when setting up the application. See StatusReason for more information.

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the application.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the application resource. Possible statuses include the following:

                              • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

                              • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

                              • READY: The application is ready to deploy in a stream group.

                              • ERROR: An error occurred when setting up the application. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the application.

                              " } }, "StatusReason": { @@ -4629,14 +4629,14 @@ "target": "smithy.api#Timestamp", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "AssociatedStreamGroups": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              \n

                              This value is a \n set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4.\n

                              " + "smithy.api#documentation": "

                              A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify stream group resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4.

                              " } } }, @@ -4679,7 +4679,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to update a StreamGroup" }, - "smithy.api#documentation": "

                              Updates the configuration settings for an Amazon GameLift Streams stream group resource. You can change the description, the set of locations, and\n the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.

                              \n

                              \n Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity: always-on and on-demand:\n

                              \n
                                \n
                              • \n

                                \n Always-on: \n The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.\n\n

                                \n
                              • \n
                              • \n

                                \n On-demand: \n The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).\n\n

                                \n
                              • \n
                              \n

                              To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the\n complete updated metadata for the stream group.

                              ", + "smithy.api#documentation": "

                              Updates the configuration settings for an Amazon GameLift Streams stream group resource. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.

                              Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

                              • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session.

                              • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes).

                              To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group.

                              ", "smithy.api#http": { "code": 200, "method": "PATCH", @@ -4693,7 +4693,7 @@ "Identifier": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An \n Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Format example: ARN-arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4 or ID-sg-1AB2C3De4.\n

                              ", + "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" @@ -4702,7 +4702,7 @@ "LocationConfigurations": { "target": "com.amazonaws.gameliftstreams#LocationConfigurations", "traits": { - "smithy.api#documentation": "

                              \n A set of one or more locations and the streaming capacity for each location. \n

                              ", + "smithy.api#documentation": "

                              A set of one or more locations and the streaming capacity for each location.

                              ", "smithy.api#notProperty": {} } }, @@ -4723,7 +4723,7 @@ "Arn": { "target": "com.amazonaws.gameliftstreams#Identifier", "traits": { - "smithy.api#documentation": "

                              An Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is\n arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is arn:aws:gameliftstreams:[AWS Region]:[AWS account]:streamgroup/[resource ID].

                              ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -4745,14 +4745,14 @@ "target": "com.amazonaws.gameliftstreams#LocationStates", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              This value is \n\tset of locations, including their name, current status, and capacities.\n

                              \n

                              \n\tA location can be in one of the following states:\n

                              \n
                                \n
                              • \n

                                \n ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.\n\t\t

                                \n
                              • \n
                              • \n

                                \n ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.\n\t\t

                                \n
                              • \n
                              • \n

                                \n REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.\n\t\t

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              This value is set of locations, including their name, current status, and capacities.

                              A location can be in one of the following states:

                              • ACTIVATING: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.

                              • ACTIVE: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.

                              • ERROR: Amazon GameLift Streams failed to set up this location. The StatusReason field describes the error. You can remove this location and try to add it again.

                              • REMOVING: Amazon GameLift Streams is working to remove this location. It releases all provisioned capacity for this location in this stream group.

                              " } }, "StreamClass": { "target": "com.amazonaws.gameliftstreams#StreamClass", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              \n

                              A stream class can be one of the following:

                              \n
                                \n
                              • \n

                                \n \n gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity.\n Uses dedicated NVIDIA A10G Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity.\n Uses NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports up to 2 concurrent stream sessions

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n \n gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity.\n Uses dedicated NVIDIA T4 Tensor GPU.

                                \n
                                  \n
                                • \n

                                  Reference resolution: 1080p

                                  \n
                                • \n
                                • \n

                                  Reference frame rate: 60 fps

                                  \n
                                • \n
                                • \n

                                  Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                  \n
                                • \n
                                • \n

                                  Tenancy: Supports 1 concurrent stream session

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The target stream quality for the stream group.

                              A stream class can be one of the following:

                              • gen5n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen5n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen5n_ultra (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_win2022 (NVIDIA, ultra) Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              • gen4n_high (NVIDIA, high) Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM

                                • Tenancy: Supports up to 2 concurrent stream sessions

                              • gen4n_ultra (NVIDIA, ultra) Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.

                                • Reference resolution: 1080p

                                • Reference frame rate: 60 fps

                                • Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM

                                • Tenancy: Supports 1 concurrent stream session

                              " } }, "Id": { @@ -4765,21 +4765,21 @@ "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the\n following:

                              \n
                                \n
                              • \n

                                \n ACTIVATING: The stream group is deploying and isn't ready to host\n streams. \n

                                \n
                              • \n
                              • \n

                                \n ACTIVE: The stream group is ready to host streams.\n

                                \n
                              • \n
                              • \n

                                \n ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.\n

                                \n
                              • \n
                              • \n

                                \n ERROR: An error occurred when the stream group deployed. See\n StatusReason for more information.\n

                                \n
                              • \n
                              • \n

                                \n DELETING: Amazon GameLift Streams is in the process of deleting the stream\n group.\n

                                \n
                              • \n
                              • \n

                                \n UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).\n

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The current status of the stream group resource. Possible statuses include the following:

                              • ACTIVATING: The stream group is deploying and isn't ready to host streams.

                              • ACTIVE: The stream group is ready to host streams.

                              • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

                              • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

                              • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

                              • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

                              " } }, "StatusReason": { "target": "com.amazonaws.gameliftstreams#StreamGroupStatusReason", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the\n following:

                              \n
                                \n
                              • \n

                                \n internalError: The request can't process right now bcause of an issue with the server. Try again later. Reach out to\n the Amazon GameLift Streams team for more help.

                                \n
                              • \n
                              • \n

                                \n noAvailableInstances: Amazon GameLift Streams does not currently have enough available On-Demand capacity to fulfill your request.\n Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different\n stream class or in another region.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the following:

                              • internalError: The request can't process right now bcause of an issue with the server. Try again later. Reach out to the Amazon GameLift Streams team for more help.

                              • noAvailableInstances: Amazon GameLift Streams does not currently have enough available On-Demand capacity to fulfill your request. Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different stream class or in another region.

                              " } }, "LastUpdatedAt": { "target": "smithy.api#Timestamp", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " + "smithy.api#documentation": "

                              A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

                              " } }, "CreatedAt": { @@ -4793,7 +4793,7 @@ "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

                              A set of applications that this stream group is associated with. You can stream any of these applications with the stream group.

                              \n

                              This value is a \n set of Amazon Resource Names (ARNs) that uniquely identify application resources. Format example: arn:aws:gameliftstreams:us-west-2:123456789012:application/a-9ZY8X7Wv6.\n

                              " + "smithy.api#documentation": "

                              A set of applications that this stream group is associated with. You can stream any of these applications with the stream group.

                              This value is a set of Amazon Resource Names (ARNs) that uniquely identify application resources. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6.

                              " } } }, @@ -4823,7 +4823,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              One or more parameter values in the request fail to satisfy the specified constraints. Correct the invalid parameter values before\n retrying the request.

                              ", + "smithy.api#documentation": "

                              One or more parameter values in the request fail to satisfy the specified constraints. Correct the invalid parameter values before retrying the request.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/tools/code-generation/smithy/api-descriptions/geo-places.json b/tools/code-generation/smithy/api-descriptions/geo-places.json index a14d4b57e97..14806bcab87 100644 --- a/tools/code-generation/smithy/api-descriptions/geo-places.json +++ b/tools/code-generation/smithy/api-descriptions/geo-places.json @@ -48,7 +48,7 @@ "type": "structure", "members": { "Restricted": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              The restriction.

                              " } @@ -61,7 +61,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Indicates if the access location is restricted. Index correlates to that of an access\n point and indicates if access through this point has some form of restriction.

                              " + "smithy.api#documentation": "

                              Indicates if the access location is restricted. Index correlates to that of an access point and indicates if access through this point has some form of restriction.

                              " } }, "com.amazonaws.geoplaces#AccessRestrictionList": { @@ -80,9 +80,9 @@ "type": "structure", "members": { "Label": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Assembled address value built out of the address components, according to the regional\n postal rules. This is the correctly formatted address.

                              ", + "smithy.api#documentation": "

                              Assembled address value built out of the address components, according to the regional postal rules. This is the correctly formatted address.

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -98,7 +98,7 @@ "Region": { "target": "com.amazonaws.geoplaces#Region", "traits": { - "smithy.api#documentation": "

                              The region or state results should be present in.

                              \n

                              Example: North Rhine-Westphalia.

                              " + "smithy.api#documentation": "

                              The region or state results should be present in.

                              Example: North Rhine-Westphalia.

                              " } }, "SubRegion": { @@ -108,9 +108,9 @@ } }, "Locality": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The locality or city of the address.

                              \n

                              Example: Vancouver.

                              ", + "smithy.api#documentation": "

                              The city or locality of the address.

                              Example: Vancouver.

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -118,7 +118,7 @@ } }, "District": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The district or division of a locality associated with this address.

                              ", "smithy.api#length": { @@ -128,9 +128,9 @@ } }, "SubDistrict": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              A subdivision of a district.

                              \n

                              Example: Minden-Lübbecke.

                              ", + "smithy.api#documentation": "

                              A subdivision of a district.

                              Example: Minden-Lübbecke.

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -138,9 +138,9 @@ } }, "PostalCode": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as\n post code, postcode, or ZIP code, for which the result should posses.

                              ", + "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                              ", "smithy.api#length": { "min": 0, "max": 50 @@ -148,9 +148,9 @@ } }, "Block": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Name of the block.

                              \n

                              Example: Sunny Mansion 203 block: 2 Chome\n

                              ", + "smithy.api#documentation": "

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 Chome

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -158,9 +158,9 @@ } }, "SubBlock": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Name of sub-block.

                              \n

                              Example: Sunny Mansion 203 sub-block: 4\n

                              ", + "smithy.api#documentation": "

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -168,13 +168,13 @@ } }, "Intersection": { - "target": "com.amazonaws.geoplaces#IntersectionList", + "target": "com.amazonaws.geoplaces#IntersectionStreetList", "traits": { - "smithy.api#documentation": "

                              Name of the streets in the intersection.

                              \n

                              Example: [\"Friedrichstraße\",\"Unter den Linden\"]\n

                              " + "smithy.api#documentation": "

                              Name of the streets in the intersection.

                              Example: [\"Friedrichstraße\",\"Unter den Linden\"]

                              " } }, "Street": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The name of the street results should be present in.

                              ", "smithy.api#length": { @@ -186,11 +186,11 @@ "StreetComponents": { "target": "com.amazonaws.geoplaces#StreetComponentsList", "traits": { - "smithy.api#documentation": "

                              Components of the street.

                              \n

                              Example: Younge from the \"Younge street\".

                              " + "smithy.api#documentation": "

                              Components of the street.

                              Example: Younge from the \"Younge street\".

                              " } }, "AddressNumber": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The number that identifies an address within a street.

                              ", "smithy.api#length": { @@ -200,7 +200,7 @@ } }, "Building": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The name of the building at the address.

                              ", "smithy.api#length": { @@ -208,6 +208,12 @@ "max": 200 } } + }, + "SecondaryAddressComponents": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponentList", + "traits": { + "smithy.api#documentation": "

                              Components that correspond to secondary identifiers on an Address. Secondary address components include information such as Suite or Unit Number, Building, or Floor.

                              " + } } }, "traits": { @@ -228,7 +234,7 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              \n

                              Example: North Rhine-Westphalia.

                              " + "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              Example: North Rhine-Westphalia.

                              " } }, "SubRegion": { @@ -242,7 +248,7 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              The city or locality results should be present in.

                              \n

                              Example: Vancouver.

                              " + "smithy.api#documentation": "

                              The city or locality results should be present in.

                              Example: Vancouver.

                              " } }, "District": { @@ -256,34 +262,34 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              A subdivision of a district.

                              \n

                              Example: Minden-Lübbecke\n

                              " + "smithy.api#documentation": "

                              A subdivision of a district.

                              Example: Minden-Lübbecke

                              " } }, "PostalCode": { "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as\n post code, postcode, or ZIP code, for which the result should posses.

                              " + "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                              " } }, "Block": { "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              Name of the block.

                              \n

                              Example: Sunny Mansion 203 block: 2 Chome\n

                              " + "smithy.api#documentation": "

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 Chome

                              " } }, "SubBlock": { "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              Name of sub-block.

                              \n

                              Example: Sunny Mansion 203 sub-block: 4\n

                              " + "smithy.api#documentation": "

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              " } }, "Intersection": { "target": "com.amazonaws.geoplaces#MatchScoreList", "traits": { - "smithy.api#documentation": "

                              Name of the streets in the intersection.

                              \n

                              Example: [\"Friedrichstraße\",\"Unter den Linden\"]\n

                              ", + "smithy.api#documentation": "

                              Name of the streets in the intersection.

                              Example: [\"Friedrichstraße\",\"Unter den Linden\"]

                              ", "smithy.api#length": { "min": 1, "max": 2 @@ -303,10 +309,16 @@ "smithy.api#default": 0, "smithy.api#documentation": "

                              The name of the building at the address.

                              " } + }, + "SecondaryAddressComponents": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScoreList", + "traits": { + "smithy.api#documentation": "

                              Match scores for the secondary address components in the result.

                              " + } } }, "traits": { - "smithy.api#documentation": "

                              Indicates how well the entire input matches the returned. It is equal to 1 if all input\n tokens are recognized and matched.

                              " + "smithy.api#documentation": "

                              Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                              " } }, "com.amazonaws.geoplaces#AddressComponentPhonemes": { @@ -333,7 +345,7 @@ "Locality": { "target": "com.amazonaws.geoplaces#PhonemeTranscriptionList", "traits": { - "smithy.api#documentation": "

                              How to pronounce the city or locality results should be present in.

                              \n

                              Example: Vancouver.

                              " + "smithy.api#documentation": "

                              How to pronounce the city or locality results should be present in.

                              Example: Vancouver.

                              " } }, "District": { @@ -345,7 +357,7 @@ "SubDistrict": { "target": "com.amazonaws.geoplaces#PhonemeTranscriptionList", "traits": { - "smithy.api#documentation": "

                              How to pronounce the sub-district or division of a city results should be present\n in.

                              " + "smithy.api#documentation": "

                              How to pronounce the sub-district or division of a city results should be present in.

                              " } }, "Block": { @@ -407,7 +419,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              The autocomplete operation speeds up and increases the accuracy of entering addresses by providing a list of address candidates matching a partially entered address. Results are sorted from most to least matching. Filtering and biasing can be used to increase the relevance of the results if additional search context is known

                              ", + "smithy.api#documentation": "

                              Autocomplete completes potential places and addresses as the user types, based on the partial input. The API enhances the efficiency and accuracy of address by completing query based on a few entered keystrokes. It helps you by completing partial queries with valid address completion. Also, the API supports the filtering of results based on geographic location, country, or specific place types, and can be tailored using optional parameters like language and political views.

                              ", "smithy.api#http": { "uri": "/autocomplete", "method": "POST" @@ -460,7 +472,7 @@ "Label": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                              Indicates the starting and ending indexes for result items where they are identified to match the input query.\n This should be used to provide emphasis to output display to make selecting the correct result from a list easier for end users.

                              " + "smithy.api#documentation": "

                              Indicates the starting and ending indexes for result items where they are identified to match the input query. This should be used to provide emphasis to output display to make selecting the correct result from a list easier for end users.

                              " } }, "Country": { @@ -472,7 +484,7 @@ "Region": { "target": "com.amazonaws.geoplaces#RegionHighlights", "traits": { - "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              \n

                              Example: North Rhine-Westphalia.

                              " + "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              Example: North Rhine-Westphalia.

                              " } }, "SubRegion": { @@ -484,7 +496,7 @@ "Locality": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                              The city or locality results should be present in.

                              \n

                              Example: Vancouver.

                              " + "smithy.api#documentation": "

                              The city or locality results should be present in.

                              Example: Vancouver.

                              " } }, "District": { @@ -508,13 +520,13 @@ "Block": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                              Name of the block. Example: Sunny Mansion 203\nblock: 2 Chome

                              " + "smithy.api#documentation": "

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 Chome

                              " } }, "SubBlock": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                              Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                              " + "smithy.api#documentation": "

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              " } }, "Intersection": { @@ -526,7 +538,7 @@ "PostalCode": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                              " + "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                              " } }, "AddressNumber": { @@ -552,7 +564,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Circle": { @@ -572,7 +584,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Autocomplete structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              Autocomplete structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "com.amazonaws.geoplaces#AutocompleteFilterPlaceType": { @@ -641,7 +653,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              ", + "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#length": { "min": 1, "max": 200 @@ -663,25 +675,25 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                              The position in longitude and latitude that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                              \n \n

                              The fields BiasPosition, FilterBoundingBox, and\n FilterCircle are mutually exclusive.

                              \n
                              " + "smithy.api#documentation": "

                              The position in longitude and latitude that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                              The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                              " } }, "Filter": { "target": "com.amazonaws.geoplaces#AutocompleteFilter", "traits": { - "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "PostalCodeMode": { "target": "com.amazonaws.geoplaces#PostalCodeMode", "traits": { - "smithy.api#documentation": "

                              The PostalCodeMode affects how postal code results are returned. If a\n postal code spans multiple localities and this value is empty, \n partial district or locality information may be returned under a single postal code result entry. If it's populated with the value cityLookup, all cities in that\n postal code are returned.

                              " + "smithy.api#documentation": "

                              The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value EnumerateSpannedLocalities, all cities in that postal code are returned.

                              " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#AutocompleteAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters that can be requested for\n each result.

                              " + "smithy.api#documentation": "

                              A list of optional additional parameters that can be requested for each result.

                              " } }, "Language": { @@ -693,19 +705,19 @@ "PoliticalView": { "target": "com.amazonaws.geoplaces#CountryCode", "traits": { - "smithy.api#documentation": "

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              " + "smithy.api#documentation": "

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              The following political views are currently supported:

                              • ARG: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands

                              • EGY: Egypt's view on Bir Tawil

                              • IND: India's view on Gilgit-Baltistan

                              • KEN: Kenya's view on the Ilemi Triangle

                              • MAR: Morocco's view on Western Sahara

                              • RUS: Russia's view on Crimea

                              • SDN: Sudan's view on the Halaib Triangle

                              • SRB: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                              • SUR: Suriname's view on the Courantyne Headwaters and Lawa Headwaters

                              • SYR: Syria's view on the Golan Heights

                              • TUR: Turkey's view on Cyprus and Northern Cyprus

                              • TZA: Tanzania's view on Lake Malawi

                              • URY: Uruguay's view on Rincon de Artigas

                              • VNM: Vietnam's view on the Paracel Islands and Spratly Islands

                              " } }, "IntendedUse": { "target": "com.amazonaws.geoplaces#AutocompleteIntendedUse", "traits": { - "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left\n empty.

                              " + "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -720,7 +732,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -740,12 +752,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The PlaceId of the place associated with this result. This can be used to look up additional details about the result via GetPlace.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -758,7 +770,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              A formatted string for display when presenting this result to an end user.

                              ", "smithy.api#length": { @@ -836,7 +848,7 @@ "type": "structure", "members": { "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The business chain name.

                              ", "smithy.api#length": { @@ -846,7 +858,7 @@ } }, "Id": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The Business Chain Id.

                              ", "smithy.api#length": { @@ -876,7 +888,7 @@ "type": "structure", "members": { "Id": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The category ID.

                              ", "smithy.api#length": { @@ -887,7 +899,7 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The category name.

                              ", "smithy.api#length": { @@ -898,7 +910,7 @@ } }, "LocalizedName": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Localized name of the category type.

                              ", "smithy.api#length": { @@ -908,7 +920,7 @@ } }, "Primary": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean which indicates if this category is the primary offered by the place.

                              " } @@ -937,7 +949,7 @@ "target": "com.amazonaws.geoplaces#MatchScore", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

                              Indicates the starting and ending index of the title in the text query that match the found title.

                              " + "smithy.api#documentation": "

                              Indicates the match score of the title in the text query that match the found title.

                              " } }, "Address": { @@ -948,14 +960,14 @@ } }, "traits": { - "smithy.api#documentation": "

                              Indicates how well the input matches the returned element.\n It is equal to 1 if all input tokens are recognized and matched to the title in the result.

                              " + "smithy.api#documentation": "

                              Indicates how well the returned title and address components matches the input TextQuery. For each component a score is provied with 1 indicating all tokens were matched and 0 indicating no tokens were matched.

                              " } }, "com.amazonaws.geoplaces#ContactDetails": { "type": "structure", "members": { "Label": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The contact's label.

                              ", "smithy.api#length": { @@ -965,7 +977,7 @@ } }, "Value": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The contact's value.

                              ", "smithy.api#length": { @@ -1045,7 +1057,7 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Name of the country.

                              ", "smithy.api#length": { @@ -1066,7 +1078,8 @@ "min": 2, "max": 3 }, - "smithy.api#pattern": "^([A-Z]{2}|[A-Z]{3})$" + "smithy.api#pattern": "^([A-Z]{2}|[A-Z]{3})$", + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#CountryCode2": { @@ -1076,7 +1089,8 @@ "min": 2, "max": 2 }, - "smithy.api#pattern": "^[A-Z]{2}$" + "smithy.api#pattern": "^[A-Z]{2}$", + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#CountryCode3": { @@ -1086,7 +1100,8 @@ "min": 3, "max": 3 }, - "smithy.api#pattern": "^[A-Z]{3}$" + "smithy.api#pattern": "^[A-Z]{3}$", + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#CountryCodeList": { @@ -1129,7 +1144,8 @@ "smithy.api#range": { "min": 0, "max": 4294967295 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#DurationSeconds": { @@ -1139,13 +1155,14 @@ "smithy.api#range": { "min": 0, "max": 4294967295 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#FilterBusinessChainList": { "type": "list", "member": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#length": { "min": 1, @@ -1163,7 +1180,7 @@ "com.amazonaws.geoplaces#FilterCategoryList": { "type": "list", "member": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#length": { "min": 1, @@ -1209,7 +1226,7 @@ "com.amazonaws.geoplaces#FilterFoodTypeList": { "type": "list", "member": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#length": { "min": 1, @@ -1228,7 +1245,7 @@ "type": "structure", "members": { "LocalizedName": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Localized name of the food type.

                              ", "smithy.api#length": { @@ -1239,7 +1256,7 @@ } }, "Id": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The Food Type Id.

                              ", "smithy.api#length": { @@ -1249,9 +1266,9 @@ } }, "Primary": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

                              Boolean which indicates if this food type is the primary offered by the place. For\n example, if a location serves fast food, but also dessert, he primary would likely be fast\n food.

                              " + "smithy.api#documentation": "

                              Boolean which indicates if this food type is the primary offered by the place. For example, if a location serves fast food, but also dessert, he primary would likely be fast food.

                              " } } }, @@ -1295,7 +1312,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              The Geocode action allows you to obtain coordinates, addresses, and other\n information about places.

                              ", + "smithy.api#documentation": "

                              Geocode converts a textual address or place into geographic coordinates. You can obtain geographic coordinates, address component, and other related information. It supports flexible queries, including free-form text or structured queries with components like street names, postal codes, and regions. The Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                              ", "smithy.api#http": { "uri": "/geocode", "method": "POST" @@ -1329,6 +1346,14 @@ { "name": "ACCESS", "value": "Access" + }, + { + "name": "SECONDARY_ADDRESSES", + "value": "SecondaryAddresses" + }, + { + "name": "INTERSECTIONS", + "value": "Intersections" } ] } @@ -1363,7 +1388,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Geocode structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              Geocode structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "com.amazonaws.geoplaces#GeocodeFilterPlaceType": { @@ -1394,7 +1419,8 @@ "name": "INTERPOLATED_ADDRESS", "value": "InterpolatedAddress" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#GeocodeFilterPlaceTypeList": { @@ -1427,6 +1453,112 @@ ] } }, + "com.amazonaws.geoplaces#GeocodeParsedQuery": { + "type": "structure", + "members": { + "Title": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              " + } + }, + "Address": { + "target": "com.amazonaws.geoplaces#GeocodeParsedQueryAddressComponents", + "traits": { + "smithy.api#documentation": "

                              The place address.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Parsed components in the provided QueryText.

                              " + } + }, + "com.amazonaws.geoplaces#GeocodeParsedQueryAddressComponents": { + "type": "structure", + "members": { + "Country": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The alpha-2 or alpha-3 character code for the country that the results will be present in.

                              " + } + }, + "Region": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The region or state results should be present in.

                              Example: North Rhine-Westphalia.

                              " + } + }, + "SubRegion": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The sub-region or county for which results should be present in.

                              " + } + }, + "Locality": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The city or locality of the address.

                              Example: Vancouver.

                              " + } + }, + "District": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The district or division of a city the results should be present in.

                              " + } + }, + "SubDistrict": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              A subdivision of a district.

                              Example: Minden-Lübbecke.

                              " + } + }, + "PostalCode": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should possess.

                              " + } + }, + "Block": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              Name of the block.

                              Example: Sunny Mansion 203 block: 2 Chome

                              " + } + }, + "SubBlock": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              Name of sub-block.

                              Example: Sunny Mansion 203 sub-block: 4

                              " + } + }, + "Street": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The name of the street results should be present in.

                              " + } + }, + "AddressNumber": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The number that identifies an address within a street.

                              " + } + }, + "Building": { + "target": "com.amazonaws.geoplaces#ParsedQueryComponentList", + "traits": { + "smithy.api#documentation": "

                              The name of the building at the address.

                              " + } + }, + "SecondaryAddressComponents": { + "target": "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponentList", + "traits": { + "smithy.api#documentation": "

                              Parsed secondary address components from the provided query text.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Parsed address components in the provided QueryText.

                              " + } + }, "com.amazonaws.geoplaces#GeocodeQueryComponents": { "type": "structure", "members": { @@ -1444,7 +1576,7 @@ "Region": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              \n

                              Example: North Rhine-Westphalia.

                              ", + "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              Example: North Rhine-Westphalia.

                              ", "smithy.api#length": { "min": 1, "max": 100 @@ -1466,7 +1598,7 @@ "Locality": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              City or locality results should be present in.

                              \n

                              Example: Vancouver.

                              ", + "smithy.api#documentation": "

                              The city or locality results should be present in.

                              Example: Vancouver.

                              ", "smithy.api#length": { "min": 1, "max": 100 @@ -1510,7 +1642,7 @@ "PostalCode": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                              ", + "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                              ", "smithy.api#length": { "min": 1, "max": 100 @@ -1529,7 +1661,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              ", + "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#length": { "min": 1, "max": 200 @@ -1553,19 +1685,19 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                              The position, in longitude and latitude, that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                              \n \n

                              The fields BiasPosition, FilterBoundingBox, and\n FilterCircle are mutually exclusive.

                              \n
                              " + "smithy.api#documentation": "

                              The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                              The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                              " } }, "Filter": { "target": "com.amazonaws.geoplaces#GeocodeFilter", "traits": { - "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#GeocodeAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                              " + "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for each result.

                              " } }, "Language": { @@ -1577,19 +1709,19 @@ "PoliticalView": { "target": "com.amazonaws.geoplaces#CountryCode", "traits": { - "smithy.api#documentation": "

                              The alpha-2 or alpha-3 character code for the political view of a country. \n The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              " + "smithy.api#documentation": "

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              " } }, "IntendedUse": { "target": "com.amazonaws.geoplaces#GeocodeIntendedUse", "traits": { - "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left\n empty.

                              " + "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an Geocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -1604,7 +1736,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -1624,12 +1756,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", + "smithy.api#documentation": "

                              The PlaceId of the place result.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -1642,7 +1774,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              ", "smithy.api#length": { @@ -1659,7 +1791,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean indicating if the address provided has been corrected.

                              " } @@ -1686,7 +1818,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Categories": { @@ -1704,7 +1836,7 @@ "AccessPoints": { "target": "com.amazonaws.geoplaces#AccessPointList", "traits": { - "smithy.api#documentation": "

                              Position of the access point represent by longitude and latitude.

                              " + "smithy.api#documentation": "

                              Position of the access point represented by longitude and latitude.

                              " } }, "TimeZone": { @@ -1722,7 +1854,31 @@ "MatchScores": { "target": "com.amazonaws.geoplaces#MatchScoreDetails", "traits": { - "smithy.api#documentation": "

                              Indicates how well the entire input matches the returned. It is equal to 1 if all input\n tokens are recognized and matched.

                              " + "smithy.api#documentation": "

                              Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                              " + } + }, + "ParsedQuery": { + "target": "com.amazonaws.geoplaces#GeocodeParsedQuery", + "traits": { + "smithy.api#documentation": "

                              Free-form text query.

                              " + } + }, + "Intersections": { + "target": "com.amazonaws.geoplaces#IntersectionList", + "traits": { + "smithy.api#documentation": "

                              All Intersections that are near the provided address.

                              " + } + }, + "MainAddress": { + "target": "com.amazonaws.geoplaces#RelatedPlace", + "traits": { + "smithy.api#documentation": "

                              The main address corresponding to a place of type Secondary Address.

                              " + } + }, + "SecondaryAddresses": { + "target": "com.amazonaws.geoplaces#RelatedPlaceList", + "traits": { + "smithy.api#documentation": "

                              All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                              " } } }, @@ -1766,7 +1922,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              Finds a place by its unique ID. A PlaceId is returned by other place\n operations.

                              ", + "smithy.api#documentation": "

                              GetPlace finds a place by its unique ID. A PlaceId is returned by other place operations.

                              ", "smithy.api#http": { "uri": "/place/{PlaceId}", "method": "GET" @@ -1793,6 +1949,10 @@ { "name": "CONTACT", "value": "Contact" + }, + { + "name": "SECONDARY_ADDRESSES", + "value": "SecondaryAddresses" } ] } @@ -1836,8 +1996,7 @@ "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", "smithy.api#httpLabel": {}, "smithy.api#length": { - "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -1845,7 +2004,7 @@ "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#GetPlaceAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters such as time zone that can be requested for\n each result.

                              ", + "smithy.api#documentation": "

                              A list of optional additional parameters such as time zone that can be requested for each result.

                              ", "smithy.api#httpQuery": "additional-features" } }, @@ -1866,14 +2025,14 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#GetPlaceIntendedUse", "traits": { - "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              ", + "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an GetPlace query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              ", "smithy.api#httpQuery": "intended-use" } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -1886,12 +2045,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -1904,9 +2063,9 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              ", + "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -1917,7 +2076,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -1929,7 +2088,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean indicating if the address provided has been corrected.

                              " } @@ -1949,7 +2108,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set of four coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Categories": { @@ -2009,7 +2168,19 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various\n languages.

                              " + "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various languages.

                              " + } + }, + "MainAddress": { + "target": "com.amazonaws.geoplaces#RelatedPlace", + "traits": { + "smithy.api#documentation": "

                              The main address corresponding to a place of type Secondary Address.

                              " + } + }, + "SecondaryAddresses": { + "target": "com.amazonaws.geoplaces#RelatedPlaceList", + "traits": { + "smithy.api#documentation": "

                              All secondary addresses that are associated with a main address. A secondary address is one that includes secondary designators, such as a Suite or Unit Number, Building, or Floor information.

                              " } } }, @@ -2039,7 +2210,7 @@ } }, "Value": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The highlight's value.

                              ", "smithy.api#length": { @@ -2050,7 +2221,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Describes how parts of the result response match the input query.

                              " + "smithy.api#documentation": "

                              Indicates the starting and ending index of the text query that match the found title.

                              " } }, "com.amazonaws.geoplaces#HighlightList": { @@ -2083,6 +2254,71 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.geoplaces#Intersection": { + "type": "structure", + "members": { + "PlaceId": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              The PlaceId of the place result.

                              ", + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              ", + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.geoplaces#Address" + }, + "Position": { + "target": "com.amazonaws.geoplaces#Position", + "traits": { + "smithy.api#documentation": "

                              The position, in longitude and latitude.

                              " + } + }, + "Distance": { + "target": "com.amazonaws.geoplaces#DistanceMeters", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

                              The distance in meters from the QueryPosition.

                              " + } + }, + "RouteDistance": { + "target": "com.amazonaws.geoplaces#DistanceMeters", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

                              The distance from the routing position of the nearby address to the street result.

                              " + } + }, + "MapView": { + "target": "com.amazonaws.geoplaces#BoundingBox", + "traits": { + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " + } + }, + "AccessPoints": { + "target": "com.amazonaws.geoplaces#AccessPointList", + "traits": { + "smithy.api#documentation": "

                              Position of the access point represented by longitude and latitude.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              All Intersections that are near the provided address.

                              " + } + }, "com.amazonaws.geoplaces#IntersectionHighlightsList": { "type": "list", "member": { @@ -2098,12 +2334,11 @@ "com.amazonaws.geoplaces#IntersectionList": { "type": "list", "member": { - "target": "com.amazonaws.geoplaces#IntersectionStreet" + "target": "com.amazonaws.geoplaces#Intersection" }, "traits": { "smithy.api#length": { - "min": 1, - "max": 100 + "min": 1 } } }, @@ -2116,6 +2351,18 @@ } } }, + "com.amazonaws.geoplaces#IntersectionStreetList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#IntersectionStreet" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.geoplaces#LanguageTag": { "type": "string", "traits": { @@ -2148,7 +2395,7 @@ "Components": { "target": "com.amazonaws.geoplaces#ComponentMatchScores", "traits": { - "smithy.api#documentation": "

                              Indicates how well the component input matches the returned. It is equal to 1 if all\n input tokens are recognized and matched.

                              " + "smithy.api#documentation": "

                              Indicates how well the component input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

                              " } } }, @@ -2168,11 +2415,11 @@ "Display": { "target": "com.amazonaws.geoplaces#OpeningHoursDisplayList", "traits": { - "smithy.api#documentation": "

                              List of opening hours in the format they are displayed in. This can vary by result and\n in most cases represents how the result uniquely formats their opening hours.

                              " + "smithy.api#documentation": "

                              List of opening hours in the format they are displayed in. This can vary by result and in most cases represents how the result uniquely formats their opening hours.

                              " } }, "OpenNow": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean which indicates if the result/place is currently open.

                              " } @@ -2198,7 +2445,7 @@ "type": "structure", "members": { "OpenTime": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              String which represents the opening hours, such as \"T070000\".

                              ", "smithy.api#length": { @@ -2208,9 +2455,9 @@ } }, "OpenDuration": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              String which represents the duration of the opening period, such as\n \"PT12H00M\".

                              ", + "smithy.api#documentation": "

                              String which represents the duration of the opening period, such as \"PT12H00M\".

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -2218,34 +2465,117 @@ } }, "Recurrence": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              Days or periods when the provided opening hours are in affect.

                              Example: FREQ:DAILY;BYDAY:MO,TU,WE,TH,SU

                              ", + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Components of the opening hours object.

                              " + } + }, + "com.amazonaws.geoplaces#OpeningHoursComponentsList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#OpeningHoursComponents" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.geoplaces#OpeningHoursDisplay": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.geoplaces#OpeningHoursDisplayList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#OpeningHoursDisplay" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.geoplaces#OpeningHoursList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#OpeningHours" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.geoplaces#ParsedQueryComponent": { + "type": "structure", + "members": { + "StartIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Start index of the parsed query component.

                              ", + "smithy.api#range": { + "min": 0 + } + } + }, + "EndIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              End index of the parsed query component.

                              ", + "smithy.api#range": { + "min": 0 + } + } + }, + "Value": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              Value of the parsed query component.

                              ", + "smithy.api#length": { + "min": 0, + "max": 200 + } + } + }, + "QueryComponent": { + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Days or periods when the provided opening hours are in affect.

                              \n

                              Example: FREQ:DAILY;BYDAY:MO,TU,WE,TH,SU\n

                              ", + "smithy.api#documentation": "

                              The address component that the parsed query component corresponds to.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 11 } } } }, "traits": { - "smithy.api#documentation": "

                              Components of the opening hours object.

                              " + "smithy.api#documentation": "

                              Parsed components in the provided QueryText.

                              " } }, - "com.amazonaws.geoplaces#OpeningHoursComponentsList": { + "com.amazonaws.geoplaces#ParsedQueryComponentList": { "type": "list", "member": { - "target": "com.amazonaws.geoplaces#OpeningHoursComponents" + "target": "com.amazonaws.geoplaces#ParsedQueryComponent" }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.geoplaces#OpeningHoursDisplay": { - "type": "string", "traits": { "smithy.api#length": { "min": 0, @@ -2253,27 +2583,76 @@ } } }, - "com.amazonaws.geoplaces#OpeningHoursDisplayList": { - "type": "list", - "member": { - "target": "com.amazonaws.geoplaces#OpeningHoursDisplay" + "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponent": { + "type": "structure", + "members": { + "StartIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Start index of the parsed secondary address component in the query text.

                              ", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#required": {} + } + }, + "EndIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              End index of the parsed secondary address component in the query text.

                              ", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              Value of the parsed secondary address component.

                              ", + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#required": {} + } + }, + "Number": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              Secondary address number provided in the query.

                              ", + "smithy.api#length": { + "min": 0, + "max": 10 + }, + "smithy.api#required": {} + } + }, + "Designator": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              Secondary address designator provided in the query.

                              ", + "smithy.api#length": { + "min": 0, + "max": 4 + }, + "smithy.api#required": {} + } + } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } + "smithy.api#documentation": "

                              Information about a secondary address component parsed from the query text.

                              " } }, - "com.amazonaws.geoplaces#OpeningHoursList": { + "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponentList": { "type": "list", "member": { - "target": "com.amazonaws.geoplaces#OpeningHours" + "target": "com.amazonaws.geoplaces#ParsedQuerySecondaryAddressComponent" }, "traits": { "smithy.api#length": { - "min": 1, - "max": 100 + "min": 0, + "max": 200 } } }, @@ -2283,7 +2662,7 @@ "Title": { "target": "com.amazonaws.geoplaces#PhonemeTranscriptionList", "traits": { - "smithy.api#documentation": "

                              List of PhonemeTranscription. See PhonemeTranscription for\n fields.

                              " + "smithy.api#documentation": "

                              List of PhonemeTranscription. See PhonemeTranscription for fields.

                              " } }, "Address": { @@ -2301,7 +2680,7 @@ "type": "structure", "members": { "Value": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Value which indicates how to pronounce the value.

                              ", "smithy.api#length": { @@ -2317,7 +2696,7 @@ } }, "Preferred": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean which indicates if it the preferred pronunciation.

                              " } @@ -2398,8 +2777,13 @@ { "name": "INTERPOLATED_ADDRESS", "value": "InterpolatedAddress" + }, + { + "name": "SECONDARY_ADDRESS", + "value": "SecondaryAddress" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#PlacesService": { @@ -2443,20 +2827,20 @@ ], "aws-us-gov": [ { - "endpoint": "https://places.geo.{region}.us-gov.{dnsSuffix}/v2" + "endpoint": "https://places.geo.{region}.{dnsSuffix}/v2" }, { - "endpoint": "https://places.geo-fips.{region}.us-gov.{dualStackDnsSuffix}/v2", + "endpoint": "https://places.geo-fips.{region}.{dualStackDnsSuffix}/v2", "fips": true, "dualStack": true }, { - "endpoint": "https://places.geo-fips.{region}.us-gov.{dnsSuffix}/v2", + "endpoint": "https://places.geo-fips.{region}.{dnsSuffix}/v2", "fips": true, "dualStack": false }, { - "endpoint": "https://places.geo.{region}.us-gov.{dualStackDnsSuffix}/v2", + "endpoint": "https://places.geo.{region}.{dualStackDnsSuffix}/v2", "fips": false, "dualStack": true } @@ -2471,7 +2855,7 @@ "content-type" ] }, - "smithy.api#documentation": "

                              \n The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:\n

                              \n
                                \n
                              • \n

                                Forward and reverse geocoding for addresses and coordinates

                                \n
                              • \n
                              • \n

                                Comprehensive place searches with detailed information, including:

                                \n
                                  \n
                                • \n

                                  Business names and addresses

                                  \n
                                • \n
                                • \n

                                  Contact information

                                  \n
                                • \n
                                • \n

                                  Hours of operation

                                  \n
                                • \n
                                • \n

                                  POI (Points of Interest) categories

                                  \n
                                • \n
                                • \n

                                  Food types for restaurants

                                  \n
                                • \n
                                • \n

                                  Chain affiliation for relevant businesses

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Global data coverage with a wide range of POI categories

                                \n
                              • \n
                              • \n

                                Regular data updates to ensure accuracy and relevance

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:

                              • Forward and reverse geocoding for addresses and coordinates

                              • Comprehensive place searches with detailed information, including:

                                • Business names and addresses

                                • Contact information

                                • Hours of operation

                                • POI (Points of Interest) categories

                                • Food types for restaurants

                                • Chain affiliation for relevant businesses

                              • Global data coverage with a wide range of POI categories

                              • Regular data updates to ensure accuracy and relevance

                              ", "smithy.api#title": "Amazon Location Service Places V2", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -2803,7 +3187,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -2846,7 +3230,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -2889,7 +3273,7 @@ } ], "endpoint": { - "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "url": "https://places.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -2932,7 +3316,7 @@ } ], "endpoint": { - "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "url": "https://places.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", "properties": {}, "headers": {} }, @@ -3304,7 +3688,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo-fips.us-gov-west-1.api.aws/v2" } }, "params": { @@ -3317,7 +3701,7 @@ "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo-fips.us-gov-west-1.amazonaws.com/v2" } }, "params": { @@ -3330,7 +3714,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.api.aws/v2" + "url": "https://places.geo.us-gov-west-1.api.aws/v2" } }, "params": { @@ -3343,7 +3727,7 @@ "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + "url": "https://places.geo.us-gov-west-1.amazonaws.com/v2" } }, "params": { @@ -3579,16 +3963,17 @@ "name": "USPS", "value": "Usps" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#PostalCodeDetails": { "type": "structure", "members": { "PostalCode": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

                              ", + "smithy.api#documentation": "

                              An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should possess.

                              ", "smithy.api#length": { "min": 0, "max": 50 @@ -3663,7 +4048,8 @@ "name": "USPS_ZIP_PLUS_4", "value": "UspsZipPlus4" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#ProviderResource": { @@ -3696,7 +4082,7 @@ "type": "structure", "members": { "RefinedTerm": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The term that will be suggested to the user.

                              ", "smithy.api#length": { @@ -3707,7 +4093,7 @@ } }, "OriginalTerm": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The sub-string of the original query that is replaced by this query term.

                              ", "smithy.api#length": { @@ -3739,7 +4125,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Suggestions for refining individual query terms. Suggestions are returned as objects\n which note the term, suggested replacement, and its index in the query.

                              " + "smithy.api#documentation": "

                              Suggestions for refining individual query terms. Suggestions are returned as objects which note the term, suggested replacement, and its index in the query.

                              " } }, "com.amazonaws.geoplaces#QueryRefinementList": { @@ -3797,16 +4183,17 @@ "name": "STREET", "value": "Street" } - ] + ], + "smithy.api#sensitive": {} } }, "com.amazonaws.geoplaces#Region": { "type": "structure", "members": { "Code": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Abbreviated code for a the state, province or region of the country.

                              \n

                              Example: BC.

                              ", + "smithy.api#documentation": "

                              Abbreviated code for a the state, province or region of the country.

                              Example: BC.

                              ", "smithy.api#length": { "min": 0, "max": 3 @@ -3814,9 +4201,9 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Name for a the state, province, or region of the country.

                              \n

                              Example: British Columbia.

                              ", + "smithy.api#documentation": "

                              Name for a the state, province, or region of the country.

                              Example: British Columbia.

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -3825,7 +4212,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              \n

                              Example: North Rhine-Westphalia.

                              " + "smithy.api#documentation": "

                              The region or state results should be to be present in.

                              Example: North Rhine-Westphalia.

                              " } }, "com.amazonaws.geoplaces#RegionHighlights": { @@ -3848,6 +4235,69 @@ "smithy.api#documentation": "

                              Indicates the starting and ending index of the region in the text query that match the found title.

                              " } }, + "com.amazonaws.geoplaces#RelatedPlace": { + "type": "structure", + "members": { + "PlaceId": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              The PlaceId of the place result.

                              ", + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#required": {} + } + }, + "PlaceType": { + "target": "com.amazonaws.geoplaces#PlaceType", + "traits": { + "smithy.api#documentation": "

                              A PlaceType is a category that the result place must belong to.

                              ", + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              ", + "smithy.api#length": { + "min": 0, + "max": 200 + }, + "smithy.api#required": {} + } + }, + "Address": { + "target": "com.amazonaws.geoplaces#Address" + }, + "Position": { + "target": "com.amazonaws.geoplaces#Position", + "traits": { + "smithy.api#documentation": "

                              The position, in longitude and latitude.

                              " + } + }, + "AccessPoints": { + "target": "com.amazonaws.geoplaces#AccessPointList", + "traits": { + "smithy.api#documentation": "

                              Position of the access point represented by longitude and latitude.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Place that is related to the result item.

                              " + } + }, + "com.amazonaws.geoplaces#RelatedPlaceList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#RelatedPlace" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.geoplaces#ReverseGeocode": { "type": "operation", "input": { @@ -3872,7 +4322,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              The ReverseGeocode operation allows you to retrieve addresses and place\n information from coordinates.

                              ", + "smithy.api#documentation": "

                              ReverseGeocode converts geographic coordinates into a human-readable address or place. You can obtain address component, and other related information such as place type, category, street information. The Reverse Geocode API supports filtering to on place type so that you can refine result based on your need. Also, The Reverse Geocode API can also provide additional features such as time zone information and the inclusion of political views.

                              ", "smithy.api#http": { "uri": "/reverse-geocode", "method": "POST" @@ -3909,6 +4359,10 @@ { "name": "ACCESS", "value": "Access" + }, + { + "name": "INTERSECTIONS", + "value": "Intersections" } ] } @@ -4003,7 +4457,7 @@ "QueryPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                              The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                              ", + "smithy.api#documentation": "

                              The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                              ", "smithy.api#required": {} } }, @@ -4032,13 +4486,13 @@ "Filter": { "target": "com.amazonaws.geoplaces#ReverseGeocodeFilter", "traits": { - "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#ReverseGeocodeAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone that can be requested for\n each result.

                              " + "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone that can be requested for each result.

                              " } }, "Language": { @@ -4056,13 +4510,13 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#ReverseGeocodeIntendedUse", "traits": { - "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an ReverseGeocode query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -4077,7 +4531,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -4097,12 +4551,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -4115,7 +4569,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The localized display name of this result item based on request parameter language.

                              ", "smithy.api#length": { @@ -4132,7 +4586,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean indicating if the address provided has been corrected.

                              " } @@ -4159,7 +4613,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Categories": { @@ -4177,7 +4631,7 @@ "AccessPoints": { "target": "com.amazonaws.geoplaces#AccessPointList", "traits": { - "smithy.api#documentation": "

                              Position of the access point represent by longitude and latitude.

                              " + "smithy.api#documentation": "

                              Position of the access point represented by longitude and latitude.

                              " } }, "TimeZone": { @@ -4191,6 +4645,12 @@ "traits": { "smithy.api#documentation": "

                              The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

                              " } + }, + "Intersections": { + "target": "com.amazonaws.geoplaces#IntersectionList", + "traits": { + "smithy.api#documentation": "

                              All Intersections that are near the provided address.

                              " + } } }, "traits": { @@ -4233,7 +4693,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              Search nearby a specified location.

                              ", + "smithy.api#documentation": "

                              SearchNearby queries for points of interest within a radius from a central coordinates, returning place results with optional filters such as categories, business chains, food types and more. The API returns details such as a place name, address, phone, category, food type, contact, opening hours. Also, the API can return phonemes, time zones and more based on requested parameters.

                              ", "smithy.api#http": { "uri": "/search-nearby", "method": "POST" @@ -4301,7 +4761,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "IncludeCountries": { @@ -4348,7 +4808,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              SearchNearby structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              SearchNearby structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "com.amazonaws.geoplaces#SearchNearbyIntendedUse": { @@ -4374,7 +4834,7 @@ "QueryPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                              The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

                              ", + "smithy.api#documentation": "

                              The position, in [lng, lat] for which you are querying nearby results for. Results closer to the position will be ranked higher then results further away from the position

                              ", "smithy.api#required": {} } }, @@ -4382,7 +4842,7 @@ "target": "com.amazonaws.geoplaces#DistanceMeters", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

                              The maximum distance in meters from the QueryPosition from which a result will be returned.

                              ", + "smithy.api#documentation": "

                              The maximum distance in meters from the QueryPosition from which a result will be returned.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#range": { "min": 1, "max": 21000000 @@ -4403,13 +4863,13 @@ "Filter": { "target": "com.amazonaws.geoplaces#SearchNearbyFilter", "traits": { - "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#SearchNearbyAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                              " + "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for each result.

                              " } }, "Language": { @@ -4427,19 +4887,19 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#SearchNearbyIntendedUse", "traits": { - "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an SearchNearby query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " } }, "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                              " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -4454,7 +4914,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -4468,7 +4928,7 @@ "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                              " } } }, @@ -4480,12 +4940,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -4498,7 +4958,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The item's title.

                              ", "smithy.api#length": { @@ -4515,7 +4975,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean indicating if the address provided has been corrected.

                              " } @@ -4536,7 +4996,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Categories": { @@ -4596,7 +5056,7 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various\n languages.

                              " + "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various languages.

                              " } } }, @@ -4640,7 +5100,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              Use the SearchText operation to search for geocode and place information.\n You can then complete a follow-up query suggested from the Suggest API via a\n query id.

                              ", + "smithy.api#documentation": "

                              SearchText searches for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

                              ", "smithy.api#http": { "uri": "/search-text", "method": "POST" @@ -4709,7 +5169,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Circle": { @@ -4723,7 +5183,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              SearchText structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              SearchText structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "com.amazonaws.geoplaces#SearchTextIntendedUse": { @@ -4749,7 +5209,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              ", + "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#length": { "min": 1, "max": 200 @@ -4759,10 +5219,10 @@ "QueryId": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The query Id.

                              ", + "smithy.api#documentation": "

                              The query Id returned by the suggest API. If passed in the request, the SearchText API will preform a SearchText query with the improved query terms for the original query made to the suggest API.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#length": { "min": 1, - "max": 400 + "max": 500 } } }, @@ -4780,19 +5240,19 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                              The position, in longitude and latitude, that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                              \n \n

                              The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                              \n
                              " + "smithy.api#documentation": "

                              The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                              The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                              " } }, "Filter": { "target": "com.amazonaws.geoplaces#SearchTextFilter", "traits": { - "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#SearchTextAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                              " + "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for each result.

                              " } }, "Language": { @@ -4810,19 +5270,19 @@ "IntendedUse": { "target": "com.amazonaws.geoplaces#SearchTextIntendedUse", "traits": { - "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              " + "smithy.api#documentation": "

                              Indicates if the results will be stored. Defaults to SingleUse, if left empty.

                              Storing the response of an SearchText query is required to comply with service terms, but charged at a higher cost per request. Please review the user agreement and service pricing structure to determine the correct setting for your use case.

                              " } }, "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                              " } }, "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -4837,7 +5297,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -4851,7 +5311,7 @@ "NextToken": { "target": "com.amazonaws.geoplaces#Token", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, \n there are more results available. The value of nextToken is a unique pagination token for each page.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

                              " } } }, @@ -4863,12 +5323,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", "smithy.api#length": { "min": 0, - "max": 200 + "max": 500 }, "smithy.api#required": {} } @@ -4881,7 +5341,7 @@ } }, "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The item's title.

                              ", "smithy.api#length": { @@ -4898,7 +5358,7 @@ } }, "AddressNumberCorrected": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.geoplaces#SensitiveBoolean", "traits": { "smithy.api#documentation": "

                              Boolean indicating if the address provided has been corrected.

                              " } @@ -4919,7 +5379,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Categories": { @@ -4979,7 +5439,7 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various\n languages.

                              " + "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various languages.

                              " } } }, @@ -4999,6 +5459,64 @@ } } }, + "com.amazonaws.geoplaces#SecondaryAddressComponent": { + "type": "structure", + "members": { + "Number": { + "target": "com.amazonaws.geoplaces#SensitiveString", + "traits": { + "smithy.api#documentation": "

                              Number that uniquely identifies a secondary address.

                              ", + "smithy.api#length": { + "min": 0, + "max": 10 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Components that correspond to secondary identifiers on an address. The only component type supported currently is Unit.

                              " + } + }, + "com.amazonaws.geoplaces#SecondaryAddressComponentList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponent" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, + "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScore": { + "type": "structure", + "members": { + "Number": { + "target": "com.amazonaws.geoplaces#MatchScore", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

                              Match score for the secondary address number.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Match score for a secondary address component in the result.

                              " + } + }, + "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScoreList": { + "type": "list", + "member": { + "target": "com.amazonaws.geoplaces#SecondaryAddressComponentMatchScore" + } + }, + "com.amazonaws.geoplaces#SensitiveBoolean": { + "type": "boolean", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.geoplaces#SensitiveString": { "type": "string", "traits": { @@ -5009,9 +5527,9 @@ "type": "structure", "members": { "BaseName": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Base name part of the street name.

                              \n

                              Example: Younge from the “Younge street\".

                              ", + "smithy.api#documentation": "

                              Base name part of the street name.

                              Example: Younge from the \"Younge street\".

                              ", "smithy.api#length": { "min": 0, "max": 200 @@ -5019,9 +5537,9 @@ } }, "Type": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              Street type part of the street name.

                              \n

                              Example: “avenue\".

                              ", + "smithy.api#documentation": "

                              Street type part of the street name.

                              Example: \"avenue\".

                              ", "smithy.api#length": { "min": 0, "max": 50 @@ -5037,13 +5555,13 @@ "TypeSeparator": { "target": "com.amazonaws.geoplaces#TypeSeparator", "traits": { - "smithy.api#documentation": "

                              What character(s) separates the string from its type.

                              " + "smithy.api#documentation": "

                              Defines a separator character such as \"\" or \" \" between the base name and type.

                              " } }, "Prefix": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              A prefix is a directional identifier that precedes, but is not included in, the base\n name of a road.

                              \n

                              Example: E for East.

                              ", + "smithy.api#documentation": "

                              A prefix is a directional identifier that precedes, but is not included in, the base name of a road.

                              Example: E for East.

                              ", "smithy.api#length": { "min": 0, "max": 50 @@ -5051,9 +5569,9 @@ } }, "Suffix": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              A suffix is a directional identifier that follows, but is not included in, the base name\n of a road.

                              \n

                              Example W for West.

                              ", + "smithy.api#documentation": "

                              A suffix is a directional identifier that follows, but is not included in, the base name of a road.

                              Example W for West.

                              ", "smithy.api#length": { "min": 0, "max": 50 @@ -5061,7 +5579,7 @@ } }, "Direction": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Indicates the official directional identifiers assigned to highways.

                              ", "smithy.api#length": { @@ -5097,7 +5615,7 @@ "type": "structure", "members": { "Code": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Abbreviated code for the county or sub-region.

                              ", "smithy.api#length": { @@ -5107,7 +5625,7 @@ } }, "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Name for the county or sub-region.

                              ", "smithy.api#length": { @@ -5127,7 +5645,7 @@ "Code": { "target": "com.amazonaws.geoplaces#HighlightList", "traits": { - "smithy.api#documentation": "

                              Indicates the starting and ending index of the sub-region in the text query that match\n the found title.

                              " + "smithy.api#documentation": "

                              Indicates the starting and ending index of the sub-region in the text query that match the found title.

                              " } }, "Name": { @@ -5138,7 +5656,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Indicates the starting and ending index of the sub-region in the text query that match\n the found title.

                              " + "smithy.api#documentation": "

                              Indicates the starting and ending index of the sub-region in the text query that match the found title.

                              " } }, "com.amazonaws.geoplaces#Suggest": { @@ -5165,7 +5683,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

                              The Suggest operation finds addresses or place candidates based on\n incomplete or misspelled queries. You then select the best query to submit based on the\n returned results.

                              ", + "smithy.api#documentation": "

                              Suggest provides intelligent predictions or recommendations based on the user's input or context, such as relevant places, points of interest, query terms or search category. It is designed to help users find places or point of interests candidates or identify a follow on query based on incomplete or misspelled queries. It returns a list of possible matches or refinements that can be used to formulate a more accurate query. Users can select the most appropriate suggestion and use it for further searching. The API provides options for filtering results by location and other attributes, and allows for additional features like phonemes and timezones. The response includes refined query terms and detailed place information.

                              ", "smithy.api#http": { "uri": "/suggest", "method": "POST" @@ -5248,7 +5766,7 @@ "BoundingBox": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Circle": { @@ -5262,7 +5780,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              SuggestFilter structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              SuggestFilter structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "com.amazonaws.geoplaces#SuggestHighlights": { @@ -5301,12 +5819,12 @@ "type": "structure", "members": { "PlaceId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The PlaceId of the place you wish to receive the information for.

                              ", "smithy.api#length": { "min": 1, - "max": 200 + "max": 500 } } }, @@ -5338,7 +5856,7 @@ "MapView": { "target": "com.amazonaws.geoplaces#BoundingBox", "traits": { - "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              \n

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng},\n {southern lat}, {eastward lng}, {northern lat}]\n

                              " + "smithy.api#documentation": "

                              The bounding box enclosing the geometric shape (area or line) that an individual result covers.

                              The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

                              " } }, "Categories": { @@ -5386,7 +5904,7 @@ "Phonemes": { "target": "com.amazonaws.geoplaces#PhonemeDetails", "traits": { - "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various\n languages.

                              " + "smithy.api#documentation": "

                              How the various components of the result's address are pronounced in various languages.

                              " } } }, @@ -5398,19 +5916,19 @@ "type": "structure", "members": { "QueryId": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                              ", + "smithy.api#documentation": "

                              QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#length": { "min": 0, - "max": 400 + "max": 500 } } }, "QueryType": { "target": "com.amazonaws.geoplaces#QueryType", "traits": { - "smithy.api#documentation": "

                              The query type. Category qeuries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                              " + "smithy.api#documentation": "

                              The query type. Category queries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

                              " } } }, @@ -5424,7 +5942,7 @@ "QueryText": { "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { - "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              ", + "smithy.api#documentation": "

                              The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

                              The fields QueryText, and QueryID are mutually exclusive.

                              ", "smithy.api#length": { "min": 1, "max": 200 @@ -5457,19 +5975,19 @@ "BiasPosition": { "target": "com.amazonaws.geoplaces#Position", "traits": { - "smithy.api#documentation": "

                              The position, in longitude and latitude, that the results should be close to. Typically,\n place results returned are ranked higher the closer they are to this position. Stored in\n [lng, lat] and in the WSG84 format.

                              \n \n

                              The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                              \n
                              " + "smithy.api#documentation": "

                              The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

                              The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

                              " } }, "Filter": { "target": "com.amazonaws.geoplaces#SuggestFilter", "traits": { - "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

                              " + "smithy.api#documentation": "

                              A structure which contains a set of inclusion/exclusion properties that results must possess in order to be returned as a result.

                              " } }, "AdditionalFeatures": { "target": "com.amazonaws.geoplaces#SuggestAdditionalFeatureList", "traits": { - "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for\n each result.

                              " + "smithy.api#documentation": "

                              A list of optional additional parameters, such as time zone, that can be requested for each result.

                              " } }, "Language": { @@ -5493,7 +6011,7 @@ "Key": { "target": "com.amazonaws.geoplaces#ApiKey", "traits": { - "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.

                              ", + "smithy.api#documentation": "

                              Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

                              ", "smithy.api#httpQuery": "key" } } @@ -5508,7 +6026,7 @@ "PricingBucket": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              \n

                              For more inforamtion on pricing, please visit Amazon Location Service Pricing.

                              ", + "smithy.api#documentation": "

                              The pricing bucket for which the query is charged at.

                              For more information on pricing, please visit Amazon Location Service Pricing.

                              ", "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", "smithy.api#required": {} } @@ -5534,7 +6052,7 @@ "type": "structure", "members": { "Title": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The display title that should be used when presenting this option to the end user.

                              ", "smithy.api#length": { @@ -5620,7 +6138,7 @@ "type": "structure", "members": { "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              The time zone name.

                              ", "smithy.api#length": { @@ -5631,7 +6149,7 @@ } }, "Offset": { - "target": "smithy.api#String", + "target": "com.amazonaws.geoplaces#SensitiveString", "traits": { "smithy.api#documentation": "

                              Time zone offset of the timezone from UTC.

                              ", "smithy.api#length": { @@ -5833,7 +6351,8 @@ "name": "UNIQUE", "value": "Unique" } - ] + ], + "smithy.api#sensitive": {} } } } diff --git a/tools/code-generation/smithy/api-descriptions/glue.json b/tools/code-generation/smithy/api-descriptions/glue.json index fd36f6302b0..88dd269502a 100644 --- a/tools/code-generation/smithy/api-descriptions/glue.json +++ b/tools/code-generation/smithy/api-descriptions/glue.json @@ -7077,6 +7077,20 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" } }, + "com.amazonaws.glue#CompactionConfiguration": { + "type": "structure", + "members": { + "icebergConfiguration": { + "target": "com.amazonaws.glue#IcebergCompactionConfiguration", + "traits": { + "smithy.api#documentation": "

                              The configuration for an Iceberg compaction optimizer.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to improve \n query performance and reduce storage costs.

                              " + } + }, "com.amazonaws.glue#CompactionMetrics": { "type": "structure", "members": { @@ -7091,6 +7105,29 @@ "smithy.api#documentation": "

                              A structure that contains compaction metrics for the optimizer run.

                              " } }, + "com.amazonaws.glue#CompactionStrategy": { + "type": "enum", + "members": { + "BINPACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "binpack" + } + }, + "SORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sort" + } + }, + "ZORDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "z-order" + } + } + } + }, "com.amazonaws.glue#Comparator": { "type": "enum", "members": { @@ -9966,6 +10003,7 @@ } }, "traits": { + "smithy.api#documentation": "

                              A request to create a data quality ruleset.

                              ", "smithy.api#input": {} } }, @@ -13025,6 +13063,50 @@ "target": "com.amazonaws.glue#DataOperation" } }, + "com.amazonaws.glue#DataQualityAggregatedMetrics": { + "type": "structure", + "members": { + "TotalRowsProcessed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                              The total number of rows that were processed during the data quality evaluation.

                              " + } + }, + "TotalRowsPassed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                              The total number of rows that passed all applicable data quality rules.

                              " + } + }, + "TotalRowsFailed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                              The total number of rows that failed one or more data quality rules.

                              " + } + }, + "TotalRulesProcessed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                              The total number of data quality rules that were evaluated.

                              " + } + }, + "TotalRulesPassed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                              The total number of data quality rules that passed their evaluation criteria.

                              " + } + }, + "TotalRulesFailed": { + "target": "com.amazonaws.glue#NullableDouble", + "traits": { + "smithy.api#documentation": "

                              The total number of data quality rules that failed their evaluation criteria.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A summary of metrics showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                              " + } + }, "com.amazonaws.glue#DataQualityAnalyzerResult": { "type": "structure", "members": { @@ -13316,6 +13398,12 @@ "traits": { "smithy.api#documentation": "

                              A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                              " } + }, + "AggregatedMetrics": { + "target": "com.amazonaws.glue#DataQualityAggregatedMetrics", + "traits": { + "smithy.api#documentation": "

                              A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                              " + } } }, "traits": { @@ -13537,6 +13625,12 @@ "traits": { "smithy.api#documentation": "

                              The evaluated rule.

                              " } + }, + "RuleMetrics": { + "target": "com.amazonaws.glue#RuleMetricsMap", + "traits": { + "smithy.api#documentation": "

                              A map containing metrics associated with the evaluation of the rule based on row-level results.

                              " + } } }, "traits": { @@ -20429,9 +20523,16 @@ "traits": { "smithy.api#documentation": "

                              A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

                              " } + }, + "AggregatedMetrics": { + "target": "com.amazonaws.glue#DataQualityAggregatedMetrics", + "traits": { + "smithy.api#documentation": "

                              A summary of DataQualityAggregatedMetrics objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.

                              " + } } }, "traits": { + "smithy.api#documentation": "

                              The response for the data quality result.

                              ", "smithy.api#output": {} } }, @@ -20566,6 +20667,7 @@ } }, "traits": { + "smithy.api#documentation": "

                              The response for the Data Quality rule recommendation run.

                              ", "smithy.api#output": {} } }, @@ -20803,6 +20905,7 @@ } }, "traits": { + "smithy.api#documentation": "

                              Returns the data quality ruleset response.

                              ", "smithy.api#output": {} } }, @@ -25767,6 +25870,20 @@ "smithy.api#pattern": "^arn:aws(-(cn|us-gov|iso(-[bef])?))?:iam::[0-9]{12}:role/.+$" } }, + "com.amazonaws.glue#IcebergCompactionConfiguration": { + "type": "structure", + "members": { + "strategy": { + "target": "com.amazonaws.glue#CompactionStrategy", + "traits": { + "smithy.api#documentation": "

                              The strategy to use for compaction. Valid values are:

                              \n
                                \n
                              • \n

                                \n binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. \n This is the recommended compaction strategy for most use cases.\n

                                \n
                              • \n
                              • \n

                                \n sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query \n performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, \n you must first define a sort order in your Iceberg table properties using the sort_order table property.

                                \n
                              • \n
                              • \n

                                \n z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, \n allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions \n simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the \n sort_order table property.\n

                                \n
                              • \n
                              \n

                              If an input is not provided, the default value 'binpack' will be used.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The configuration for an Iceberg compaction optimizer. This configuration defines parameters for optimizing the layout of data files in Iceberg tables.

                              " + } + }, "com.amazonaws.glue#IcebergCompactionMetrics": { "type": "structure", "members": { @@ -35164,6 +35281,18 @@ "com.amazonaws.glue#RowTag": { "type": "string" }, + "com.amazonaws.glue#RuleMetricsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.glue#NameString" + }, + "value": { + "target": "com.amazonaws.glue#NullableDouble" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.glue#RulesetNames": { "type": "list", "member": { @@ -38689,6 +38818,7 @@ } }, "traits": { + "smithy.api#documentation": "

                              The request of the Data Quality rule recommendation request.

                              ", "smithy.api#input": {} } }, @@ -40736,6 +40866,12 @@ "smithy.api#documentation": "

                              A TableOptimizerVpcConfiguration object representing the VPC configuration for a table optimizer.

                              \n

                              This configuration is necessary to perform optimization on tables that are in a customer VPC.

                              " } }, + "compactionConfiguration": { + "target": "com.amazonaws.glue#CompactionConfiguration", + "traits": { + "smithy.api#documentation": "

                              The configuration for a compaction optimizer. This configuration defines how data files in your table will be compacted to \n improve query performance and reduce storage costs.

                              " + } + }, "retentionConfiguration": { "target": "com.amazonaws.glue#RetentionConfiguration", "traits": { @@ -40824,6 +40960,12 @@ "smithy.api#documentation": "

                              A CompactionMetrics object containing metrics for the optimizer run.

                              " } }, + "compactionStrategy": { + "target": "com.amazonaws.glue#CompactionStrategy", + "traits": { + "smithy.api#documentation": "

                              The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the \n compaction process. Valid values are:

                              \n
                                \n
                              • \n

                                \n binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. \n This is the recommended compaction strategy for most use cases.\n

                                \n
                              • \n
                              • \n

                                \n sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query \n performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, \n you must first define a sort order in your Iceberg table properties using the sort_order table property.

                                \n
                              • \n
                              • \n

                                \n z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, \n allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions \n simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the \n sort_order table property.\n

                                \n
                              • \n
                              " + } + }, "retentionMetrics": { "target": "com.amazonaws.glue#RetentionMetrics", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/guardduty.json b/tools/code-generation/smithy/api-descriptions/guardduty.json index a8be041d895..bcce1fb4c6c 100644 --- a/tools/code-generation/smithy/api-descriptions/guardduty.json +++ b/tools/code-generation/smithy/api-descriptions/guardduty.json @@ -323,7 +323,7 @@ "target": "com.amazonaws.guardduty#Email", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

                              The email address of the member account.

                              ", + "smithy.api#documentation": "

                              The email address of the member account.

                              \n

                              The rules for a valid email address:

                              \n
                                \n
                              • \n

                                The email address must be a minimum of 6 and a maximum of 64 characters long.

                                \n
                              • \n
                              • \n

                                All characters must be 7-bit ASCII characters.

                                \n
                              • \n
                              • \n

                                There must be one and only one @ symbol, which separates the local name from the domain name.

                                \n
                              • \n
                              • \n

                                The local name can't contain any of the following characters:

                                \n

                                whitespace, \" ' ( ) < > [ ] : ' , \\ | % &

                                \n
                              • \n
                              • \n

                                The local name can't begin with a dot (.).

                                \n
                              • \n
                              • \n

                                The domain name can consist of only the characters [a-z], [A-Z], [0-9], hyphen (-), or dot (.).

                                \n
                              • \n
                              • \n

                                The domain name can't begin or end with a dot (.) or hyphen (-).

                                \n
                              • \n
                              • \n

                                The domain name must contain at least one dot.

                                \n
                              • \n
                              ", "smithy.api#jsonName": "email", "smithy.api#required": {} } @@ -551,6 +551,13 @@ "smithy.api#documentation": "

                              Contains information about the user session where the activity initiated.

                              ", "smithy.api#jsonName": "session" } + }, + "Process": { + "target": "com.amazonaws.guardduty#ActorProcess", + "traits": { + "smithy.api#documentation": "

                              Contains information about the process associated with the threat actor.\n This includes details such as process name, path, execution time, and\n unique identifiers that help track the actor's activities within the system.

                              ", + "smithy.api#jsonName": "process" + } } }, "traits": { @@ -569,6 +576,39 @@ } } }, + "com.amazonaws.guardduty#ActorProcess": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.guardduty#ProcessName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the process as it appears in the system.

                              ", + "smithy.api#jsonName": "name", + "smithy.api#required": {} + } + }, + "Path": { + "target": "com.amazonaws.guardduty#ProcessPath", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The full file path to the process executable on the system.

                              ", + "smithy.api#jsonName": "path", + "smithy.api#required": {} + } + }, + "Sha256": { + "target": "com.amazonaws.guardduty#ProcessSha256", + "traits": { + "smithy.api#documentation": "

                              The SHA256 hash of the process executable file, which can be used for identification\n and verification purposes.

                              ", + "smithy.api#jsonName": "sha256" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about a process involved in a GuardDuty finding, including process identification,\n execution details, and file information.

                              " + } + }, "com.amazonaws.guardduty#Actors": { "type": "list", "member": { @@ -581,6 +621,12 @@ } } }, + "com.amazonaws.guardduty#AdditionalSequenceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#FindingType" + } + }, "com.amazonaws.guardduty#AddonDetails": { "type": "structure", "members": { @@ -1161,6 +1207,47 @@ "smithy.api#documentation": "

                              Contains information on the status of CloudTrail as a data source for the detector.

                              " } }, + "com.amazonaws.guardduty#ClusterStatus": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + } + } + }, "com.amazonaws.guardduty#Condition": { "type": "structure", "members": { @@ -1340,6 +1427,39 @@ "smithy.api#documentation": "

                              Details of a container.

                              " } }, + "com.amazonaws.guardduty#ContainerFindingResource": { + "type": "structure", + "members": { + "Image": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The container image information, including the image name and tag used to run the container\n that was involved in the finding.

                              ", + "smithy.api#jsonName": "image", + "smithy.api#required": {} + } + }, + "ImageUid": { + "target": "com.amazonaws.guardduty#ContainerImageUid", + "traits": { + "smithy.api#documentation": "

                              The unique ID associated with the container image.

                              ", + "smithy.api#jsonName": "imageUid" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about container resources involved in a GuardDuty finding.\n This structure provides details about containers that were identified as part of\n suspicious or malicious activity.

                              " + } + }, + "com.amazonaws.guardduty#ContainerImageUid": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, "com.amazonaws.guardduty#ContainerInstanceDetails": { "type": "structure", "members": { @@ -1362,6 +1482,21 @@ "smithy.api#documentation": "

                              Contains information about the Amazon EC2 instance that is running \n the Amazon ECS container.

                              " } }, + "com.amazonaws.guardduty#ContainerUid": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.guardduty#ContainerUids": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#ContainerUid" + } + }, "com.amazonaws.guardduty#Containers": { "type": "list", "member": { @@ -4746,6 +4881,27 @@ "smithy.api#documentation": "

                              Details about the potentially impacted Amazon EC2 instance resource.

                              " } }, + "com.amazonaws.guardduty#Ec2InstanceUid": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.guardduty#Ec2InstanceUids": { + "type": "list", + "member": { + "target": "com.amazonaws.guardduty#Ec2InstanceUid" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 25 + } + } + }, "com.amazonaws.guardduty#Ec2NetworkInterface": { "type": "structure", "members": { @@ -4951,6 +5107,49 @@ "smithy.api#documentation": "

                              Contains information about the task in an ECS cluster.

                              " } }, + "com.amazonaws.guardduty#EksCluster": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) that uniquely identifies the Amazon EKS cluster involved in the finding.

                              ", + "smithy.api#jsonName": "arn" + } + }, + "CreatedAt": { + "target": "com.amazonaws.guardduty#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp indicating when the Amazon EKS cluster was created, in UTC format.

                              ", + "smithy.api#jsonName": "createdAt" + } + }, + "Status": { + "target": "com.amazonaws.guardduty#ClusterStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the Amazon EKS cluster.

                              ", + "smithy.api#jsonName": "status" + } + }, + "VpcId": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

                              The ID of the Amazon Virtual Private Cloud (Amazon VPC) associated with the Amazon EKS cluster.

                              ", + "smithy.api#jsonName": "vpcId" + } + }, + "Ec2InstanceUids": { + "target": "com.amazonaws.guardduty#Ec2InstanceUids", + "traits": { + "smithy.api#documentation": "

                              A list of unique identifiers for the Amazon EC2 instances that serve as worker nodes in the Amazon EKS cluster.

                              ", + "smithy.api#jsonName": "ec2InstanceUids" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about the Amazon EKS cluster involved in a GuardDuty finding,\n including cluster identification, status, and network configuration.

                              " + } + }, "com.amazonaws.guardduty#EksClusterDetails": { "type": "structure", "members": { @@ -5005,9 +5204,10 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 1, + "min": 6, "max": 64 }, + "smithy.api#pattern": "^See rules in parameter description$", "smithy.api#sensitive": {} } }, @@ -5257,7 +5457,7 @@ "CriterionKey": { "target": "com.amazonaws.guardduty#CriterionKey", "traits": { - "smithy.api#documentation": "

                              An enum value representing possible scan properties to match with given scan\n entries.

                              \n \n

                              Replace the enum value CLUSTER_NAME with EKS_CLUSTER_NAME.\n CLUSTER_NAME has been deprecated.

                              \n
                              ", + "smithy.api#documentation": "

                              An enum value representing possible scan properties to match with given scan\n entries.

                              ", "smithy.api#jsonName": "criterionKey" } }, @@ -5388,7 +5588,7 @@ "target": "com.amazonaws.guardduty#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

                              The Region where the finding was generated.

                              ", + "smithy.api#documentation": "

                              The Region where the finding was generated. For findings generated\n from Global Service Events, the Region value in the finding might differ from the Region where\n GuardDuty identifies the potential threat. For more information,\n see How GuardDuty\n handles Amazon Web Services CloudTrail global events in the Amazon GuardDuty User Guide.

                              ", "smithy.api#jsonName": "region", "smithy.api#required": {} } @@ -5553,6 +5753,24 @@ "traits": { "smithy.api#enumValue": "ACCESS_KEY" } + }, + "EKS_CLUSTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EKS_CLUSTER" + } + }, + "KUBERNETES_WORKLOAD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KUBERNETES_WORKLOAD" + } + }, + "CONTAINER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINER" + } } } }, @@ -5855,7 +6073,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Provides the details of the GuardDuty administrator account associated with the current\n GuardDuty member account.

                              \n \n

                              If the organization's management account or a delegated administrator runs this API, \n it will return success (HTTP 200) but no content.

                              \n
                              ", + "smithy.api#documentation": "

                              Provides the details of the GuardDuty administrator account associated with the current\n GuardDuty member account.

                              \n

                              Based on the type of account that runs this API, the following list shows how the API behavior varies:

                              \n
                                \n
                              • \n

                                When the GuardDuty administrator account runs this API, it will return success (HTTP 200) but no content.

                                \n
                              • \n
                              • \n

                                When a member account runs this API, it will return the details of the GuardDuty administrator account that is associated\n with this calling member account.

                                \n
                              • \n
                              • \n

                                When an individual account (not associated with an organization) runs this API, it will return success (HTTP 200)\n but no content.

                                \n
                              • \n
                              ", "smithy.api#http": { "method": "GET", "uri": "/detector/{DetectorId}/administrator", @@ -8751,6 +8969,42 @@ "traits": { "smithy.api#enumValue": "UNUSUAL_ASN_FOR_USER" } + }, + "SUSPICIOUS_PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUSPICIOUS_PROCESS" + } + }, + "MALICIOUS_DOMAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MALICIOUS_DOMAIN" + } + }, + "MALICIOUS_PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MALICIOUS_PROCESS" + } + }, + "CRYPTOMINING_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRYPTOMINING_IP" + } + }, + "CRYPTOMINING_DOMAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRYPTOMINING_DOMAIN" + } + }, + "CRYPTOMINING_PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRYPTOMINING_PROCESS" + } } } }, @@ -9441,6 +9695,59 @@ "smithy.api#documentation": "

                              Information about the Kubernetes API for which you check if you have permission to call.

                              " } }, + "com.amazonaws.guardduty#KubernetesResourcesTypes": { + "type": "enum", + "members": { + "PODS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PODS" + } + }, + "JOBS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JOBS" + } + }, + "CRONJOBS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CRONJOBS" + } + }, + "DEPLOYMENTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPLOYMENTS" + } + }, + "DAEMONSETS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DAEMONSETS" + } + }, + "STATEFULSETS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATEFULSETS" + } + }, + "REPLICASETS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REPLICASETS" + } + }, + "REPLICATIONCONTROLLERS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REPLICATIONCONTROLLERS" + } + } + } + }, "com.amazonaws.guardduty#KubernetesRoleBindingDetails": { "type": "structure", "members": { @@ -9556,6 +9863,35 @@ "smithy.api#documentation": "

                              Details about the Kubernetes user involved in a Kubernetes finding.

                              " } }, + "com.amazonaws.guardduty#KubernetesWorkload": { + "type": "structure", + "members": { + "ContainerUids": { + "target": "com.amazonaws.guardduty#ContainerUids", + "traits": { + "smithy.api#documentation": "

                              A list of unique identifiers for the containers that are part of the Kubernetes workload.

                              ", + "smithy.api#jsonName": "containerUids" + } + }, + "Namespace": { + "target": "com.amazonaws.guardduty#String", + "traits": { + "smithy.api#documentation": "

                              The Kubernetes namespace in which the workload is running, providing logical isolation within the cluster.

                              ", + "smithy.api#jsonName": "namespace" + } + }, + "KubernetesResourcesTypes": { + "target": "com.amazonaws.guardduty#KubernetesResourcesTypes", + "traits": { + "smithy.api#documentation": "

                              The types of Kubernetes resources involved in the workload.

                              ", + "smithy.api#jsonName": "kubernetesResourcesTypes" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about Kubernetes workloads involved in a GuardDuty finding,\n including pods, deployments, and other Kubernetes resources.

                              " + } + }, "com.amazonaws.guardduty#KubernetesWorkloadDetails": { "type": "structure", "members": { @@ -12698,6 +13034,33 @@ "smithy.api#documentation": "

                              Information about the observed process.

                              " } }, + "com.amazonaws.guardduty#ProcessName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + } + } + }, + "com.amazonaws.guardduty#ProcessPath": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + } + } + }, + "com.amazonaws.guardduty#ProcessSha256": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + } + } + }, "com.amazonaws.guardduty#ProductCode": { "type": "structure", "members": { @@ -13315,6 +13678,27 @@ "smithy.api#documentation": "

                              Contains information about the Amazon S3 object.

                              ", "smithy.api#jsonName": "s3Object" } + }, + "EksCluster": { + "target": "com.amazonaws.guardduty#EksCluster", + "traits": { + "smithy.api#documentation": "

                              Contains detailed information about the Amazon EKS cluster associated with the activity that\n prompted GuardDuty to generate a finding.

                              ", + "smithy.api#jsonName": "eksCluster" + } + }, + "KubernetesWorkload": { + "target": "com.amazonaws.guardduty#KubernetesWorkload", + "traits": { + "smithy.api#documentation": "

                              Contains detailed information about the Kubernetes workload associated with the activity that\n prompted GuardDuty to generate a finding.

                              ", + "smithy.api#jsonName": "kubernetesWorkload" + } + }, + "Container": { + "target": "com.amazonaws.guardduty#ContainerFindingResource", + "traits": { + "smithy.api#documentation": "

                              Contains detailed information about the container associated with the activity that\n prompted GuardDuty to generate a finding.

                              ", + "smithy.api#jsonName": "container" + } } }, "traits": { @@ -14581,6 +14965,13 @@ "smithy.api#documentation": "

                              Contains information about the indicators observed in the attack sequence.

                              ", "smithy.api#jsonName": "sequenceIndicators" } + }, + "AdditionalSequenceTypes": { + "target": "com.amazonaws.guardduty#AdditionalSequenceTypes", + "traits": { + "smithy.api#documentation": "

                              Additional types of sequences that may be associated with the attack sequence finding,\n providing further context about the nature of the detected threat.

                              ", + "smithy.api#jsonName": "additionalSequenceTypes" + } } }, "traits": { @@ -14960,6 +15351,30 @@ "traits": { "smithy.api#enumValue": "S3_DATA_EVENTS" } + }, + "EKS_AUDIT_LOGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EKS_AUDIT_LOGS" + } + }, + "FLOW_LOGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FLOW_LOGS" + } + }, + "DNS_LOGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DNS_LOGS" + } + }, + "RUNTIME_MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNTIME_MONITORING" + } } } }, diff --git a/tools/code-generation/smithy/api-descriptions/inspector2.json b/tools/code-generation/smithy/api-descriptions/inspector2.json index e8620ec1abf..9b7eeaee478 100644 --- a/tools/code-generation/smithy/api-descriptions/inspector2.json +++ b/tools/code-generation/smithy/api-descriptions/inspector2.json @@ -12,7 +12,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              You do not have sufficient access to perform this action.

                              ", + "smithy.api#documentation": "

                              You do not have sufficient access to perform this action.

                              \n

                              For Enable, you receive this error if you attempt to use a feature in an\n unsupported Amazon Web Services Region.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -96,13 +96,13 @@ "exploitAvailableCount": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

                              \n The number of findings that have an exploit available.\n

                              " + "smithy.api#documentation": "

                              The number of findings that have an exploit available.

                              " } }, "fixAvailableCount": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

                              \n Details about the number of fixes.\n

                              " + "smithy.api#documentation": "

                              Details about the number of fixes.

                              " } } }, @@ -196,7 +196,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              An object with details the status of an Amazon Web Services account within your Amazon Inspector environment.

                              " + "smithy.api#documentation": "

                              An object with details the status of an Amazon Web Services account within your Amazon Inspector\n environment.

                              " } }, "com.amazonaws.inspector2#AccountStateList": { @@ -266,7 +266,7 @@ "findingTypeAggregation": { "target": "com.amazonaws.inspector2#FindingTypeAggregation", "traits": { - "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on finding types.

                              " + "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on finding\n types.

                              " } }, "imageLayerAggregation": { @@ -284,13 +284,13 @@ "repositoryAggregation": { "target": "com.amazonaws.inspector2#RepositoryAggregation", "traits": { - "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on Amazon ECR repositories.

                              " + "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on Amazon ECR\n repositories.

                              " } }, "titleAggregation": { "target": "com.amazonaws.inspector2#TitleAggregation", "traits": { - "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on finding title.

                              " + "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on finding\n title.

                              " } }, "lambdaLayerAggregation": { @@ -304,6 +304,12 @@ "traits": { "smithy.api#documentation": "

                              Returns an object with findings aggregated by Amazon Web Services Lambda function.

                              " } + }, + "codeRepositoryAggregation": { + "target": "com.amazonaws.inspector2#CodeRepositoryAggregation", + "traits": { + "smithy.api#documentation": "

                              An object that contains details about an aggregation request based on code\n repositories.

                              " + } } }, "traits": { @@ -359,7 +365,7 @@ "findingTypeAggregation": { "target": "com.amazonaws.inspector2#FindingTypeAggregationResponse", "traits": { - "smithy.api#documentation": "

                              An object that contains details about an aggregation response based on finding types.

                              " + "smithy.api#documentation": "

                              An object that contains details about an aggregation response based on finding\n types.

                              " } }, "imageLayerAggregation": { @@ -383,7 +389,7 @@ "titleAggregation": { "target": "com.amazonaws.inspector2#TitleAggregationResponse", "traits": { - "smithy.api#documentation": "

                              An object that contains details about an aggregation response based on finding title.

                              " + "smithy.api#documentation": "

                              An object that contains details about an aggregation response based on finding\n title.

                              " } }, "lambdaLayerAggregation": { @@ -397,6 +403,12 @@ "traits": { "smithy.api#documentation": "

                              An aggregation of findings by Amazon Web Services Lambda function.

                              " } + }, + "codeRepositoryAggregation": { + "target": "com.amazonaws.inspector2#CodeRepositoryAggregationResponse", + "traits": { + "smithy.api#documentation": "

                              An object that contains details about an aggregation response based on code\n repositories.

                              " + } } }, "traits": { @@ -456,6 +468,10 @@ { "value": "LAMBDA_LAYER", "name": "LAMBDA_LAYER" + }, + { + "value": "CODE_REPOSITORY", + "name": "CODE_REPOSITORY" } ] } @@ -584,6 +600,39 @@ } } }, + "com.amazonaws.inspector2#AssociateConfigurationRequest": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details about a request to associate a code repository with a scan\n configuration.

                              " + } + }, + "com.amazonaws.inspector2#AssociateConfigurationRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#AssociateConfigurationRequest" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, "com.amazonaws.inspector2#AssociateMember": { "type": "operation", "input": { @@ -610,7 +659,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Associates an Amazon Web Services account with an Amazon Inspector delegated administrator. An HTTP 200 response indicates the association was successfully started, but doesn’t indicate whether it was completed. You can check if the association completed by using ListMembers for multiple accounts or GetMembers for a single account.

                              ", + "smithy.api#documentation": "

                              Associates an Amazon Web Services account with an Amazon Inspector delegated administrator. An HTTP 200 response\n indicates the association was successfully started, but doesn’t indicate whether it was\n completed. You can check if the association completed by using ListMembers for multiple\n accounts or GetMembers for a single account.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -642,6 +691,55 @@ } } }, + "com.amazonaws.inspector2#AssociationResultStatusCode": { + "type": "enum", + "members": { + "INTERNAL_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_ERROR" + } + }, + "ACCESS_DENIED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCESS_DENIED" + } + }, + "SCAN_CONFIGURATION_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCAN_CONFIGURATION_NOT_FOUND" + } + }, + "INVALID_INPUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_INPUT" + } + }, + "RESOURCE_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESOURCE_NOT_FOUND" + } + }, + "QUOTA_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUOTA_EXCEEDED" + } + } + } + }, + "com.amazonaws.inspector2#AssociationResultStatusMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.inspector2#AtigData": { "type": "structure", "members": { @@ -666,12 +764,18 @@ "ttps": { "target": "com.amazonaws.inspector2#Ttps", "traits": { - "smithy.api#documentation": "

                              The MITRE ATT&CK tactics, techniques, and procedures (TTPs) associated with vulnerability.

                              " + "smithy.api#documentation": "

                              The MITRE ATT&CK tactics, techniques,\n and procedures (TTPs) associated with vulnerability.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services Threat Intel Group (ATIG) details for a specific vulnerability.

                              " + "smithy.api#documentation": "

                              The Amazon Web Services Threat Intel Group (ATIG) details for a specific\n vulnerability.

                              " + } + }, + "com.amazonaws.inspector2#AuthorizationUrl": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} } }, "com.amazonaws.inspector2#AutoEnable": { @@ -694,18 +798,24 @@ "lambda": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Represents whether Amazon Web Services Lambda standard scans are automatically enabled for new members of your Amazon Inspector organization.\n

                              " + "smithy.api#documentation": "

                              Represents whether Amazon Web Services Lambda standard scans are automatically enabled\n for new members of your Amazon Inspector organization.

                              " } }, "lambdaCode": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Represents whether Lambda code scans are automatically enabled for new members of your Amazon Inspector organization.\n \n

                              " + "smithy.api#documentation": "

                              Represents whether Lambda code scans are automatically enabled for new members of your\n Amazon Inspector organization.

                              " + } + }, + "codeRepository": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Represents whether code repository scans are automatically enabled for new members of\n your Amazon Inspector organization.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Represents which scan types are automatically enabled for new members of your Amazon Inspector organization.

                              " + "smithy.api#documentation": "

                              Represents which scan types are automatically enabled for new members of your Amazon Inspector\n organization.

                              " } }, "com.amazonaws.inspector2#AwsEc2InstanceDetails": { @@ -824,7 +934,7 @@ "lastInUseAt": { "target": "com.amazonaws.inspector2#DateFilterList", "traits": { - "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or Amazon EKS pod.

                              " + "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or\n Amazon EKS pod.

                              " } }, "inUseCount": { @@ -887,7 +997,7 @@ "lastInUseAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or Amazon EKS pod.

                              " + "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or\n Amazon EKS pod.

                              " } }, "inUseCount": { @@ -958,7 +1068,7 @@ "lastInUseAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or Amazon EKS pod.

                              " + "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or\n Amazon EKS pod.

                              " } }, "inUseCount": { @@ -1042,7 +1152,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The metadata for an Amazon EKS pod where an Amazon ECR image is in use.

                              " + "smithy.api#documentation": "

                              The metadata for an Amazon EKS pod where an Amazon ECR image is in\n use.

                              " } }, "com.amazonaws.inspector2#AwsEksWorkloadInfo": { @@ -1127,7 +1237,7 @@ "layers": { "target": "com.amazonaws.inspector2#LayerList", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services Lambda function's \n layers. A Lambda function can have up to five layers.

                              " + "smithy.api#documentation": "

                              The Amazon Web Services Lambda function's layers. A\n Lambda function can have up to five layers.

                              " } }, "vpcConfig": { @@ -1139,19 +1249,19 @@ "packageType": { "target": "com.amazonaws.inspector2#PackageType", "traits": { - "smithy.api#documentation": "

                              The type of deployment package. Set to Image for container image and set Zip for .zip file archive.

                              " + "smithy.api#documentation": "

                              The type of deployment package. Set to Image for container image and set\n Zip for .zip file archive.

                              " } }, "architectures": { "target": "com.amazonaws.inspector2#ArchitectureList", "traits": { - "smithy.api#documentation": "

                              The instruction set architecture that the Amazon Web Services Lambda function supports. Architecture is a string array with one of the \n valid values. The default architecture value is x86_64.

                              " + "smithy.api#documentation": "

                              The instruction set architecture that the Amazon Web Services Lambda function supports.\n Architecture is a string array with one of the valid values. The default architecture value\n is x86_64.

                              " } }, "lastModifiedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              The date and time that a user last updated the configuration, in ISO 8601 format\n

                              " + "smithy.api#documentation": "

                              The date and time that a user last updated the configuration, in ISO 8601\n format\n

                              " } } }, @@ -1175,6 +1285,150 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.inspector2#BatchAssociateCodeSecurityScanConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#BatchAssociateCodeSecurityScanConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#BatchAssociateCodeSecurityScanConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Associates multiple code repositories with an Amazon Inspector code security scan\n configuration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/batch/associate" + } + } + }, + "com.amazonaws.inspector2#BatchAssociateCodeSecurityScanConfigurationRequest": { + "type": "structure", + "members": { + "associateConfigurationRequests": { + "target": "com.amazonaws.inspector2#AssociateConfigurationRequestList", + "traits": { + "smithy.api#documentation": "

                              A list of code repositories to associate with the specified scan configuration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#BatchAssociateCodeSecurityScanConfigurationResponse": { + "type": "structure", + "members": { + "failedAssociations": { + "target": "com.amazonaws.inspector2#FailedAssociationResultList", + "traits": { + "smithy.api#documentation": "

                              Details of any code repositories that failed to be associated with the scan\n configuration.

                              " + } + }, + "successfulAssociations": { + "target": "com.amazonaws.inspector2#SuccessfulAssociationResultList", + "traits": { + "smithy.api#documentation": "

                              Details of code repositories that were successfully associated with the scan\n configuration.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#BatchDisassociateCodeSecurityScanConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#BatchDisassociateCodeSecurityScanConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#BatchDisassociateCodeSecurityScanConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Disassociates multiple code repositories from an Amazon Inspector code security scan\n configuration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/batch/disassociate" + } + } + }, + "com.amazonaws.inspector2#BatchDisassociateCodeSecurityScanConfigurationRequest": { + "type": "structure", + "members": { + "disassociateConfigurationRequests": { + "target": "com.amazonaws.inspector2#DisassociateConfigurationRequestList", + "traits": { + "smithy.api#documentation": "

                              A list of code repositories to disassociate from the specified scan\n configuration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#BatchDisassociateCodeSecurityScanConfigurationResponse": { + "type": "structure", + "members": { + "failedAssociations": { + "target": "com.amazonaws.inspector2#FailedAssociationResultList", + "traits": { + "smithy.api#documentation": "

                              Details of any code repositories that failed to be disassociated from the scan\n configuration.

                              " + } + }, + "successfulAssociations": { + "target": "com.amazonaws.inspector2#SuccessfulAssociationResultList", + "traits": { + "smithy.api#documentation": "

                              Details of code repositories that were successfully disassociated from the scan\n configuration.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.inspector2#BatchGetAccountStatus": { "type": "operation", "input": { @@ -1226,7 +1480,7 @@ "accounts": { "target": "com.amazonaws.inspector2#AccountStateList", "traits": { - "smithy.api#documentation": "

                              An array of objects that provide details on the status of Amazon Inspector for each of the requested accounts.

                              ", + "smithy.api#documentation": "

                              An array of objects that provide details on the status of Amazon Inspector for each of the\n requested accounts.

                              ", "smithy.api#required": {} } }, @@ -1261,7 +1515,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves code snippets from findings that Amazon Inspector detected code vulnerabilities in.

                              ", + "smithy.api#documentation": "

                              Retrieves code snippets from findings that Amazon Inspector detected code vulnerabilities\n in.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1275,7 +1529,7 @@ "findingArns": { "target": "com.amazonaws.inspector2#FindingArns", "traits": { - "smithy.api#documentation": "

                              An array of finding ARNs for the findings you want to retrieve code snippets from.

                              ", + "smithy.api#documentation": "

                              An array of finding ARNs for the findings you want to retrieve code snippets\n from.

                              ", "smithy.api#length": { "min": 1, "max": 10 @@ -1300,7 +1554,7 @@ "errors": { "target": "com.amazonaws.inspector2#CodeSnippetErrorList", "traits": { - "smithy.api#documentation": "

                              Any errors Amazon Inspector encountered while trying to retrieve the requested code snippets.

                              " + "smithy.api#documentation": "

                              Any errors Amazon Inspector encountered while trying to retrieve the requested code\n snippets.

                              " } } }, @@ -1483,14 +1737,14 @@ "accounts": { "target": "com.amazonaws.inspector2#FreeTrialAccountInfoList", "traits": { - "smithy.api#documentation": "

                              An array of objects that provide Amazon Inspector free trial details for each of the requested accounts.\n

                              ", + "smithy.api#documentation": "

                              An array of objects that provide Amazon Inspector free trial details for each of the requested\n accounts.

                              ", "smithy.api#required": {} } }, "failedAccounts": { "target": "com.amazonaws.inspector2#FreeTrialInfoErrorList", "traits": { - "smithy.api#documentation": "

                              An array of objects detailing any accounts that free trial data could not be returned for.

                              ", + "smithy.api#documentation": "

                              An array of objects detailing any accounts that free trial data could not be returned\n for.

                              ", "smithy.api#required": {} } } @@ -1519,7 +1773,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves Amazon Inspector deep inspection activation status of multiple member accounts within your organization. You must be the delegated administrator of an organization in Amazon Inspector to use this API.

                              ", + "smithy.api#documentation": "

                              Retrieves Amazon Inspector deep inspection activation status of multiple member accounts within\n your organization. You must be the delegated administrator of an organization in Amazon Inspector to\n use this API.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1533,7 +1787,7 @@ "accountIds": { "target": "com.amazonaws.inspector2#AccountIdSet", "traits": { - "smithy.api#documentation": "

                              The unique identifiers for the Amazon Web Services accounts to retrieve Amazon Inspector deep inspection activation status for.\n \n

                              " + "smithy.api#documentation": "

                              The unique identifiers for the Amazon Web Services accounts to retrieve Amazon Inspector deep inspection\n activation status for.

                              " } } }, @@ -1547,13 +1801,13 @@ "accountIds": { "target": "com.amazonaws.inspector2#MemberAccountEc2DeepInspectionStatusStateList", "traits": { - "smithy.api#documentation": "

                              An array of objects that provide details on the activation status of Amazon Inspector deep inspection for each of the requested accounts.\n \n

                              " + "smithy.api#documentation": "

                              An array of objects that provide details on the activation status of Amazon Inspector deep\n inspection for each of the requested accounts.

                              " } }, "failedAccountIds": { "target": "com.amazonaws.inspector2#FailedMemberAccountEc2DeepInspectionStatusStateList", "traits": { - "smithy.api#documentation": "

                              An array of objects that provide details on any accounts that failed to activate Amazon Inspector deep inspection and why.\n \n

                              " + "smithy.api#documentation": "

                              An array of objects that provide details on any accounts that failed to activate Amazon Inspector\n deep inspection and why.

                              " } } }, @@ -1584,7 +1838,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Activates or deactivates Amazon Inspector deep inspection for the provided member accounts in your organization. You must be the delegated administrator of an organization in Amazon Inspector to use this API.

                              ", + "smithy.api#documentation": "

                              Activates or deactivates Amazon Inspector deep inspection for the provided member accounts in your\n organization. You must be the delegated administrator of an organization in Amazon Inspector to use\n this API.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -1598,7 +1852,7 @@ "accountIds": { "target": "com.amazonaws.inspector2#MemberAccountEc2DeepInspectionStatusList", "traits": { - "smithy.api#documentation": "

                              The unique identifiers for the Amazon Web Services accounts to change Amazon Inspector deep inspection status for.

                              ", + "smithy.api#documentation": "

                              The unique identifiers for the Amazon Web Services accounts to change Amazon Inspector deep inspection status\n for.

                              ", "smithy.api#required": {} } } @@ -1613,13 +1867,13 @@ "accountIds": { "target": "com.amazonaws.inspector2#MemberAccountEc2DeepInspectionStatusStateList", "traits": { - "smithy.api#documentation": "

                              An array of objects that provide details for each of the accounts that Amazon Inspector deep inspection status was successfully changed for. \n

                              " + "smithy.api#documentation": "

                              An array of objects that provide details for each of the accounts that Amazon Inspector deep\n inspection status was successfully changed for.

                              " } }, "failedAccountIds": { "target": "com.amazonaws.inspector2#FailedMemberAccountEc2DeepInspectionStatusStateList", "traits": { - "smithy.api#documentation": "

                              An array of objects that provide details for each of the accounts that Amazon Inspector deep inspection status could not be successfully changed for. \n

                              " + "smithy.api#documentation": "

                              An array of objects that provide details for each of the accounts that Amazon Inspector deep\n inspection status could not be successfully changed for.

                              " } } }, @@ -2241,7 +2495,7 @@ "securityLevel": { "target": "com.amazonaws.inspector2#CisSecurityLevel", "traits": { - "smithy.api#documentation": "

                              \n The security level for the CIS scan. \n Security level refers to the Benchmark levels that CIS assigns to a profile.\n

                              " + "smithy.api#documentation": "

                              The security level for the CIS scan. Security level refers to the Benchmark levels that\n CIS assigns to a profile.

                              " } } }, @@ -2513,7 +2767,7 @@ "securityLevelFilters": { "target": "com.amazonaws.inspector2#CisSecurityLevelFilterList", "traits": { - "smithy.api#documentation": "

                              \n The criteria's security level filters. . \n Security level refers to the Benchmark levels that CIS assigns to a profile.\n

                              " + "smithy.api#documentation": "

                              The criteria's security level filters. . Security level refers to the Benchmark levels\n that CIS assigns to a profile.

                              " } }, "findingArnFilters": { @@ -2881,7 +3135,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              \n The CIS security level filter. \n Security level refers to the Benchmark levels that CIS assigns to a profile.\n

                              " + "smithy.api#documentation": "

                              The CIS security level filter. Security level refers to the Benchmark levels that CIS\n assigns to a profile.

                              " } }, "com.amazonaws.inspector2#CisSecurityLevelFilterList": { @@ -3229,7 +3483,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The Cybersecurity and Infrastructure Security Agency (CISA) details for a specific vulnerability.

                              " + "smithy.api#documentation": "

                              The Cybersecurity and Infrastructure Security Agency (CISA) details for a specific\n vulnerability.

                              " } }, "com.amazonaws.inspector2#CisaDateAdded": { @@ -3253,7 +3507,7 @@ "lastInUse": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              The last timestamp when Amazon Inspector recorded the image in use in the task or pod in the cluster.

                              ", + "smithy.api#documentation": "

                              The last timestamp when Amazon Inspector recorded the image in use in the task or pod\n in the cluster.

                              ", "smithy.api#required": {} } }, @@ -3266,7 +3520,7 @@ "stoppedUnitCount": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

                              The number of tasks or pods where an image was stopped on the cluster in the last 24 hours.

                              " + "smithy.api#documentation": "

                              The number of tasks or pods where an image was stopped on the cluster in the last 24\n hours.

                              " } }, "clusterMetadata": { @@ -3399,7 +3653,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information on where a code vulnerability is located in your Lambda function.

                              " + "smithy.api#documentation": "

                              Contains information on where a code vulnerability is located in your Lambda\n function.

                              " } }, "com.amazonaws.inspector2#CodeLine": { @@ -3440,81 +3694,575 @@ } } }, - "com.amazonaws.inspector2#CodeSnippetError": { + "com.amazonaws.inspector2#CodeRepositoryAggregation": { "type": "structure", "members": { - "findingArn": { - "target": "com.amazonaws.inspector2#FindingArn", + "projectNames": { + "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The ARN of the finding that a code snippet couldn't be retrieved for.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              The project names to include in the aggregation results.

                              " } }, - "errorCode": { - "target": "com.amazonaws.inspector2#CodeSnippetErrorCode", + "providerTypes": { + "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The error code for the error that prevented a code snippet from being retrieved.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              The repository provider types to include in the aggregation results.

                              " } }, - "errorMessage": { - "target": "com.amazonaws.inspector2#NonEmptyString", + "sortOrder": { + "target": "com.amazonaws.inspector2#SortOrder", "traits": { - "smithy.api#documentation": "

                              The error message received when Amazon Inspector failed to retrieve a code snippet.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              The order to sort results by (ascending or descending) in the code repository\n aggregation.

                              " + } + }, + "sortBy": { + "target": "com.amazonaws.inspector2#CodeRepositorySortBy", + "traits": { + "smithy.api#documentation": "

                              The value to sort results by in the code repository aggregation.

                              " + } + }, + "resourceIds": { + "target": "com.amazonaws.inspector2#StringFilterList", + "traits": { + "smithy.api#documentation": "

                              The resource IDs to include in the aggregation results.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Contains information about any errors encountered while trying to retrieve a code snippet.

                              " - } - }, - "com.amazonaws.inspector2#CodeSnippetErrorCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "INTERNAL_ERROR", - "name": "INTERNAL_ERROR" - }, - { - "value": "ACCESS_DENIED", - "name": "ACCESS_DENIED" - }, - { - "value": "CODE_SNIPPET_NOT_FOUND", - "name": "CODE_SNIPPET_NOT_FOUND" - }, - { - "value": "INVALID_INPUT", - "name": "INVALID_INPUT" - } - ] - } - }, - "com.amazonaws.inspector2#CodeSnippetErrorList": { - "type": "list", - "member": { - "target": "com.amazonaws.inspector2#CodeSnippetError" + "smithy.api#documentation": "

                              The details that define an aggregation based on code repositories.

                              " } }, - "com.amazonaws.inspector2#CodeSnippetResult": { + "com.amazonaws.inspector2#CodeRepositoryAggregationResponse": { "type": "structure", "members": { - "findingArn": { - "target": "com.amazonaws.inspector2#FindingArn", + "projectNames": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The ARN of a finding that the code snippet is associated with.

                              " + "smithy.api#documentation": "

                              The names of the projects associated with the code repository.

                              ", + "smithy.api#required": {} } }, - "startLine": { - "target": "smithy.api#Integer", + "providerType": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The line number of the first line of a code snippet.

                              " + "smithy.api#documentation": "

                              The type of repository provider for the code repository.

                              " } }, - "endLine": { - "target": "smithy.api#Integer", + "severityCounts": { + "target": "com.amazonaws.inspector2#SeverityCounts" + }, + "exploitAvailableActiveFindingsCount": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

                              The number of active findings that have an exploit available for the code\n repository.

                              " + } + }, + "fixAvailableActiveFindingsCount": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

                              The number of active findings that have a fix available for the code repository.

                              " + } + }, + "accountId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services account ID associated with the code repository.

                              " + } + }, + "resourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The resource ID of the code repository.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A response that contains the results of a finding aggregation by code repository.

                              " + } + }, + "com.amazonaws.inspector2#CodeRepositoryDetails": { + "type": "structure", + "members": { + "projectName": { + "target": "com.amazonaws.inspector2#CodeRepositoryProjectName", + "traits": { + "smithy.api#documentation": "

                              The name of the project in the code repository.

                              " + } + }, + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeRepositoryIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration associated with the\n repository.

                              " + } + }, + "providerType": { + "target": "com.amazonaws.inspector2#CodeRepositoryProviderType", + "traits": { + "smithy.api#documentation": "

                              The type of repository provider (such as GitHub, GitLab, etc.).

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details about a code repository associated with a finding.

                              " + } + }, + "com.amazonaws.inspector2#CodeRepositoryIntegrationArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration\\/[a-f0-9-]{36}$" + } + }, + "com.amazonaws.inspector2#CodeRepositoryMetadata": { + "type": "structure", + "members": { + "projectName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The name of the project in the code repository.

                              ", + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#required": {} + } + }, + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeRepositoryIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration associated with the\n repository.

                              " + } + }, + "providerType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The type of repository provider (such as GitHub, GitLab, etc.).

                              ", + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#required": {} + } + }, + "providerTypeVisibility": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The visibility setting of the repository (public or private).

                              ", + "smithy.api#length": { + "min": 1, + "max": 300 + }, + "smithy.api#required": {} + } + }, + "lastScannedCommitId": { + "target": "com.amazonaws.inspector2#CommitId", + "traits": { + "smithy.api#documentation": "

                              The ID of the last commit that was scanned in the repository.

                              " + } + }, + "scanConfiguration": { + "target": "com.amazonaws.inspector2#ProjectCodeSecurityScanConfiguration", + "traits": { + "smithy.api#documentation": "

                              The scan configuration settings applied to the code repository.

                              " + } + }, + "onDemandScan": { + "target": "com.amazonaws.inspector2#CodeRepositoryOnDemandScan", + "traits": { + "smithy.api#documentation": "

                              Information about on-demand scans performed on the repository.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains metadata information about a code repository that is being scanned by Amazon\n Inspector.

                              " + } + }, + "com.amazonaws.inspector2#CodeRepositoryOnDemandScan": { + "type": "structure", + "members": { + "lastScannedCommitId": { + "target": "com.amazonaws.inspector2#CommitId", + "traits": { + "smithy.api#documentation": "

                              The ID of the last commit that was scanned during an on-demand scan.

                              " + } + }, + "lastScanAt": { + "target": "com.amazonaws.inspector2#DateTimeTimestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the last on-demand scan was performed.

                              " + } + }, + "scanStatus": { + "target": "com.amazonaws.inspector2#ScanStatus" + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about on-demand scans performed on a code repository.

                              " + } + }, + "com.amazonaws.inspector2#CodeRepositoryProjectName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + } + } + }, + "com.amazonaws.inspector2#CodeRepositoryProviderType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "GITHUB", + "name": "GITHUB" + }, + { + "value": "GITLAB_SELF_MANAGED", + "name": "GITLAB_SELF_MANAGED" + } + ] + } + }, + "com.amazonaws.inspector2#CodeRepositorySortBy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CRITICAL", + "name": "CRITICAL" + }, + { + "value": "HIGH", + "name": "HIGH" + }, + { + "value": "ALL", + "name": "ALL" + } + ] + } + }, + "com.amazonaws.inspector2#CodeScanStatus": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "SUCCESSFUL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCESSFUL" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "SKIPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SKIPPED" + } + } + } + }, + "com.amazonaws.inspector2#CodeSecurityClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\S]+$" + } + }, + "com.amazonaws.inspector2#CodeSecurityIntegrationArn": { + "type": "string", + "traits": { + "smithy.api#documentation": "arn:aws:inspector2:::codesecurity-integration/", + "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration/[a-f0-9-]{36}$" + } + }, + "com.amazonaws.inspector2#CodeSecurityIntegrationSummary": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration.

                              ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.inspector2#IntegrationName", + "traits": { + "smithy.api#documentation": "

                              The name of the code security integration.

                              ", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.inspector2#IntegrationType", + "traits": { + "smithy.api#documentation": "

                              The type of repository provider for the integration.

                              ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.inspector2#IntegrationStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the code security integration.

                              ", + "smithy.api#required": {} + } + }, + "statusReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The reason for the current status of the code security integration.

                              ", + "smithy.api#required": {} + } + }, + "createdOn": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the code security integration was created.

                              ", + "smithy.api#required": {} + } + }, + "lastUpdateOn": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the code security integration was last updated.

                              ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.inspector2#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags associated with the code security integration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A summary of information about a code security integration.

                              " + } + }, + "com.amazonaws.inspector2#CodeSecurityResource": { + "type": "union", + "members": { + "projectId": { + "target": "com.amazonaws.inspector2#ProjectId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the project in the code repository.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Identifies a specific resource in a code repository that will be scanned.

                              " + } + }, + "com.amazonaws.inspector2#CodeSecurityScanConfiguration": { + "type": "structure", + "members": { + "periodicScanConfiguration": { + "target": "com.amazonaws.inspector2#PeriodicScanConfiguration", + "traits": { + "smithy.api#documentation": "

                              Configuration settings for periodic scans that run on a scheduled basis.

                              " + } + }, + "continuousIntegrationScanConfiguration": { + "target": "com.amazonaws.inspector2#ContinuousIntegrationScanConfiguration", + "traits": { + "smithy.api#documentation": "

                              Configuration settings for continuous integration scans that run automatically when code\n changes are made.

                              " + } + }, + "ruleSetCategories": { + "target": "com.amazonaws.inspector2#RuleSetCategories", + "traits": { + "smithy.api#documentation": "

                              The categories of security rules to be applied during the scan.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the configuration settings for code security scans.

                              " + } + }, + "com.amazonaws.inspector2#CodeSecurityScanConfigurationAssociationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfigurationAssociationSummary" + } + }, + "com.amazonaws.inspector2#CodeSecurityScanConfigurationAssociationSummary": { + "type": "structure", + "members": { + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource" + } + }, + "traits": { + "smithy.api#documentation": "

                              A summary of an association between a code repository and a scan configuration.

                              " + } + }, + "com.amazonaws.inspector2#CodeSecurityScanConfigurationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfigurationSummary" + } + }, + "com.amazonaws.inspector2#CodeSecurityScanConfigurationSummary": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.inspector2#ScanConfigurationName", + "traits": { + "smithy.api#documentation": "

                              The name of the scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "ownerAccountId": { + "target": "com.amazonaws.inspector2#OwnerId", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services account ID that owns the scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "periodicScanFrequency": { + "target": "com.amazonaws.inspector2#PeriodicScanFrequency", + "traits": { + "smithy.api#documentation": "

                              The frequency at which periodic scans are performed.

                              " + } + }, + "frequencyExpression": { + "target": "com.amazonaws.inspector2#FrequencyExpression", + "traits": { + "smithy.api#documentation": "

                              The schedule expression for periodic scans, in cron format.

                              " + } + }, + "continuousIntegrationScanSupportedEvents": { + "target": "com.amazonaws.inspector2#ContinuousIntegrationScanSupportedEvents", + "traits": { + "smithy.api#documentation": "

                              The repository events that trigger continuous integration scans.

                              " + } + }, + "ruleSetCategories": { + "target": "com.amazonaws.inspector2#RuleSetCategories", + "traits": { + "smithy.api#documentation": "

                              The categories of security rules applied during the scan.

                              ", + "smithy.api#required": {} + } + }, + "scopeSettings": { + "target": "com.amazonaws.inspector2#ScopeSettings", + "traits": { + "smithy.api#documentation": "

                              The scope settings that define which repositories will be scanned. If the\n ScopeSetting parameter is ALL the scan configuration applies\n to all existing and future projects imported into Amazon Inspector.

                              " + } + }, + "tags": { + "target": "com.amazonaws.inspector2#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags associated with the scan configuration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A summary of information about a code security scan configuration.

                              " + } + }, + "com.amazonaws.inspector2#CodeSecurityUuid": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, + "com.amazonaws.inspector2#CodeSnippetError": { + "type": "structure", + "members": { + "findingArn": { + "target": "com.amazonaws.inspector2#FindingArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of the finding that a code snippet couldn't be retrieved for.

                              ", + "smithy.api#required": {} + } + }, + "errorCode": { + "target": "com.amazonaws.inspector2#CodeSnippetErrorCode", + "traits": { + "smithy.api#documentation": "

                              The error code for the error that prevented a code snippet from being retrieved.

                              ", + "smithy.api#required": {} + } + }, + "errorMessage": { + "target": "com.amazonaws.inspector2#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The error message received when Amazon Inspector failed to retrieve a code snippet.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about any errors encountered while trying to retrieve a code\n snippet.

                              " + } + }, + "com.amazonaws.inspector2#CodeSnippetErrorCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "INTERNAL_ERROR", + "name": "INTERNAL_ERROR" + }, + { + "value": "ACCESS_DENIED", + "name": "ACCESS_DENIED" + }, + { + "value": "CODE_SNIPPET_NOT_FOUND", + "name": "CODE_SNIPPET_NOT_FOUND" + }, + { + "value": "INVALID_INPUT", + "name": "INVALID_INPUT" + } + ] + } + }, + "com.amazonaws.inspector2#CodeSnippetErrorList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#CodeSnippetError" + } + }, + "com.amazonaws.inspector2#CodeSnippetResult": { + "type": "structure", + "members": { + "findingArn": { + "target": "com.amazonaws.inspector2#FindingArn", + "traits": { + "smithy.api#documentation": "

                              The ARN of a finding that the code snippet is associated with.

                              " + } + }, + "startLine": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The line number of the first line of a code snippet.

                              " + } + }, + "endLine": { + "target": "smithy.api#Integer", "traits": { "smithy.api#documentation": "

                              The line number of the last line of a code snippet.

                              " } @@ -3533,7 +4281,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Contains information on a code snippet retrieved by Amazon Inspector from a code vulnerability finding.

                              " + "smithy.api#documentation": "

                              Contains information on a code snippet retrieved by Amazon Inspector from a code vulnerability\n finding.

                              " } }, "com.amazonaws.inspector2#CodeSnippetResultList": { @@ -3555,7 +4303,7 @@ "detectorTags": { "target": "com.amazonaws.inspector2#DetectorTagList", "traits": { - "smithy.api#documentation": "

                              The detector tag associated with the vulnerability. Detector tags group related vulnerabilities by common themes or tactics. For a list of available tags by programming language, see Java tags, or Python tags.

                              " + "smithy.api#documentation": "

                              The detector tag associated with the vulnerability. Detector tags group related\n vulnerabilities by common themes or tactics. For a list of available tags by programming\n language, see Java\n tags, or Python tags.

                              " } }, "referenceUrls": { @@ -3573,33 +4321,42 @@ "sourceLambdaLayerArn": { "target": "com.amazonaws.inspector2#LambdaLayerArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Lambda layer that the code vulnerability was detected in.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Lambda layer that the code vulnerability was\n detected in.

                              " } }, "detectorId": { "target": "com.amazonaws.inspector2#NonEmptyString", "traits": { - "smithy.api#documentation": "

                              The ID for the Amazon CodeGuru detector associated with the finding. For more information on detectors see Amazon CodeGuru\n Detector Library.

                              ", + "smithy.api#documentation": "

                              The ID for the Amazon CodeGuru detector associated with the finding. For more\n information on detectors see Amazon CodeGuru Detector Library.

                              ", "smithy.api#required": {} } }, "detectorName": { "target": "com.amazonaws.inspector2#NonEmptyString", "traits": { - "smithy.api#documentation": "

                              The name of the detector used to identify the code vulnerability. For more information on detectors see CodeGuru Detector Library.

                              ", + "smithy.api#documentation": "

                              The name of the detector used to identify the code vulnerability. For more information\n on detectors see CodeGuru\n Detector Library.

                              ", "smithy.api#required": {} } }, "cwes": { "target": "com.amazonaws.inspector2#CweList", "traits": { - "smithy.api#documentation": "

                              The Common Weakness Enumeration (CWE) item associated with the detected vulnerability.

                              ", + "smithy.api#documentation": "

                              The Common Weakness Enumeration (CWE) item associated with the detected\n vulnerability.

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              Contains information on the code vulnerability identified in your Lambda function.

                              " + "smithy.api#documentation": "

                              Contains information on the code vulnerability identified in your Lambda\n function.

                              " + } + }, + "com.amazonaws.inspector2#CommitId": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 40 + }, + "smithy.api#pattern": "^([a-f0-9]{40})$" } }, "com.amazonaws.inspector2#Component": { @@ -3637,6 +4394,23 @@ "smithy.api#documentation": "

                              A compute platform.

                              " } }, + "com.amazonaws.inspector2#ConfigurationLevel": { + "type": "enum", + "members": { + "ORGANIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ORGANIZATION" + } + }, + "ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCOUNT" + } + } + } + }, "com.amazonaws.inspector2#ConflictException": { "type": "structure", "members": { @@ -3649,22 +4423,66 @@ "resourceId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The ID of the conflicting resource.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "The ID of the conflicting resource.", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The type of the conflicting resource.", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A conflict occurred. This exception occurs when the same resource is being modified by\n concurrent requests.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.inspector2#ContinuousIntegrationScanConfiguration": { + "type": "structure", + "members": { + "supportedEvents": { + "target": "com.amazonaws.inspector2#ContinuousIntegrationScanSupportedEvents", + "traits": { + "smithy.api#documentation": "

                              The repository events that trigger continuous integration scans, such as pull requests\n or commits.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configuration settings for continuous integration scans that run automatically when code\n changes are made.

                              " + } + }, + "com.amazonaws.inspector2#ContinuousIntegrationScanEvent": { + "type": "enum", + "members": { + "PULL_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PULL_REQUEST" } }, - "resourceType": { - "target": "smithy.api#String", + "PUSH": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "

                              The type of the conflicting resource.

                              ", - "smithy.api#required": {} + "smithy.api#enumValue": "PUSH" } } + } + }, + "com.amazonaws.inspector2#ContinuousIntegrationScanSupportedEvents": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#ContinuousIntegrationScanEvent" }, "traits": { - "smithy.api#documentation": "

                              A conflict occurred.

                              ", - "smithy.api#error": "client", - "smithy.api#httpError": 409 + "smithy.api#length": { + "min": 1, + "max": 2 + } } }, "com.amazonaws.inspector2#Counts": { @@ -3738,7 +4556,7 @@ "scanStatusCode": { "target": "com.amazonaws.inspector2#CoverageStringFilterList", "traits": { - "smithy.api#documentation": "

                              The scan status code to filter on. Valid values are: ValidationException, InternalServerException, ResourceNotFoundException, BadRequestException, and ThrottlingException.

                              " + "smithy.api#documentation": "

                              The scan status code to filter on. Valid values are: ValidationException,\n InternalServerException, ResourceNotFoundException,\n BadRequestException, and ThrottlingException.

                              " } }, "scanStatusReason": { @@ -3762,7 +4580,7 @@ "resourceType": { "target": "com.amazonaws.inspector2#CoverageStringFilterList", "traits": { - "smithy.api#documentation": "

                              An array of Amazon Web Services resource types to return coverage statistics for. The values can be AWS_EC2_INSTANCE, AWS_LAMBDA_FUNCTION, AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY or AWS_ACCOUNT.

                              " + "smithy.api#documentation": "

                              An array of Amazon Web Services resource types to return coverage statistics for. The values can be\n AWS_EC2_INSTANCE, AWS_LAMBDA_FUNCTION,\n AWS_ECR_CONTAINER_IMAGE, AWS_ECR_REPOSITORY or\n AWS_ACCOUNT.

                              " } }, "scanType": { @@ -3792,31 +4610,31 @@ "lambdaFunctionName": { "target": "com.amazonaws.inspector2#CoverageStringFilterList", "traits": { - "smithy.api#documentation": "

                              Returns coverage statistics for Amazon Web Services Lambda functions filtered by function names.

                              " + "smithy.api#documentation": "

                              Returns coverage statistics for Amazon Web Services Lambda functions filtered by function\n names.

                              " } }, "lambdaFunctionTags": { "target": "com.amazonaws.inspector2#CoverageMapFilterList", "traits": { - "smithy.api#documentation": "

                              Returns coverage statistics for Amazon Web Services Lambda functions filtered by tag.

                              " + "smithy.api#documentation": "

                              Returns coverage statistics for Amazon Web Services Lambda functions filtered by\n tag.

                              " } }, "lambdaFunctionRuntime": { "target": "com.amazonaws.inspector2#CoverageStringFilterList", "traits": { - "smithy.api#documentation": "

                              Returns coverage statistics for Amazon Web Services Lambda functions filtered by runtime.

                              " + "smithy.api#documentation": "

                              Returns coverage statistics for Amazon Web Services Lambda functions filtered by\n runtime.

                              " } }, "lastScannedAt": { "target": "com.amazonaws.inspector2#CoverageDateFilterList", "traits": { - "smithy.api#documentation": "

                              Filters Amazon Web Services resources based on whether Amazon Inspector has checked them for vulnerabilities within the specified time range.

                              " + "smithy.api#documentation": "

                              Filters Amazon Web Services resources based on whether Amazon Inspector has checked them for vulnerabilities\n within the specified time range.

                              " } }, "scanMode": { "target": "com.amazonaws.inspector2#CoverageStringFilterList", "traits": { - "smithy.api#documentation": "

                              The filter to search for Amazon EC2 instance coverage by scan mode. Valid values are EC2_SSM_AGENT_BASED and EC2_AGENTLESS.

                              " + "smithy.api#documentation": "

                              The filter to search for Amazon EC2 instance coverage by scan mode. Valid values are\n EC2_SSM_AGENT_BASED and EC2_AGENTLESS.

                              " } }, "imagePulledAt": { @@ -3836,10 +4654,34 @@ "traits": { "smithy.api#documentation": "

                              The number of Amazon ECR images in use.

                              " } + }, + "codeRepositoryProjectName": { + "target": "com.amazonaws.inspector2#CoverageStringFilterList", + "traits": { + "smithy.api#documentation": "

                              Filter criteria for code repositories based on project name.

                              " + } + }, + "codeRepositoryProviderType": { + "target": "com.amazonaws.inspector2#CoverageStringFilterList", + "traits": { + "smithy.api#documentation": "

                              Filter criteria for code repositories based on provider type (such as GitHub, GitLab,\n etc.).

                              " + } + }, + "codeRepositoryProviderTypeVisibility": { + "target": "com.amazonaws.inspector2#CoverageStringFilterList", + "traits": { + "smithy.api#documentation": "

                              Filter criteria for code repositories based on visibility setting (public or\n private).

                              " + } + }, + "lastScannedCommitId": { + "target": "com.amazonaws.inspector2#CoverageStringFilterList", + "traits": { + "smithy.api#documentation": "

                              Filter criteria for code repositories based on the ID of the last scanned commit.

                              " + } } }, "traits": { - "smithy.api#documentation": "

                              A structure that identifies filter criteria for GetCoverageStatistics.

                              " + "smithy.api#documentation": "

                              A structure that identifies filter criteria for\n GetCoverageStatistics.

                              " } }, "com.amazonaws.inspector2#CoverageMapComparison": { @@ -3944,6 +4786,10 @@ { "value": "AWS_LAMBDA_FUNCTION", "name": "AWS_LAMBDA_FUNCTION" + }, + { + "value": "CODE_REPOSITORY", + "name": "CODE_REPOSITORY" } ] } @@ -4046,47 +4892,291 @@ "resourceMetadata": { "target": "com.amazonaws.inspector2#ResourceScanMetadata", "traits": { - "smithy.api#documentation": "

                              An object that contains details about the metadata.

                              " + "smithy.api#documentation": "

                              An object that contains details about the metadata.

                              " + } + }, + "lastScannedAt": { + "target": "com.amazonaws.inspector2#DateTimeTimestamp", + "traits": { + "smithy.api#documentation": "

                              The date and time the resource was last checked for vulnerabilities.

                              " + } + }, + "scanMode": { + "target": "com.amazonaws.inspector2#ScanMode", + "traits": { + "smithy.api#documentation": "

                              The scan method that is applied to the instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              An object that contains details about a resource covered by Amazon Inspector.

                              " + } + }, + "com.amazonaws.inspector2#CoveredResources": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#CoveredResource" + } + }, + "com.amazonaws.inspector2#CreateCisScanConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#CreateCisScanConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#CreateCisScanConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates a CIS scan configuration.

                              ", + "smithy.api#examples": [ + { + "title": "Sample CreateCisScanConfiguration Call", + "input": { + "scanName": "sample", + "securityLevel": "LEVEL_1", + "schedule": { + "daily": { + "startTime": { + "timeOfDay": "12:34", + "timezone": "UTC" + } + } + }, + "targets": { + "accountIds": [ + "SELF" + ], + "targetResourceTags": { + "key": [ + "value" + ] + } + } + }, + "output": { + "scanConfigurationArn": "arn:aws:inspector2:us-east-1:123412341234:owner/123412341234/cis-configuration/624b746d-e080-44ae-8c1d-48e653365a38" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/cis/scan-configuration/create" + } + } + }, + "com.amazonaws.inspector2#CreateCisScanConfigurationRequest": { + "type": "structure", + "members": { + "scanName": { + "target": "com.amazonaws.inspector2#CisScanName", + "traits": { + "smithy.api#documentation": "

                              The scan name for the CIS scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "securityLevel": { + "target": "com.amazonaws.inspector2#CisSecurityLevel", + "traits": { + "smithy.api#documentation": "

                              The security level for the CIS scan configuration. Security level refers to the\n Benchmark levels that CIS assigns to a profile.

                              ", + "smithy.api#required": {} + } + }, + "schedule": { + "target": "com.amazonaws.inspector2#Schedule", + "traits": { + "smithy.api#documentation": "

                              The schedule for the CIS scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "targets": { + "target": "com.amazonaws.inspector2#CreateCisTargets", + "traits": { + "smithy.api#documentation": "

                              The targets for the CIS scan configuration.

                              ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.inspector2#CisTagMap", + "traits": { + "smithy.api#documentation": "

                              The tags for the CIS scan configuration.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#CreateCisScanConfigurationResponse": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#CisScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The scan configuration ARN for the CIS scan configuration.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#CreateCisTargets": { + "type": "structure", + "members": { + "accountIds": { + "target": "com.amazonaws.inspector2#TargetAccountList", + "traits": { + "smithy.api#documentation": "

                              The CIS target account ids.

                              ", + "smithy.api#required": {} + } + }, + "targetResourceTags": { + "target": "com.amazonaws.inspector2#TargetResourceTags", + "traits": { + "smithy.api#documentation": "

                              The CIS target resource tags.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Creates CIS targets.

                              " + } + }, + "com.amazonaws.inspector2#CreateCodeSecurityIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#CreateCodeSecurityIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#CreateCodeSecurityIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates a code security integration with a source code repository provider.

                              \n

                              After calling the CreateCodeSecurityIntegration operation, you complete\n authentication and authorization with your provider. Next you call the\n UpdateCodeSecurityIntegration operation to provide the details\n to complete the integration setup

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/integration/create" + } + } + }, + "com.amazonaws.inspector2#CreateCodeSecurityIntegrationRequest": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.inspector2#IntegrationName", + "traits": { + "smithy.api#documentation": "

                              The name of the code security integration.

                              ", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.inspector2#IntegrationType", + "traits": { + "smithy.api#documentation": "

                              The type of repository provider for the integration.

                              ", + "smithy.api#required": {} + } + }, + "details": { + "target": "com.amazonaws.inspector2#CreateIntegrationDetail", + "traits": { + "smithy.api#documentation": "

                              The integration details specific to the repository provider type.

                              " + } + }, + "tags": { + "target": "com.amazonaws.inspector2#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags to apply to the code security integration.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#CreateCodeSecurityIntegrationResponse": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the created code security integration.

                              ", + "smithy.api#required": {} } }, - "lastScannedAt": { - "target": "com.amazonaws.inspector2#DateTimeTimestamp", + "status": { + "target": "com.amazonaws.inspector2#IntegrationStatus", "traits": { - "smithy.api#documentation": "

                              The date and time the resource was last checked for vulnerabilities.

                              " + "smithy.api#documentation": "

                              The current status of the code security integration.

                              ", + "smithy.api#required": {} } }, - "scanMode": { - "target": "com.amazonaws.inspector2#ScanMode", + "authorizationUrl": { + "target": "com.amazonaws.inspector2#AuthorizationUrl", "traits": { - "smithy.api#documentation": "

                              The scan method that is applied to the instance.

                              " + "smithy.api#documentation": "

                              The URL used to authorize the integration with the repository provider.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              An object that contains details about a resource covered by Amazon Inspector.

                              " - } - }, - "com.amazonaws.inspector2#CoveredResources": { - "type": "list", - "member": { - "target": "com.amazonaws.inspector2#CoveredResource" + "smithy.api#output": {} } }, - "com.amazonaws.inspector2#CreateCisScanConfiguration": { + "com.amazonaws.inspector2#CreateCodeSecurityScanConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.inspector2#CreateCisScanConfigurationRequest" + "target": "com.amazonaws.inspector2#CreateCodeSecurityScanConfigurationRequest" }, "output": { - "target": "com.amazonaws.inspector2#CreateCisScanConfigurationResponse" + "target": "com.amazonaws.inspector2#CreateCodeSecurityScanConfigurationResponse" }, "errors": [ { "target": "com.amazonaws.inspector2#AccessDeniedException" }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, { "target": "com.amazonaws.inspector2#InternalServerException" }, + { + "target": "com.amazonaws.inspector2#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.inspector2#ThrottlingException" }, @@ -4095,79 +5185,48 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a CIS scan configuration.

                              ", - "smithy.api#examples": [ - { - "title": "Sample CreateCisScanConfiguration Call", - "input": { - "scanName": "sample", - "securityLevel": "LEVEL_1", - "schedule": { - "daily": { - "startTime": { - "timeOfDay": "12:34", - "timezone": "UTC" - } - } - }, - "targets": { - "accountIds": [ - "SELF" - ], - "targetResourceTags": { - "key": [ - "value" - ] - } - } - }, - "output": { - "scanConfigurationArn": "arn:aws:inspector2:us-east-1:123412341234:owner/123412341234/cis-configuration/624b746d-e080-44ae-8c1d-48e653365a38" - } - } - ], + "smithy.api#documentation": "

                              Creates a scan configuration for code security scanning.

                              ", "smithy.api#http": { "code": 200, "method": "POST", - "uri": "/cis/scan-configuration/create" + "uri": "/codesecurity/scan-configuration/create" } } }, - "com.amazonaws.inspector2#CreateCisScanConfigurationRequest": { + "com.amazonaws.inspector2#CreateCodeSecurityScanConfigurationRequest": { "type": "structure", "members": { - "scanName": { - "target": "com.amazonaws.inspector2#CisScanName", + "name": { + "target": "com.amazonaws.inspector2#ScanConfigurationName", "traits": { - "smithy.api#documentation": "

                              The scan name for the CIS scan configuration.

                              ", + "smithy.api#documentation": "

                              The name of the scan configuration.

                              ", "smithy.api#required": {} } }, - "securityLevel": { - "target": "com.amazonaws.inspector2#CisSecurityLevel", + "level": { + "target": "com.amazonaws.inspector2#ConfigurationLevel", "traits": { - "smithy.api#documentation": "

                              \n The security level for the CIS scan configuration. \n Security level refers to the Benchmark levels that CIS assigns to a profile.\n

                              ", + "smithy.api#documentation": "

                              The security level for the scan configuration.

                              ", "smithy.api#required": {} } }, - "schedule": { - "target": "com.amazonaws.inspector2#Schedule", + "configuration": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfiguration", "traits": { - "smithy.api#documentation": "

                              The schedule for the CIS scan configuration.

                              ", + "smithy.api#documentation": "

                              The configuration settings for the code security scan.

                              ", "smithy.api#required": {} } }, - "targets": { - "target": "com.amazonaws.inspector2#CreateCisTargets", + "scopeSettings": { + "target": "com.amazonaws.inspector2#ScopeSettings", "traits": { - "smithy.api#documentation": "

                              The targets for the CIS scan configuration.

                              ", - "smithy.api#required": {} + "smithy.api#documentation": "

                              The scope settings that define which repositories will be scanned. Include this\n parameter to create a default scan configuration. Otherwise Amazon Inspector creates a general scan\n configuration.

                              \n

                              A default scan configuration automatically applies to all existing and future projects\n imported into Amazon Inspector. Use the BatchAssociateCodeSecurityScanConfiguration\n operation to associate a general scan configuration with projects.

                              " } }, "tags": { - "target": "com.amazonaws.inspector2#CisTagMap", + "target": "com.amazonaws.inspector2#TagMap", "traits": { - "smithy.api#documentation": "

                              The tags for the CIS scan configuration.

                              " + "smithy.api#documentation": "

                              The tags to apply to the scan configuration.

                              " } } }, @@ -4175,40 +5234,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.inspector2#CreateCisScanConfigurationResponse": { + "com.amazonaws.inspector2#CreateCodeSecurityScanConfigurationResponse": { "type": "structure", "members": { "scanConfigurationArn": { - "target": "com.amazonaws.inspector2#CisScanConfigurationArn", - "traits": { - "smithy.api#documentation": "

                              The scan configuration ARN for the CIS scan configuration.

                              " - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.inspector2#CreateCisTargets": { - "type": "structure", - "members": { - "accountIds": { - "target": "com.amazonaws.inspector2#TargetAccountList", - "traits": { - "smithy.api#documentation": "

                              The CIS target account ids.

                              ", - "smithy.api#required": {} - } - }, - "targetResourceTags": { - "target": "com.amazonaws.inspector2#TargetResourceTags", + "target": "com.amazonaws.inspector2#ScanConfigurationArn", "traits": { - "smithy.api#documentation": "

                              The CIS target resource tags.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the created scan configuration.

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              Creates CIS targets.

                              " + "smithy.api#output": {} } }, "com.amazonaws.inspector2#CreateFilter": { @@ -4240,7 +5278,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a filter resource using specified filter criteria. When the filter action is set to SUPPRESS this action creates a suppression rule.

                              ", + "smithy.api#documentation": "

                              Creates a filter resource using specified filter criteria. When the filter action is set\n to SUPPRESS this action creates a suppression rule.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -4330,7 +5368,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a finding report. By default only ACTIVE findings are returned in the report. To see SUPRESSED or CLOSED findings you must specify a value for the findingStatus filter criteria.

                              ", + "smithy.api#documentation": "

                              Creates a finding report. By default only ACTIVE findings are returned in\n the report. To see SUPRESSED or CLOSED findings you must specify\n a value for the findingStatus filter criteria.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -4374,6 +5412,42 @@ } } }, + "com.amazonaws.inspector2#CreateGitLabSelfManagedIntegrationDetail": { + "type": "structure", + "members": { + "instanceUrl": { + "target": "com.amazonaws.inspector2#InstanceUrl", + "traits": { + "smithy.api#documentation": "

                              The URL of the self-managed GitLab instance.

                              ", + "smithy.api#required": {} + } + }, + "accessToken": { + "target": "com.amazonaws.inspector2#GitLabAccessToken", + "traits": { + "smithy.api#documentation": "

                              The personal access token used to authenticate with the self-managed GitLab\n instance.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details required to create an integration with a self-managed GitLab\n instance.

                              " + } + }, + "com.amazonaws.inspector2#CreateIntegrationDetail": { + "type": "union", + "members": { + "gitlabSelfManaged": { + "target": "com.amazonaws.inspector2#CreateGitLabSelfManagedIntegrationDetail", + "traits": { + "smithy.api#documentation": "

                              Details specific to creating an integration with a self-managed GitLab instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details required to create a code security integration with a specific\n repository provider.

                              " + } + }, "com.amazonaws.inspector2#CreateSbomExport": { "type": "operation", "input": { @@ -4480,7 +5554,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The Common Vulnerability Scoring System (CVSS) version 2 details for the vulnerability.

                              " + "smithy.api#documentation": "

                              The Common Vulnerability Scoring System (CVSS) version 2 details for the\n vulnerability.

                              " } }, "com.amazonaws.inspector2#Cvss2BaseScore": { @@ -4515,7 +5589,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The Common Vulnerability Scoring System (CVSS) version 3 details for the vulnerability.

                              " + "smithy.api#documentation": "

                              The Common Vulnerability Scoring System (CVSS) version 3 details for the\n vulnerability.

                              " } }, "com.amazonaws.inspector2#Cvss3BaseScore": { @@ -4933,6 +6007,132 @@ "smithy.api#output": {} } }, + "com.amazonaws.inspector2#DeleteCodeSecurityIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#DeleteCodeSecurityIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#DeleteCodeSecurityIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes a code security integration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/integration/delete" + } + } + }, + "com.amazonaws.inspector2#DeleteCodeSecurityIntegrationRequest": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration to delete.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#DeleteCodeSecurityIntegrationResponse": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the deleted code security integration.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#DeleteCodeSecurityScanConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#DeleteCodeSecurityScanConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#DeleteCodeSecurityScanConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes a code security scan configuration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/delete" + } + } + }, + "com.amazonaws.inspector2#DeleteCodeSecurityScanConfigurationRequest": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration to delete.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#DeleteCodeSecurityScanConfigurationResponse": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the deleted scan configuration.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.inspector2#DeleteFilter": { "type": "operation", "input": { @@ -5038,7 +6238,7 @@ "maxAccountLimitReached": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Represents whether your organization has reached the maximum Amazon Web Services account limit for Amazon Inspector.

                              " + "smithy.api#documentation": "

                              Represents whether your organization has reached the maximum Amazon Web Services account limit for\n Amazon Inspector.

                              " } } } @@ -5121,7 +6321,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Disables Amazon Inspector scans for one or more Amazon Web Services accounts. Disabling all scan types in an account\n disables the Amazon Inspector service.

                              ", + "smithy.api#documentation": "

                              Disables Amazon Inspector scans for one or more Amazon Web Services accounts. Disabling all scan types in an\n account disables the Amazon Inspector service.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -5237,6 +6437,39 @@ } } }, + "com.amazonaws.inspector2#DisassociateConfigurationRequest": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration to disassociate from a code\n repository.

                              ", + "smithy.api#required": {} + } + }, + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details about a request to disassociate a code repository from a scan\n configuration.

                              " + } + }, + "com.amazonaws.inspector2#DisassociateConfigurationRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#DisassociateConfigurationRequest" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, "com.amazonaws.inspector2#DisassociateMember": { "type": "operation", "input": { @@ -5356,7 +6589,7 @@ "operatingSystems": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The operating system types to aggregate findings for. Valid values must be uppercase and\n underscore separated, examples are ORACLE_LINUX_7 and\n ALPINE_LINUX_3_8.

                              " + "smithy.api#documentation": "

                              The operating system types to aggregate findings for. Valid values must be uppercase and\n underscore separated, examples are ORACLE_LINUX_7 and\n ALPINE_LINUX_3_8.

                              " } }, "instanceIds": { @@ -5620,7 +6853,7 @@ "lastInUseAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or Amazon EKS pod.

                              " + "smithy.api#documentation": "

                              The last time an Amazon ECR image was used in an Amazon ECS task or\n Amazon EKS pod.

                              " } }, "inUseCount": { @@ -5733,7 +6966,7 @@ "rescanDuration": { "target": "com.amazonaws.inspector2#EcrRescanDuration", "traits": { - "smithy.api#documentation": "

                              The rescan duration configured for image push date.\n \n

                              " + "smithy.api#documentation": "

                              The rescan duration configured for image push date.

                              " } }, "status": { @@ -5745,7 +6978,7 @@ "updatedAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              A timestamp representing when the last time the ECR scan duration setting was changed.

                              " + "smithy.api#documentation": "

                              A timestamp representing when the last time the ECR scan duration setting was\n changed.

                              " } }, "pullDateRescanDuration": { @@ -5762,7 +6995,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Details about the state of your ECR re-scan duration settings. The ECR re-scan duration defines how long an ECR image will be actively scanned by Amazon Inspector. When the number of days since an image was last pushed exceeds the duration configured for image pull date, and the duration configured for image pull date, the monitoring state of that image becomes inactive and all associated findings are scheduled for closure.

                              " + "smithy.api#documentation": "

                              Details about the state of your ECR re-scan duration settings. The ECR re-scan duration\n defines how long an ECR image will be actively scanned by Amazon Inspector. When the number of days\n since an image was last pushed exceeds the duration configured for image pull date, and the\n duration configured for image pull date, the monitoring state of that image becomes\n inactive and all associated findings are scheduled for closure.

                              " } }, "com.amazonaws.inspector2#EcrRescanDurationStatus": { @@ -6183,7 +7416,7 @@ "lastKnownExploitAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              The date and time of the last exploit associated with a finding discovered in your environment.

                              " + "smithy.api#documentation": "

                              The date and time of the last exploit associated with a finding discovered in your\n environment.

                              " } } }, @@ -6267,31 +7500,66 @@ } } }, + "com.amazonaws.inspector2#FailedAssociationResult": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration that failed to be associated or\n disassociated.

                              " + } + }, + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource" + }, + "statusCode": { + "target": "com.amazonaws.inspector2#AssociationResultStatusCode", + "traits": { + "smithy.api#documentation": "

                              The status code indicating why the association or disassociation failed.

                              " + } + }, + "statusMessage": { + "target": "com.amazonaws.inspector2#AssociationResultStatusMessage", + "traits": { + "smithy.api#documentation": "

                              A message explaining why the association or disassociation failed.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Details about a failed attempt to associate or disassociate a code repository with a\n scan configuration.

                              " + } + }, + "com.amazonaws.inspector2#FailedAssociationResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#FailedAssociationResult" + } + }, "com.amazonaws.inspector2#FailedMemberAccountEc2DeepInspectionStatusState": { "type": "structure", "members": { "accountId": { "target": "com.amazonaws.inspector2#AccountId", "traits": { - "smithy.api#documentation": "

                              The unique identifier for the Amazon Web Services account of the organization member that failed to activate Amazon Inspector deep inspection.

                              ", + "smithy.api#documentation": "

                              The unique identifier for the Amazon Web Services account of the organization member that failed to\n activate Amazon Inspector deep inspection.

                              ", "smithy.api#required": {} } }, "ec2ScanStatus": { "target": "com.amazonaws.inspector2#Status", "traits": { - "smithy.api#documentation": "

                              The status of EC2 scanning in the account that failed to activate Amazon Inspector deep inspection.

                              " + "smithy.api#documentation": "

                              The status of EC2 scanning in the account that failed to activate Amazon Inspector deep\n inspection.

                              " } }, "errorMessage": { "target": "com.amazonaws.inspector2#NonEmptyString", "traits": { - "smithy.api#documentation": "

                              The error message explaining why the account failed to activate Amazon Inspector deep inspection.

                              " + "smithy.api#documentation": "

                              The error message explaining why the account failed to activate Amazon Inspector deep\n inspection.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              An object that contains details about a member account in your organization that failed to activate Amazon Inspector deep inspection.

                              " + "smithy.api#documentation": "

                              An object that contains details about a member account in your organization that failed\n to activate Amazon Inspector deep inspection.

                              " } }, "com.amazonaws.inspector2#FailedMemberAccountEc2DeepInspectionStatusStateList": { @@ -6462,7 +7730,7 @@ "updatedAt": { "target": "com.amazonaws.inspector2#DateFilterList", "traits": { - "smithy.api#documentation": "

                              Details on the date and time a finding was last updated at used to filter findings.

                              " + "smithy.api#documentation": "

                              Details on the date and time a finding was last updated at used to filter\n findings.

                              " } }, "findingStatus": { @@ -6564,7 +7832,7 @@ "ecrImageInUseCount": { "target": "com.amazonaws.inspector2#NumberFilterList", "traits": { - "smithy.api#documentation": "

                              Filter criteria indicating when details for an Amazon ECR image include when an Amazon ECR image is in use.

                              " + "smithy.api#documentation": "

                              Filter criteria indicating when details for an Amazon ECR image include when an\n Amazon ECR image is in use.

                              " } }, "portRange": { @@ -6624,31 +7892,31 @@ "fixAvailable": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              Details on whether a fix is available through a version update. This value can be YES, NO, or PARTIAL. A PARTIAL fix means that some, but not all, of the packages identified in the finding have fixes available through updated versions.

                              " + "smithy.api#documentation": "

                              Details on whether a fix is available through a version update. This value can be\n YES, NO, or PARTIAL. A PARTIAL fix\n means that some, but not all, of the packages identified in the finding have fixes\n available through updated versions.

                              " } }, "lambdaFunctionName": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the name of the function.

                              " + "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the name of the\n function.

                              " } }, "lambdaFunctionLayers": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the function's \n layers. A Lambda function can have up to five layers.

                              " + "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the function's layers. A\n Lambda function can have up to five layers.

                              " } }, "lambdaFunctionRuntime": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the runtime environment for the Lambda function.

                              " + "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the runtime environment for\n the Lambda function.

                              " } }, "lambdaFunctionLastModifiedAt": { "target": "com.amazonaws.inspector2#DateFilterList", "traits": { - "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the date and time that a user last updated the configuration, in ISO 8601 format\n

                              " + "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda functions by the date and time that a user\n last updated the configuration, in ISO 8601\n format\n

                              " } }, "lambdaFunctionExecutionRoleArn": { @@ -6660,25 +7928,25 @@ "exploitAvailable": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda findings by the availability of exploits.

                              " + "smithy.api#documentation": "

                              Filters the list of Amazon Web Services Lambda findings by the availability of\n exploits.

                              " } }, "codeVulnerabilityDetectorName": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The name of the detector used to identify a code vulnerability in a Lambda function used to filter findings.

                              " + "smithy.api#documentation": "

                              The name of the detector used to identify a code vulnerability in a Lambda function used\n to filter findings.

                              " } }, "codeVulnerabilityDetectorTags": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The detector type tag associated with the vulnerability used to filter findings. Detector tags group related vulnerabilities by common themes or tactics. For a list of available tags by programming language, see Java tags, or Python tags.

                              " + "smithy.api#documentation": "

                              The detector type tag associated with the vulnerability used to filter findings.\n Detector tags group related vulnerabilities by common themes or tactics. For a list of\n available tags by programming language, see Java tags, or Python tags.\n

                              " } }, "codeVulnerabilityFilePath": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The file path to the file in a Lambda function that contains a code vulnerability used to filter findings.

                              " + "smithy.api#documentation": "

                              The file path to the file in a Lambda function that contains a code vulnerability used\n to filter findings.

                              " } }, "epssScore": { @@ -6686,6 +7954,18 @@ "traits": { "smithy.api#documentation": "

                              The EPSS score used to filter findings.

                              " } + }, + "codeRepositoryProjectName": { + "target": "com.amazonaws.inspector2#StringFilterList", + "traits": { + "smithy.api#documentation": "

                              Filter criteria for findings based on the project name in a code repository.

                              " + } + }, + "codeRepositoryProviderType": { + "target": "com.amazonaws.inspector2#StringFilterList", + "traits": { + "smithy.api#documentation": "

                              Filter criteria for findings based on the repository provider type (such as GitHub,\n GitLab, etc.).

                              " + } } }, "traits": { @@ -6745,7 +8025,7 @@ "type": { "target": "com.amazonaws.inspector2#FindingType", "traits": { - "smithy.api#documentation": "

                              The type of the finding. The type value determines the valid values for resource in your request. For more information, see Finding types in the Amazon Inspector user guide.

                              ", + "smithy.api#documentation": "

                              The type of the finding. The type value determines the valid values for\n resource in your request. For more information, see Finding\n types in the Amazon Inspector user guide.

                              ", "smithy.api#required": {} } }, @@ -6772,7 +8052,7 @@ "severity": { "target": "com.amazonaws.inspector2#Severity", "traits": { - "smithy.api#documentation": "

                              The severity of the finding. UNTRIAGED applies to PACKAGE_VULNERABILITY type findings that the vendor has not assigned a severity yet. For more information, see Severity levels for findings in the Amazon Inspector user guide.

                              ", + "smithy.api#documentation": "

                              The severity of the finding. UNTRIAGED applies to\n PACKAGE_VULNERABILITY type findings that the vendor has not assigned a\n severity yet. For more information, see Severity levels for findings in the Amazon Inspector user guide.

                              ", "smithy.api#required": {} } }, @@ -6786,7 +8066,7 @@ "lastObservedAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              \n The date and time the finding was last observed. \n This timestamp for this field remains unchanged until a finding is updated.\n

                              ", + "smithy.api#documentation": "

                              The date and time the finding was last observed. This timestamp for this field remains\n unchanged until a finding is updated.

                              ", "smithy.api#required": {} } }, @@ -6806,7 +8086,7 @@ "resources": { "target": "com.amazonaws.inspector2#ResourceList", "traits": { - "smithy.api#documentation": "

                              Contains information on the resources involved in a finding. The resource value determines the valid values for type in your request. For more information, see Finding types in the Amazon Inspector user guide.

                              ", + "smithy.api#documentation": "

                              Contains information on the resources involved in a finding. The resource\n value determines the valid values for type in your request. For more\n information, see Finding\n types in the Amazon Inspector user guide.

                              ", "smithy.api#required": {} } }, @@ -6837,7 +8117,7 @@ "fixAvailable": { "target": "com.amazonaws.inspector2#FixAvailable", "traits": { - "smithy.api#documentation": "

                              Details on whether a fix is available through a version update. This value can be YES, NO, or PARTIAL. A PARTIAL fix means that some, but not all, of the packages identified in the finding have fixes available through updated versions.

                              " + "smithy.api#documentation": "

                              Details on whether a fix is available through a version update. This value can be\n YES, NO, or PARTIAL. A PARTIAL fix\n means that some, but not all, of the packages identified in the finding have fixes\n available through updated versions.

                              " } }, "exploitAvailable": { @@ -6855,7 +8135,7 @@ "codeVulnerabilityDetails": { "target": "com.amazonaws.inspector2#CodeVulnerabilityDetails", "traits": { - "smithy.api#documentation": "

                              Details about the code vulnerability identified in a Lambda function used to filter findings.

                              " + "smithy.api#documentation": "

                              Details about the code vulnerability identified in a Lambda function used to filter\n findings.

                              " } }, "epss": { @@ -6918,7 +8198,7 @@ "cisaData": { "target": "com.amazonaws.inspector2#CisaData", "traits": { - "smithy.api#documentation": "

                              The Cybersecurity and Infrastructure Security Agency (CISA) details for a specific vulnerability.

                              " + "smithy.api#documentation": "

                              The Cybersecurity and Infrastructure Security Agency (CISA) details for a specific\n vulnerability.

                              " } }, "riskScore": { @@ -6936,7 +8216,7 @@ "ttps": { "target": "com.amazonaws.inspector2#Ttps", "traits": { - "smithy.api#documentation": "

                              The MITRE adversary tactics, techniques, or procedures (TTPs) associated with the vulnerability.

                              " + "smithy.api#documentation": "

                              The MITRE adversary tactics, techniques, or procedures (TTPs) associated with the\n vulnerability.

                              " } }, "tools": { @@ -7011,7 +8291,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Details about an error encountered when trying to return vulnerability data for a finding.

                              " + "smithy.api#documentation": "

                              Details about an error encountered when trying to return vulnerability data for a\n finding.

                              " } }, "com.amazonaws.inspector2#FindingDetailsErrorCode": { @@ -7157,7 +8437,7 @@ "fixAvailableCount": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

                              \n Details about the number of fixes.\n

                              " + "smithy.api#documentation": "

                              Details about the number of fixes.

                              " } } }, @@ -7296,7 +8576,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Information about an error received while accessing free trail data for an account.

                              " + "smithy.api#documentation": "

                              Information about an error received while accessing free trail data for an\n account.

                              " } }, "com.amazonaws.inspector2#FreeTrialInfoErrorCode": { @@ -7360,10 +8640,23 @@ { "name": "LAMBDA_CODE", "value": "LAMBDA_CODE" + }, + { + "name": "CODE_REPOSITORY", + "value": "CODE_REPOSITORY" } ] } }, + "com.amazonaws.inspector2#FrequencyExpression": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, "com.amazonaws.inspector2#FunctionName": { "type": "string", "traits": { @@ -7437,7 +8730,7 @@ "target": "com.amazonaws.inspector2#CisReportFormat", "traits": { "smithy.api#default": "PDF", - "smithy.api#documentation": "

                              \n The format of the report. \n Valid values are PDF and CSV. \n If no value is specified, the report format defaults to PDF.\n

                              " + "smithy.api#documentation": "

                              The format of the report. Valid values are PDF and CSV. If no\n value is specified, the report format defaults to PDF.

                              " } } }, @@ -7451,7 +8744,7 @@ "url": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              \n The URL where a PDF or CSV of the CIS scan report can be downloaded.\n

                              " + "smithy.api#documentation": "

                              The URL where a PDF or CSV of the CIS scan report can be downloaded.

                              " } }, "status": { @@ -7537,80 +8830,302 @@ } } }, - "com.amazonaws.inspector2#GetCisScanResultDetailsRequest": { + "com.amazonaws.inspector2#GetCisScanResultDetailsRequest": { + "type": "structure", + "members": { + "scanArn": { + "target": "com.amazonaws.inspector2#CisScanArn", + "traits": { + "smithy.api#documentation": "

                              The scan ARN.

                              ", + "smithy.api#required": {} + } + }, + "targetResourceId": { + "target": "com.amazonaws.inspector2#ResourceId", + "traits": { + "smithy.api#documentation": "

                              The target resource ID.

                              ", + "smithy.api#required": {} + } + }, + "accountId": { + "target": "com.amazonaws.inspector2#AccountId", + "traits": { + "smithy.api#documentation": "

                              The account ID.

                              ", + "smithy.api#required": {} + } + }, + "filterCriteria": { + "target": "com.amazonaws.inspector2#CisScanResultDetailsFilterCriteria", + "traits": { + "smithy.api#documentation": "

                              The filter criteria.

                              " + } + }, + "sortBy": { + "target": "com.amazonaws.inspector2#CisScanResultDetailsSortBy", + "traits": { + "smithy.api#default": "CHECK_ID", + "smithy.api#documentation": "

                              The sort by order.

                              " + } + }, + "sortOrder": { + "target": "com.amazonaws.inspector2#CisSortOrder", + "traits": { + "smithy.api#documentation": "

                              The sort order.

                              " + } + }, + "nextToken": { + "target": "com.amazonaws.inspector2#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " + } + }, + "maxResults": { + "target": "com.amazonaws.inspector2#GetCisScanResultDetailsMaxResults", + "traits": { + "smithy.api#default": 300, + "smithy.api#documentation": "

                              The maximum number of CIS scan result details to be returned in a single page of\n results.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#GetCisScanResultDetailsResponse": { + "type": "structure", + "members": { + "scanResultDetails": { + "target": "com.amazonaws.inspector2#CisScanResultDetailsList", + "traits": { + "smithy.api#documentation": "

                              The scan result details.

                              " + } + }, + "nextToken": { + "target": "com.amazonaws.inspector2#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#GetClustersForImage": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#GetClustersForImageRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#GetClustersForImageResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns a list of clusters and metadata associated with an image.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/cluster/get" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "cluster" + } + } + }, + "com.amazonaws.inspector2#GetClustersForImageNextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3000 + } + } + }, + "com.amazonaws.inspector2#GetClustersForImageRequest": { + "type": "structure", + "members": { + "filter": { + "target": "com.amazonaws.inspector2#ClusterForImageFilterCriteria", + "traits": { + "smithy.api#documentation": "

                              The resource Id for the Amazon ECR image.

                              ", + "smithy.api#required": {} + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to be returned in a single page of results.

                              ", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "nextToken": { + "target": "com.amazonaws.inspector2#GetClustersForImageNextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request used to retrieve the next page of\n results.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#GetClustersForImageResponse": { + "type": "structure", + "members": { + "cluster": { + "target": "com.amazonaws.inspector2#ClusterInformationList", + "traits": { + "smithy.api#documentation": "

                              A unit of work inside of a cluster, which can include metadata about the cluster.

                              ", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.inspector2#GetClustersForImageNextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request used to retrieve the next page of\n results.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#GetCodeSecurityIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#GetCodeSecurityIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#GetCodeSecurityIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Retrieves information about a code security integration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/integration/get" + } + } + }, + "com.amazonaws.inspector2#GetCodeSecurityIntegrationRequest": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration to retrieve.

                              ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.inspector2#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags associated with the code security integration.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#GetCodeSecurityIntegrationResponse": { "type": "structure", "members": { - "scanArn": { - "target": "com.amazonaws.inspector2#CisScanArn", + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", "traits": { - "smithy.api#documentation": "

                              The scan ARN.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration.

                              ", "smithy.api#required": {} } }, - "targetResourceId": { - "target": "com.amazonaws.inspector2#ResourceId", + "name": { + "target": "com.amazonaws.inspector2#IntegrationName", "traits": { - "smithy.api#documentation": "

                              The target resource ID.

                              ", + "smithy.api#documentation": "

                              The name of the code security integration.

                              ", "smithy.api#required": {} } }, - "accountId": { - "target": "com.amazonaws.inspector2#AccountId", + "type": { + "target": "com.amazonaws.inspector2#IntegrationType", "traits": { - "smithy.api#documentation": "

                              The account ID.

                              ", + "smithy.api#documentation": "

                              The type of repository provider for the integration.

                              ", "smithy.api#required": {} } }, - "filterCriteria": { - "target": "com.amazonaws.inspector2#CisScanResultDetailsFilterCriteria", + "status": { + "target": "com.amazonaws.inspector2#IntegrationStatus", "traits": { - "smithy.api#documentation": "

                              The filter criteria.

                              " + "smithy.api#documentation": "

                              The current status of the code security integration.

                              ", + "smithy.api#required": {} } }, - "sortBy": { - "target": "com.amazonaws.inspector2#CisScanResultDetailsSortBy", + "statusReason": { + "target": "smithy.api#String", "traits": { - "smithy.api#default": "CHECK_ID", - "smithy.api#documentation": "

                              The sort by order.

                              " + "smithy.api#documentation": "

                              The reason for the current status of the code security integration.

                              ", + "smithy.api#required": {} } }, - "sortOrder": { - "target": "com.amazonaws.inspector2#CisSortOrder", + "createdOn": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              The sort order.

                              " + "smithy.api#documentation": "

                              The timestamp when the code security integration was created.

                              ", + "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.inspector2#NextToken", + "lastUpdateOn": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The timestamp when the code security integration was last updated.

                              ", + "smithy.api#required": {} } }, - "maxResults": { - "target": "com.amazonaws.inspector2#GetCisScanResultDetailsMaxResults", - "traits": { - "smithy.api#default": 300, - "smithy.api#documentation": "

                              The maximum number of CIS scan result details to be returned in a single page of results.

                              " - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.inspector2#GetCisScanResultDetailsResponse": { - "type": "structure", - "members": { - "scanResultDetails": { - "target": "com.amazonaws.inspector2#CisScanResultDetailsList", + "tags": { + "target": "com.amazonaws.inspector2#TagMap", "traits": { - "smithy.api#documentation": "

                              The scan result details.

                              " + "smithy.api#documentation": "

                              The tags associated with the code security integration.

                              " } }, - "nextToken": { - "target": "com.amazonaws.inspector2#NextToken", + "authorizationUrl": { + "target": "com.amazonaws.inspector2#AuthorizationUrl", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The URL used to authorize the integration with the repository provider. This is only\n returned if reauthorization is required to fix a connection issue. Otherwise, it is\n null.

                              " } } }, @@ -7618,21 +9133,27 @@ "smithy.api#output": {} } }, - "com.amazonaws.inspector2#GetClustersForImage": { + "com.amazonaws.inspector2#GetCodeSecurityScan": { "type": "operation", "input": { - "target": "com.amazonaws.inspector2#GetClustersForImageRequest" + "target": "com.amazonaws.inspector2#GetCodeSecurityScanRequest" }, "output": { - "target": "com.amazonaws.inspector2#GetClustersForImageResponse" + "target": "com.amazonaws.inspector2#GetCodeSecurityScanResponse" }, "errors": [ { "target": "com.amazonaws.inspector2#AccessDeniedException" }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, { "target": "com.amazonaws.inspector2#InternalServerException" }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, { "target": "com.amazonaws.inspector2#ThrottlingException" }, @@ -7641,74 +9162,191 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of clusters and metadata associated with an image.

                              ", + "smithy.api#documentation": "

                              Retrieves information about a specific code security scan.

                              ", "smithy.api#http": { "code": 200, "method": "POST", - "uri": "/cluster/get" + "uri": "/codesecurity/scan/get" }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "cluster" - } + "smithy.api#readonly": {} } }, - "com.amazonaws.inspector2#GetClustersForImageNextToken": { - "type": "string", + "com.amazonaws.inspector2#GetCodeSecurityScanConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#GetCodeSecurityScanConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#GetCodeSecurityScanConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], "traits": { - "smithy.api#length": { - "min": 1, - "max": 3000 + "smithy.api#documentation": "

                              Retrieves information about a code security scan configuration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/get" } } }, - "com.amazonaws.inspector2#GetClustersForImageRequest": { + "com.amazonaws.inspector2#GetCodeSecurityScanConfigurationRequest": { "type": "structure", "members": { - "filter": { - "target": "com.amazonaws.inspector2#ClusterForImageFilterCriteria", + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", "traits": { - "smithy.api#documentation": "

                              The resource Id for the Amazon ECR image.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration to retrieve.

                              ", "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#GetCodeSecurityScanConfigurationResponse": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration.

                              " + } }, - "maxResults": { - "target": "smithy.api#Integer", + "name": { + "target": "com.amazonaws.inspector2#ScanConfigurationName", "traits": { - "smithy.api#documentation": "

                              The maximum number of results to be returned in a single page of results.

                              ", - "smithy.api#range": { - "min": 1, - "max": 100 - } + "smithy.api#documentation": "

                              The name of the scan configuration.

                              " } }, - "nextToken": { - "target": "com.amazonaws.inspector2#GetClustersForImageNextToken", + "configuration": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfiguration", + "traits": { + "smithy.api#documentation": "

                              The configuration settings for the code security scan.

                              " + } + }, + "level": { + "target": "com.amazonaws.inspector2#ConfigurationLevel", + "traits": { + "smithy.api#documentation": "

                              The security level for the scan configuration.

                              " + } + }, + "scopeSettings": { + "target": "com.amazonaws.inspector2#ScopeSettings", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The scope settings that define which repositories will be scanned. If the\n ScopeSetting parameter is ALL the scan configuration applies\n to all existing and future projects imported into Amazon Inspector.

                              " + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the scan configuration was created.

                              " + } + }, + "lastUpdatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the scan configuration was last updated.

                              " + } + }, + "tags": { + "target": "com.amazonaws.inspector2#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags associated with the scan configuration.

                              " } } }, "traits": { - "smithy.api#input": {} + "smithy.api#output": {} } }, - "com.amazonaws.inspector2#GetClustersForImageResponse": { + "com.amazonaws.inspector2#GetCodeSecurityScanRequest": { "type": "structure", "members": { - "cluster": { - "target": "com.amazonaws.inspector2#ClusterInformationList", + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource", "traits": { - "smithy.api#documentation": "

                              A unit of work inside of a cluster, which can include metadata about the cluster.

                              ", + "smithy.api#documentation": "

                              The resource identifier for the code repository that was scanned.

                              ", "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.inspector2#GetClustersForImageNextToken", + "scanId": { + "target": "com.amazonaws.inspector2#CodeSecurityUuid", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the scan to retrieve.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#GetCodeSecurityScanResponse": { + "type": "structure", + "members": { + "scanId": { + "target": "com.amazonaws.inspector2#CodeSecurityUuid", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the scan.

                              " + } + }, + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource", + "traits": { + "smithy.api#documentation": "

                              The resource identifier for the code repository that was scanned.

                              " + } + }, + "accountId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services account ID associated with the scan.

                              " + } + }, + "status": { + "target": "com.amazonaws.inspector2#CodeScanStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the scan.

                              " + } + }, + "statusReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              The reason for the current status of the scan.

                              " + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the scan was created.

                              " + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the scan was last updated.

                              " + } + }, + "lastCommitId": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The identifier of the last commit that was scanned. This is only returned if the scan\n was successful or skipped.

                              " } } }, @@ -7754,13 +9392,13 @@ "ecrConfiguration": { "target": "com.amazonaws.inspector2#EcrConfigurationState", "traits": { - "smithy.api#documentation": "

                              Specifies how the ECR automated re-scan duration is currently configured for your environment.

                              " + "smithy.api#documentation": "

                              Specifies how the ECR automated re-scan duration is currently configured for your\n environment.

                              " } }, "ec2Configuration": { "target": "com.amazonaws.inspector2#Ec2ConfigurationState", "traits": { - "smithy.api#documentation": "

                              Specifies how the Amazon EC2 automated scan mode is currently configured for your environment.

                              " + "smithy.api#documentation": "

                              Specifies how the Amazon EC2 automated scan mode is currently configured for your\n environment.

                              " } } } @@ -7837,7 +9475,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves the activation status of Amazon Inspector deep inspection and custom paths associated with your account. \n

                              ", + "smithy.api#documentation": "

                              Retrieves the activation status of Amazon Inspector deep inspection and custom paths associated\n with your account.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -7876,7 +9514,7 @@ "errorMessage": { "target": "com.amazonaws.inspector2#NonEmptyString", "traits": { - "smithy.api#documentation": "

                              An error message explaining why Amazon Inspector deep inspection configurations could not be retrieved for your account.

                              " + "smithy.api#documentation": "

                              An error message explaining why Amazon Inspector deep inspection configurations could not be\n retrieved for your account.

                              " } } }, @@ -8193,7 +9831,7 @@ "filterCriteria": { "target": "com.amazonaws.inspector2#ResourceFilterCriteria", "traits": { - "smithy.api#documentation": "

                              Contains details about the resource filter criteria used for the software bill of materials (SBOM) report.

                              " + "smithy.api#documentation": "

                              Contains details about the resource filter criteria used for the software bill of\n materials (SBOM) report.

                              " } } }, @@ -8201,6 +9839,41 @@ "smithy.api#output": {} } }, + "com.amazonaws.inspector2#GitHubAuthCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.inspector2#GitHubInstallationId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.inspector2#GitLabAccessToken": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.inspector2#GitLabAuthCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.inspector2#GroupKey": { "type": "string", "traits": { @@ -8303,7 +9976,7 @@ "accountId": { "target": "com.amazonaws.inspector2#AccountId", "traits": { - "smithy.api#documentation": "

                              The ID of the Amazon Web Services account that owns the container image hosting the layer image.

                              ", + "smithy.api#documentation": "

                              The ID of the Amazon Web Services account that owns the container image hosting the layer\n image.

                              ", "smithy.api#required": {} } }, @@ -8350,6 +10023,12 @@ { "target": "com.amazonaws.inspector2#AssociateMember" }, + { + "target": "com.amazonaws.inspector2#BatchAssociateCodeSecurityScanConfiguration" + }, + { + "target": "com.amazonaws.inspector2#BatchDisassociateCodeSecurityScanConfiguration" + }, { "target": "com.amazonaws.inspector2#BatchGetAccountStatus" }, @@ -8377,6 +10056,12 @@ { "target": "com.amazonaws.inspector2#CreateCisScanConfiguration" }, + { + "target": "com.amazonaws.inspector2#CreateCodeSecurityIntegration" + }, + { + "target": "com.amazonaws.inspector2#CreateCodeSecurityScanConfiguration" + }, { "target": "com.amazonaws.inspector2#CreateFilter" }, @@ -8389,6 +10074,12 @@ { "target": "com.amazonaws.inspector2#DeleteCisScanConfiguration" }, + { + "target": "com.amazonaws.inspector2#DeleteCodeSecurityIntegration" + }, + { + "target": "com.amazonaws.inspector2#DeleteCodeSecurityScanConfiguration" + }, { "target": "com.amazonaws.inspector2#DeleteFilter" }, @@ -8411,13 +10102,22 @@ "target": "com.amazonaws.inspector2#EnableDelegatedAdminAccount" }, { - "target": "com.amazonaws.inspector2#GetCisScanReport" + "target": "com.amazonaws.inspector2#GetCisScanReport" + }, + { + "target": "com.amazonaws.inspector2#GetCisScanResultDetails" + }, + { + "target": "com.amazonaws.inspector2#GetClustersForImage" + }, + { + "target": "com.amazonaws.inspector2#GetCodeSecurityIntegration" }, { - "target": "com.amazonaws.inspector2#GetCisScanResultDetails" + "target": "com.amazonaws.inspector2#GetCodeSecurityScan" }, { - "target": "com.amazonaws.inspector2#GetClustersForImage" + "target": "com.amazonaws.inspector2#GetCodeSecurityScanConfiguration" }, { "target": "com.amazonaws.inspector2#GetConfiguration" @@ -8455,6 +10155,15 @@ { "target": "com.amazonaws.inspector2#ListCisScans" }, + { + "target": "com.amazonaws.inspector2#ListCodeSecurityIntegrations" + }, + { + "target": "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationAssociations" + }, + { + "target": "com.amazonaws.inspector2#ListCodeSecurityScanConfigurations" + }, { "target": "com.amazonaws.inspector2#ListCoverage" }, @@ -8497,6 +10206,9 @@ { "target": "com.amazonaws.inspector2#StartCisSession" }, + { + "target": "com.amazonaws.inspector2#StartCodeSecurityScan" + }, { "target": "com.amazonaws.inspector2#StopCisSession" }, @@ -8509,6 +10221,12 @@ { "target": "com.amazonaws.inspector2#UpdateCisScanConfiguration" }, + { + "target": "com.amazonaws.inspector2#UpdateCodeSecurityIntegration" + }, + { + "target": "com.amazonaws.inspector2#UpdateCodeSecurityScanConfiguration" + }, { "target": "com.amazonaws.inspector2#UpdateConfiguration" }, @@ -9424,6 +11142,88 @@ "smithy.api#documentation": "

                              Information about the Amazon Inspector score given to a finding.

                              " } }, + "com.amazonaws.inspector2#InstanceUrl": { + "type": "string", + "traits": { + "smithy.api#pattern": "^https://[-a-zA-Z0-9()@:%_+.~#?&//=]{1,1024}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.inspector2#IntegrationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 60 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-_$:.]*$" + } + }, + "com.amazonaws.inspector2#IntegrationStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "INACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACTIVE" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + } + } + }, + "com.amazonaws.inspector2#IntegrationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationSummary" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.inspector2#IntegrationType": { + "type": "enum", + "members": { + "GITLAB_SELF_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GITLAB_SELF_MANAGED" + } + }, + "GITHUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GITHUB" + } + } + } + }, "com.amazonaws.inspector2#InternalServerException": { "type": "structure", "members": { @@ -9497,13 +11297,13 @@ "functionNames": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services Lambda function names to include in the aggregation results.

                              " + "smithy.api#documentation": "

                              The Amazon Web Services Lambda function names to include in the aggregation\n results.

                              " } }, "runtimes": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              Returns findings aggregated by Amazon Web Services Lambda function runtime environments.

                              " + "smithy.api#documentation": "

                              Returns findings aggregated by Amazon Web Services Lambda function runtime\n environments.

                              " } }, "functionTags": { @@ -9526,7 +11326,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The details that define a findings aggregation based on Amazon Web Services Lambda functions.

                              " + "smithy.api#documentation": "

                              The details that define a findings aggregation based on Amazon Web Services Lambda\n functions.

                              " } }, "com.amazonaws.inspector2#LambdaFunctionAggregationResponse": { @@ -9560,7 +11360,7 @@ "accountId": { "target": "com.amazonaws.inspector2#AccountId", "traits": { - "smithy.api#documentation": "

                              The ID of the Amazon Web Services account that owns the Amazon Web Services Lambda function.\n

                              " + "smithy.api#documentation": "

                              The ID of the Amazon Web Services account that owns the Amazon Web Services Lambda\n function.

                              " } }, "severityCounts": { @@ -9572,12 +11372,12 @@ "lastModifiedAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              The date that the Amazon Web Services Lambda function included in the aggregation results was last changed.

                              " + "smithy.api#documentation": "

                              The date that the Amazon Web Services Lambda function included in the aggregation results\n was last changed.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              A response that contains the results of an Amazon Web Services Lambda function finding aggregation.

                              " + "smithy.api#documentation": "

                              A response that contains the results of an Amazon Web Services Lambda function finding\n aggregation.

                              " } }, "com.amazonaws.inspector2#LambdaFunctionMetadata": { @@ -9592,7 +11392,7 @@ "layers": { "target": "com.amazonaws.inspector2#LambdaLayerList", "traits": { - "smithy.api#documentation": "

                              The layers for an Amazon Web Services Lambda function. A Lambda function can have up to five layers.

                              " + "smithy.api#documentation": "

                              The layers for an Amazon Web Services Lambda function. A Lambda function can have up to\n five layers.

                              " } }, "functionName": { @@ -9649,7 +11449,7 @@ "layerArns": { "target": "com.amazonaws.inspector2#StringFilterList", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon Web Services Lambda function layer.\n

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon Web Services Lambda function layer.

                              " } }, "sortOrder": { @@ -9666,7 +11466,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The details that define a findings aggregation based on an Amazon Web Services Lambda function's layers.

                              " + "smithy.api#documentation": "

                              The details that define a findings aggregation based on an Amazon Web Services Lambda\n function's layers.

                              " } }, "com.amazonaws.inspector2#LambdaLayerAggregationResponse": { @@ -9708,7 +11508,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A response that contains the results of an Amazon Web Services Lambda function layer finding aggregation.

                              " + "smithy.api#documentation": "

                              A response that contains the results of an Amazon Web Services Lambda function layer\n finding aggregation.

                              " } }, "com.amazonaws.inspector2#LambdaLayerArn": { @@ -9760,7 +11560,7 @@ "securityGroupIds": { "target": "com.amazonaws.inspector2#SecurityGroupIdList", "traits": { - "smithy.api#documentation": "

                              The VPC security groups and subnets that are attached to an Amazon Web Services Lambda function. For more information, see VPC Settings.

                              " + "smithy.api#documentation": "

                              The VPC security groups and subnets that are attached to an Amazon Web Services Lambda\n function. For more information, see VPC Settings.

                              " } }, "vpcId": { @@ -9771,7 +11571,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The VPC security groups and subnets that are attached to an Amazon Web Services Lambda function. For more information, see VPC Settings.

                              " + "smithy.api#documentation": "

                              The VPC security groups and subnets that are attached to an Amazon Web Services Lambda\n function. For more information, see VPC Settings.

                              " } }, "com.amazonaws.inspector2#LastSeen": { @@ -9847,13 +11647,13 @@ "maxResults": { "target": "com.amazonaws.inspector2#ListAccountPermissionsMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the NextToken value returned\n from the previous request to continue listing results after the first page.

                              " } } } @@ -10007,14 +11807,14 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " } }, "maxResults": { "target": "com.amazonaws.inspector2#ListCisScanConfigurationsMaxResults", "traits": { "smithy.api#default": 100, - "smithy.api#documentation": "

                              The maximum number of CIS scan configurations to be returned in a single page of results.

                              " + "smithy.api#documentation": "

                              The maximum number of CIS scan configurations to be returned in a single page of\n results.

                              " } } }, @@ -10034,7 +11834,7 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " } } }, @@ -10137,14 +11937,14 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " } }, "maxResults": { "target": "com.amazonaws.inspector2#CisScanResultsMaxResults", "traits": { "smithy.api#default": 100, - "smithy.api#documentation": "

                              The maximum number of scan results aggregated by checks to be returned in a single page of results.

                              " + "smithy.api#documentation": "

                              The maximum number of scan results aggregated by checks to be returned in a single page\n of results.

                              " } } }, @@ -10164,7 +11964,7 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " } } }, @@ -10270,14 +12070,14 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " } }, "maxResults": { "target": "com.amazonaws.inspector2#CisScanResultsMaxResults", "traits": { "smithy.api#default": 100, - "smithy.api#documentation": "

                              The maximum number of scan results aggregated by a target resource to be returned in a single page of results.

                              " + "smithy.api#documentation": "

                              The maximum number of scan results aggregated by a target resource to be returned in a\n single page of results.

                              " } } }, @@ -10297,7 +12097,7 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " } } }, @@ -10467,45 +12267,238 @@ } } }, - "com.amazonaws.inspector2#ListCisScansRequest": { + "com.amazonaws.inspector2#ListCisScansRequest": { + "type": "structure", + "members": { + "filterCriteria": { + "target": "com.amazonaws.inspector2#ListCisScansFilterCriteria", + "traits": { + "smithy.api#documentation": "

                              The CIS scan filter criteria.

                              " + } + }, + "detailLevel": { + "target": "com.amazonaws.inspector2#ListCisScansDetailLevel", + "traits": { + "smithy.api#documentation": "

                              The detail applied to the CIS scan.

                              " + } + }, + "sortBy": { + "target": "com.amazonaws.inspector2#ListCisScansSortBy", + "traits": { + "smithy.api#default": "SCAN_START_DATE", + "smithy.api#documentation": "

                              The CIS scans sort by order.

                              " + } + }, + "sortOrder": { + "target": "com.amazonaws.inspector2#CisSortOrder", + "traits": { + "smithy.api#documentation": "

                              The CIS scans sort order.

                              " + } + }, + "nextToken": { + "target": "com.amazonaws.inspector2#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " + } + }, + "maxResults": { + "target": "com.amazonaws.inspector2#ListCisScansMaxResults", + "traits": { + "smithy.api#default": 100, + "smithy.api#documentation": "

                              The maximum number of results to be returned.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#ListCisScansResponse": { + "type": "structure", + "members": { + "scans": { + "target": "com.amazonaws.inspector2#CisScanList", + "traits": { + "smithy.api#documentation": "

                              The CIS scans.

                              " + } + }, + "nextToken": { + "target": "com.amazonaws.inspector2#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of\n results.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#ListCisScansSortBy": { + "type": "enum", + "members": { + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STATUS" + } + }, + "SCHEDULED_BY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCHEDULED_BY" + } + }, + "SCAN_START_DATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCAN_START_DATE" + } + }, + "FAILED_CHECKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_CHECKS" + } + } + } + }, + "com.amazonaws.inspector2#ListCodeSecurityIntegrations": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#ListCodeSecurityIntegrationsRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#ListCodeSecurityIntegrationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Lists all code security integrations in your account.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/integration/list" + } + } + }, + "com.amazonaws.inspector2#ListCodeSecurityIntegrationsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request. For subsequent calls, use the NextToken\n value returned from the previous request to continue listing results after the first\n page.

                              ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return in a single call.

                              ", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#ListCodeSecurityIntegrationsResponse": { + "type": "structure", + "members": { + "integrations": { + "target": "com.amazonaws.inspector2#IntegrationSummaries", + "traits": { + "smithy.api#documentation": "

                              A list of code security integration summaries.

                              " + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request. For subsequent calls, use the NextToken\n value returned from the previous request to continue listing results after the first\n page.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Lists the associations between code repositories and Amazon Inspector code security scan\n configurations.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/associations/list" + } + } + }, + "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationAssociationsRequest": { "type": "structure", "members": { - "filterCriteria": { - "target": "com.amazonaws.inspector2#ListCisScansFilterCriteria", - "traits": { - "smithy.api#documentation": "

                              The CIS scan filter criteria.

                              " - } - }, - "detailLevel": { - "target": "com.amazonaws.inspector2#ListCisScansDetailLevel", - "traits": { - "smithy.api#documentation": "

                              The detail applied to the CIS scan.

                              " - } - }, - "sortBy": { - "target": "com.amazonaws.inspector2#ListCisScansSortBy", - "traits": { - "smithy.api#default": "SCAN_START_DATE", - "smithy.api#documentation": "

                              The CIS scans sort by order.

                              " - } - }, - "sortOrder": { - "target": "com.amazonaws.inspector2#CisSortOrder", + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", "traits": { - "smithy.api#documentation": "

                              The CIS scans sort order.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration to list associations\n for.

                              ", + "smithy.api#required": {} } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. For subsequent calls, use\n the NextToken value returned from the previous request to continue listing\n results after the first page.

                              ", + "smithy.api#httpQuery": "nextToken" } }, "maxResults": { - "target": "com.amazonaws.inspector2#ListCisScansMaxResults", + "target": "smithy.api#Integer", "traits": { - "smithy.api#default": 100, - "smithy.api#documentation": "

                              The maximum number of results to be returned.

                              " + "smithy.api#documentation": "

                              The maximum number of results to return in the response. If your request would return\n more than the maximum the response will return a nextToken value, use this\n value when you call the action again to get the remaining results.

                              ", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 100 + } } } }, @@ -10513,19 +12506,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.inspector2#ListCisScansResponse": { + "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationAssociationsResponse": { "type": "structure", "members": { - "scans": { - "target": "com.amazonaws.inspector2#CisScanList", + "associations": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfigurationAssociationSummaries", "traits": { - "smithy.api#documentation": "

                              The CIS scans.

                              " + "smithy.api#documentation": "

                              A list of associations between code repositories and scan configurations.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination token from a previous request that's used to retrieve the next page of results.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. For subsequent calls, use\n the NextToken value returned from the previous request to continue listing\n results after the first page.

                              " } } }, @@ -10533,33 +12526,84 @@ "smithy.api#output": {} } }, - "com.amazonaws.inspector2#ListCisScansSortBy": { - "type": "enum", + "com.amazonaws.inspector2#ListCodeSecurityScanConfigurations": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationsRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Lists all code security scan configurations in your account.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/list" + } + } + }, + "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationsRequest": { + "type": "structure", "members": { - "STATUS": { - "target": "smithy.api#Unit", + "nextToken": { + "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#enumValue": "STATUS" + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request. For subsequent calls, use the NextToken\n value returned from the previous request to continue listing results after the first\n page.

                              ", + "smithy.api#httpQuery": "nextToken" } }, - "SCHEDULED_BY": { - "target": "smithy.api#Unit", + "maxResults": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#enumValue": "SCHEDULED_BY" + "smithy.api#documentation": "

                              The maximum number of results to return in a single call.

                              ", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 100 + } } - }, - "SCAN_START_DATE": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#ListCodeSecurityScanConfigurationsResponse": { + "type": "structure", + "members": { + "configurations": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfigurationSummaries", "traits": { - "smithy.api#enumValue": "SCAN_START_DATE" + "smithy.api#documentation": "

                              A list of code security scan configuration summaries.

                              " } }, - "FAILED_CHECKS": { - "target": "smithy.api#Unit", + "nextToken": { + "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#enumValue": "FAILED_CHECKS" + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request. For subsequent calls, use the NextToken\n value returned from the previous request to continue listing results after the first\n page.

                              " } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.inspector2#ListCoverage": { @@ -10611,13 +12655,13 @@ "maxResults": { "target": "com.amazonaws.inspector2#ListCoverageMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } }, "filterCriteria": { @@ -10748,7 +12792,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists information about the Amazon Inspector delegated administrator of your\n organization.

                              ", + "smithy.api#documentation": "

                              Lists information about the Amazon Inspector delegated administrator of your organization.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -10768,13 +12812,13 @@ "maxResults": { "target": "com.amazonaws.inspector2#ListDelegatedAdminMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } } } @@ -10869,13 +12913,13 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } }, "maxResults": { "target": "com.amazonaws.inspector2#ListFilterMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } } } @@ -10954,13 +12998,13 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } }, "maxResults": { "target": "com.amazonaws.inspector2#ListFindingAggregationsMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "accountIds": { @@ -10972,7 +13016,7 @@ "aggregationRequest": { "target": "com.amazonaws.inspector2#AggregationRequest", "traits": { - "smithy.api#documentation": "

                              Details of the aggregation request that is used to filter your aggregation results.

                              " + "smithy.api#documentation": "

                              Details of the aggregation request that is used to filter your aggregation\n results.

                              " } } } @@ -11050,13 +13094,13 @@ "maxResults": { "target": "com.amazonaws.inspector2#ListFindingsMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } }, "filterCriteria": { @@ -11148,13 +13192,13 @@ "maxResults": { "target": "com.amazonaws.inspector2#ListMembersMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } } } @@ -11291,13 +13335,13 @@ "maxResults": { "target": "com.amazonaws.inspector2#ListUsageTotalsMaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more than the maximum the response will return a nextToken value, use this value when you call the action again to get the remaining results.

                              " + "smithy.api#documentation": "

                              The maximum number of results the response can return. If your request would return more\n than the maximum the response will return a nextToken value, use this value\n when you call the action again to get the remaining results.

                              " } }, "nextToken": { "target": "com.amazonaws.inspector2#ListUsageTotalsNextToken", "traits": { - "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults maximum value it will also return a nextToken value. For subsequent calls, use the nextToken value returned from the previous request to continue listing results after the first page.

                              " + "smithy.api#documentation": "

                              A token to use for paginating results that are returned in the response. Set the value\n of this parameter to null for the first request to a list action. If your response returns\n more than the maxResults maximum value it will also return a\n nextToken value. For subsequent calls, use the nextToken value\n returned from the previous request to continue listing results after the first page.

                              " } }, "accountIds": { @@ -11314,7 +13358,7 @@ "nextToken": { "target": "com.amazonaws.inspector2#ListUsageTotalsNextToken", "traits": { - "smithy.api#documentation": "

                              The pagination parameter to be used on the next list operation to retrieve more items.

                              " + "smithy.api#documentation": "

                              The pagination parameter to be used on the next list operation to retrieve more\n items.

                              " } }, "totals": { @@ -11411,7 +13455,7 @@ "delegatedAdminAccountId": { "target": "com.amazonaws.inspector2#AccountId", "traits": { - "smithy.api#documentation": "

                              The Amazon Web Services account ID of the Amazon Inspector delegated administrator for this member account.

                              " + "smithy.api#documentation": "

                              The Amazon Web Services account ID of the Amazon Inspector delegated administrator for this member\n account.

                              " } }, "updatedAt": { @@ -11438,13 +13482,13 @@ "activateDeepInspection": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Whether Amazon Inspector deep inspection is active in the account. If TRUE Amazon Inspector deep inspection is active, if FALSE it is not active.

                              ", + "smithy.api#documentation": "

                              Whether Amazon Inspector deep inspection is active in the account. If TRUE Amazon Inspector deep\n inspection is active, if FALSE it is not active.

                              ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                              An object that contains details about the status of Amazon Inspector deep inspection for a member account in your organization.

                              " + "smithy.api#documentation": "

                              An object that contains details about the status of Amazon Inspector deep inspection for a member\n account in your organization.

                              " } }, "com.amazonaws.inspector2#MemberAccountEc2DeepInspectionStatusList": { @@ -11478,12 +13522,12 @@ "errorMessage": { "target": "com.amazonaws.inspector2#NonEmptyString", "traits": { - "smithy.api#documentation": "

                              The error message explaining why the account failed to activate Amazon Inspector deep inspection.

                              " + "smithy.api#documentation": "

                              The error message explaining why the account failed to activate Amazon Inspector deep\n inspection.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              An object that contains details about the state of Amazon Inspector deep inspection for a member account.

                              " + "smithy.api#documentation": "

                              An object that contains details about the state of Amazon Inspector deep inspection for a member\n account.

                              " } }, "com.amazonaws.inspector2#MemberAccountEc2DeepInspectionStatusStateList": { @@ -11588,7 +13632,7 @@ "openPortRange": { "target": "com.amazonaws.inspector2#PortRange", "traits": { - "smithy.api#documentation": "

                              An object that contains details about the open port range associated with a finding.

                              ", + "smithy.api#documentation": "

                              An object that contains details about the open port range associated with a\n finding.

                              ", "smithy.api#required": {} } }, @@ -12043,7 +14087,7 @@ "vendorCreatedAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

                              The date and time that this vulnerability was first added to the vendor's database.

                              " + "smithy.api#documentation": "

                              The date and time that this vulnerability was first added to the vendor's\n database.

                              " } }, "vendorUpdatedAt": { @@ -12084,13 +14128,56 @@ } } }, + "com.amazonaws.inspector2#PeriodicScanConfiguration": { + "type": "structure", + "members": { + "frequency": { + "target": "com.amazonaws.inspector2#PeriodicScanFrequency", + "traits": { + "smithy.api#documentation": "

                              The frequency at which periodic scans are performed (such as weekly or monthly).

                              \n

                              If you don't provide the frequencyExpression Amazon Inspector chooses day for the scan\n to run. If you provide the frequencyExpression, the schedule must match the\n specified frequency.

                              " + } + }, + "frequencyExpression": { + "target": "com.amazonaws.inspector2#FrequencyExpression", + "traits": { + "smithy.api#documentation": "

                              The schedule expression for periodic scans, in cron format.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configuration settings for periodic scans that run on a scheduled basis.

                              " + } + }, + "com.amazonaws.inspector2#PeriodicScanFrequency": { + "type": "enum", + "members": { + "WEEKLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WEEKLY" + } + }, + "MONTHLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONTHLY" + } + }, + "NEVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NEVER" + } + } + } + }, "com.amazonaws.inspector2#Permission": { "type": "structure", "members": { "service": { "target": "com.amazonaws.inspector2#Service", "traits": { - "smithy.api#documentation": "

                              The services that the permissions allow an account to perform the given operations for.

                              ", + "smithy.api#documentation": "

                              The services that the permissions allow an account to perform the given operations\n for.

                              ", "smithy.api#required": {} } }, @@ -12218,6 +14305,95 @@ } } }, + "com.amazonaws.inspector2#ProjectCodeSecurityScanConfiguration": { + "type": "structure", + "members": { + "periodicScanConfigurations": { + "target": "com.amazonaws.inspector2#ProjectPeriodicScanConfigurationList", + "traits": { + "smithy.api#documentation": "

                              The periodic scan configurations applied to the project.

                              " + } + }, + "continuousIntegrationScanConfigurations": { + "target": "com.amazonaws.inspector2#ProjectContinuousIntegrationScanConfigurationList", + "traits": { + "smithy.api#documentation": "

                              The continuous integration scan configurations applied to the project.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the scan configuration settings applied to a specific project in a code\n repository.

                              " + } + }, + "com.amazonaws.inspector2#ProjectContinuousIntegrationScanConfiguration": { + "type": "structure", + "members": { + "supportedEvent": { + "target": "com.amazonaws.inspector2#ContinuousIntegrationScanEvent", + "traits": { + "smithy.api#documentation": "

                              The repository event that triggers continuous integration scans for the project.

                              " + } + }, + "ruleSetCategories": { + "target": "com.amazonaws.inspector2#RuleSetCategories", + "traits": { + "smithy.api#documentation": "

                              The categories of security rules applied during continuous integration scans for the\n project.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the continuous integration scan configuration settings applied to a specific\n project.

                              " + } + }, + "com.amazonaws.inspector2#ProjectContinuousIntegrationScanConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#ProjectContinuousIntegrationScanConfiguration" + } + }, + "com.amazonaws.inspector2#ProjectId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + } + }, + "com.amazonaws.inspector2#ProjectPeriodicScanConfiguration": { + "type": "structure", + "members": { + "frequencyExpression": { + "target": "com.amazonaws.inspector2#FrequencyExpression", + "traits": { + "smithy.api#documentation": "

                              The schedule expression for periodic scans, in cron format, applied to the\n project.

                              " + } + }, + "ruleSetCategories": { + "target": "com.amazonaws.inspector2#RuleSetCategories", + "traits": { + "smithy.api#documentation": "

                              The categories of security rules applied during periodic scans for the project.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the periodic scan configuration settings applied to a specific project.

                              " + } + }, + "com.amazonaws.inspector2#ProjectPeriodicScanConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#ProjectPeriodicScanConfiguration" + } + }, + "com.amazonaws.inspector2#ProjectSelectionScope": { + "type": "enum", + "members": { + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" + } + } + } + }, "com.amazonaws.inspector2#Reason": { "type": "string", "traits": { @@ -12339,7 +14515,7 @@ "recommendation": { "target": "com.amazonaws.inspector2#Recommendation", "traits": { - "smithy.api#documentation": "

                              An object that contains information about the recommended course of action to remediate the finding.

                              " + "smithy.api#documentation": "

                              An object that contains information about the recommended course of action to remediate\n the finding.

                              " } } }, @@ -12467,7 +14643,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A response that contains details on the results of a finding aggregation by repository.

                              " + "smithy.api#documentation": "

                              A response that contains details on the results of a finding aggregation by\n repository.

                              " } }, "com.amazonaws.inspector2#RepositorySortBy": { @@ -12519,7 +14695,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Resets an encryption key. After the key is reset your resources will be encrypted by an Amazon Web Services owned key.

                              ", + "smithy.api#documentation": "

                              Resets an encryption key. After the key is reset your resources will be encrypted by an\n Amazon Web Services owned key.

                              ", "smithy.api#http": { "code": 200, "method": "PUT", @@ -12615,13 +14791,19 @@ "awsEcrContainerImage": { "target": "com.amazonaws.inspector2#AwsEcrContainerImageDetails", "traits": { - "smithy.api#documentation": "

                              An object that contains details about the Amazon ECR container image involved in the finding.

                              " + "smithy.api#documentation": "

                              An object that contains details about the Amazon ECR container image involved in the\n finding.

                              " } }, "awsLambdaFunction": { "target": "com.amazonaws.inspector2#AwsLambdaFunctionDetails", "traits": { - "smithy.api#documentation": "

                              A summary of the information about an Amazon Web Services Lambda function affected by a finding.

                              " + "smithy.api#documentation": "

                              A summary of the information about an Amazon Web Services Lambda function affected by a\n finding.

                              " + } + }, + "codeRepository": { + "target": "com.amazonaws.inspector2#CodeRepositoryDetails", + "traits": { + "smithy.api#documentation": "

                              Contains details about a code repository resource associated with a finding.

                              " } } }, @@ -12692,7 +14874,7 @@ "min": 10, "max": 341 }, - "smithy.api#pattern": "(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$))" + "smithy.api#pattern": "(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$)|(^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:codesecurity-integration\\/[a-f0-9-]{36}\\/project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$))" } }, "com.amazonaws.inspector2#ResourceIdFilterList": { @@ -12781,7 +14963,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The operation tried to access an invalid resource. Make sure the resource is specified correctly.

                              ", + "smithy.api#documentation": "

                              The operation tried to access an invalid resource. Make sure the resource is specified\n correctly.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -12810,7 +14992,13 @@ "lambdaFunction": { "target": "com.amazonaws.inspector2#LambdaFunctionMetadata", "traits": { - "smithy.api#documentation": "

                              An object that contains metadata details for an Amazon Web Services Lambda function.

                              " + "smithy.api#documentation": "

                              An object that contains metadata details for an Amazon Web Services Lambda\n function.

                              " + } + }, + "codeRepository": { + "target": "com.amazonaws.inspector2#CodeRepositoryMetadata", + "traits": { + "smithy.api#documentation": "

                              Contains metadata about scan coverage for a code repository resource.

                              " } } }, @@ -12837,6 +15025,10 @@ { "value": "LAMBDA_CODE", "name": "LAMBDA_CODE" + }, + { + "value": "CODE_REPOSITORY", + "name": "CODE_REPOSITORY" } ] } @@ -12869,6 +15061,9 @@ "traits": { "smithy.api#documentation": "

                              An object that described the state of Amazon Inspector scans for an account.

                              " } + }, + "codeRepository": { + "target": "com.amazonaws.inspector2#State" } }, "traits": { @@ -12901,7 +15096,13 @@ "lambdaCode": { "target": "com.amazonaws.inspector2#Status", "traits": { - "smithy.api#documentation": "

                              The status of Amazon Inspector scanning for custom application code for Amazon Web Services Lambda functions. \n

                              " + "smithy.api#documentation": "

                              The status of Amazon Inspector scanning for custom application code for Amazon Web Services Lambda\n functions.

                              " + } + }, + "codeRepository": { + "target": "com.amazonaws.inspector2#Status", + "traits": { + "smithy.api#documentation": "

                              The status of Amazon Inspector scanning for code repositories.

                              " } } }, @@ -12998,6 +15199,10 @@ { "value": "AWS_LAMBDA_FUNCTION", "name": "AWS_LAMBDA_FUNCTION" + }, + { + "value": "CODE_REPOSITORY", + "name": "CODE_REPOSITORY" } ] } @@ -13014,6 +15219,41 @@ } } }, + "com.amazonaws.inspector2#RuleSetCategories": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#RuleSetCategory" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3 + } + } + }, + "com.amazonaws.inspector2#RuleSetCategory": { + "type": "enum", + "members": { + "SAST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SAST" + } + }, + "IAC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAC" + } + }, + "SCA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SCA" + } + } + } + }, "com.amazonaws.inspector2#Runtime": { "type": "string", "traits": { @@ -13120,6 +15360,23 @@ ] } }, + "com.amazonaws.inspector2#ScanConfigurationArn": { + "type": "string", + "traits": { + "smithy.api#documentation": "arn:aws:inspector2:::owner//codesecurity-configuration/", + "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:owner/(\\d{12}|o-[a-z0-9]{10,32})/codesecurity-configuration/[a-f0-9-]{36}$" + } + }, + "com.amazonaws.inspector2#ScanConfigurationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 60 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-_$:.]*$" + } + }, "com.amazonaws.inspector2#ScanMode": { "type": "string", "traits": { @@ -13148,7 +15405,7 @@ "reason": { "target": "com.amazonaws.inspector2#ScanStatusReason", "traits": { - "smithy.api#documentation": "

                              The scan status. Possible return values and descriptions are:

                              \n

                              \n PENDING_INITIAL_SCAN - This resource has been identified for scanning, results will be available soon.

                              \n

                              \n ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. Please update the IAM policy.

                              \n

                              \n INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this resource. Amazon Inspector service will automatically resolve the issue and resume the scanning. No action required from the user.

                              \n

                              \n UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html. Once the instance becomes managed by SSM, Inspector will automatically begin scanning this instance.

                              \n

                              \n UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, or image manifest type at this time. To see a complete list of supported operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              \n

                              \n SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this image.

                              \n

                              \n RESOURCE_TERMINATED - This resource has been terminated. The findings and coverage associated with this resource are in the process of being cleaned up.

                              \n

                              \n SUCCESSFUL - The scan was successful.

                              \n

                              \n NO_RESOURCES_FOUND - Reserved for future use.

                              \n

                              \n IMAGE_SIZE_EXCEEDED - Reserved for future use.

                              \n

                              \n SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector due to the repository scan frequency configuration.

                              \n

                              \n SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will not new findings because of the scan frequency configuration.

                              \n

                              \n EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, Amazon Inspector will pause scanning. The existing findings will continue to exist until the instance is terminated. Once the instance is re-started, Inspector will automatically start scanning the instance again. Please note that you will not be charged for this instance while it’s in a stopped state.

                              \n

                              \n PENDING_DISABLE - This resource is pending cleanup during disablement. The customer will not be billed while a resource is in the pending disable status.

                              \n

                              \n NO INVENTORY - Amazon Inspector couldn’t find software application inventory to scan for vulnerabilities. This might be caused due to required Amazon Inspector associations being deleted or failing to run on your resource. Please verify the status of InspectorInventoryCollection-do-not-delete association in the SSM console for the resource. Additionally, you can verify the instance’s inventory in the SSM Fleet Manager console.

                              \n

                              \n STALE_INVENTORY - Amazon Inspector wasn’t able to collect an updated software application inventory in the last 7 days. Please confirm the required Amazon Inspector associations still exist and you can still see an updated inventory in the SSM console.

                              \n

                              \n EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded by a tag.

                              \n

                              \n UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              \n

                              \n UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type.

                              \n

                              \n UNSUPPORTED_CONFIG_FILE - Reserved for future use.

                              \n

                              \n DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep inspection for this instance you can try to adjust the custom paths associated with the account.

                              \n

                              \n DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't send inventory to Amazon Inspector because the SSM quota for Inventory data collected per instance per day has already been reached for this instance.

                              \n

                              \n DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed to extract the package inventory because the package collection time exceeding the maximum threshold of 15 minutes.

                              \n

                              \n DEEP_INSPECTION_NO_INVENTORY The Amazon Inspector plugin hasn't yet been able to collect an inventory of packages for this instance. This is usually the result of a pending scan, however, if this status persists after 6 hours, use SSM to ensure that the required Amazon Inspector associations exist and are running for the instance.

                              \n

                              ", + "smithy.api#documentation": "

                              The scan status. Possible return values and descriptions are:

                              \n

                              \n ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. Please\n update the IAM policy.

                              \n

                              \n ACCESS_DENIED_TO_ENCRYPTION_KEY - The KMS key policy doesn't allow Amazon Inspector\n access. Update the key policy.

                              \n

                              \n DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed to extract\n the package inventory because the package collection time exceeding the maximum threshold\n of 15 minutes.

                              \n

                              \n DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't\n send inventory to Amazon Inspector because the SSM quota for Inventory data collected per instance per\n day has already been reached for this instance.

                              \n

                              \n DEEP_INSPECTION_NO_INVENTORY - The Amazon Inspector plugin hasn't yet been able to\n collect an inventory of packages for this instance. This is usually the result of a pending\n scan, however, if this status persists after 6 hours, use SSM to ensure that\n the required Amazon Inspector associations exist and are running for the instance.

                              \n

                              \n DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has\n exceeded the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep inspection for\n this instance you can try to adjust the custom paths associated with the account.

                              \n

                              \n EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore,\n Amazon Inspector will pause scanning. The existing findings will continue to exist until the instance\n is terminated. Once the instance is re-started, Inspector will automatically start scanning\n the instance again. Please note that you will not be charged for this instance while it's\n in a stopped state.

                              \n

                              \n EXCLUDED_BY_TAG - This resource was not scanned because it has been\n excluded by a tag.

                              \n

                              \n IMAGE_SIZE_EXCEEDED - Reserved for future use.

                              \n

                              \n INTEGRATION_CONNNECTION_LOST - Amazon Inspector couldn't communicate with the source\n code management platform.

                              \n

                              \n INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this resource.\n Amazon Inspector service will automatically resolve the issue and resume the scanning. No action\n required from the user.

                              \n

                              \n NO INVENTORY - Amazon Inspector couldn't find software application inventory to scan\n for vulnerabilities. This might be caused due to required Amazon Inspector associations being deleted\n or failing to run on your resource. Please verify the status of\n InspectorInventoryCollection-do-not-delete association in the SSM console\n for the resource. Additionally, you can verify the instance's inventory in the SSM Fleet\n Manager console.

                              \n

                              \n NO_RESOURCES_FOUND - Reserved for future use.

                              \n

                              \n NO_SCAN_CONFIGURATION_ASSOCIATED - The code repository resource doesn't\n have an associated scan configuration.

                              \n

                              \n PENDING_DISABLE - This resource is pending cleanup during disablement. The\n customer will not be billed while a resource is in the pending disable status.

                              \n

                              \n PENDING_INITIAL_SCAN - This resource has been identified for scanning,\n results will be available soon.

                              \n

                              \n RESOURCE_TERMINATED - This resource has been terminated. The findings and\n coverage associated with this resource are in the process of being cleaned up.

                              \n

                              \n SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this\n image.

                              \n

                              \n SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector due to the\n repository scan frequency configuration.

                              \n

                              \n SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will\n not new findings because of the scan frequency configuration.

                              \n

                              \n SCAN_IN_PROGRESS - The resource is currently being scanned.

                              \n

                              \n STALE_INVENTORY - Amazon Inspector wasn't able to collect an updated software\n application inventory in the last 7 days. Please confirm the required Amazon Inspector associations\n still exist and you can still see an updated inventory in the SSM console.

                              \n

                              \n SUCCESSFUL - The scan was successful.

                              \n

                              \n UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use\n the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html.\n Once the instance becomes managed by SSM, Inspector will automatically begin scanning this\n instance.

                              \n

                              \n UNSUPPORTED_CONFIG_FILE - Reserved for future use.

                              \n

                              \n UNSUPPORTED_LANGUAGE - The scan was unsuccessful because the repository\n contains files in an unsupported programming language.

                              \n

                              \n UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media\n type.

                              \n

                              \n UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, or image\n manifest type at this time. To see a complete list of supported operating systems see:\n https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              \n

                              \n UNSUPPORTED_RUNTIME - The function was not scanned because it has an\n unsupported runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html.

                              ", "smithy.api#required": {} } } @@ -13281,8 +15538,28 @@ "name": "AGENTLESS_INSTANCE_COLLECTION_TIME_LIMIT_EXCEEDED" }, { - "value": "PENDING_REVIVAL_SCAN", - "name": "PENDING_REVIVAL_SCAN" + "value": "PENDING_REVIVAL_SCAN", + "name": "PENDING_REVIVAL_SCAN" + }, + { + "value": "INTEGRATION_CONNECTION_LOST", + "name": "INTEGRATION_CONNECTION_LOST" + }, + { + "value": "ACCESS_DENIED_TO_ENCRYPTION_KEY", + "name": "ACCESS_DENIED_TO_ENCRYPTION_KEY" + }, + { + "value": "UNSUPPORTED_LANGUAGE", + "name": "UNSUPPORTED_LANGUAGE" + }, + { + "value": "NO_SCAN_CONFIGURATION_ASSOCIATED", + "name": "NO_SCAN_CONFIGURATION_ASSOCIATED" + }, + { + "value": "SCAN_IN_PROGRESS", + "name": "SCAN_IN_PROGRESS" } ] } @@ -13338,6 +15615,20 @@ "smithy.api#documentation": "

                              A schedule.

                              " } }, + "com.amazonaws.inspector2#ScopeSettings": { + "type": "structure", + "members": { + "projectSelectionScope": { + "target": "com.amazonaws.inspector2#ProjectSelectionScope", + "traits": { + "smithy.api#documentation": "

                              The scope of projects to be selected for scanning within the integrated repositories.\n Setting the value to ALL applies the scope settings to all existing and future\n projects imported into Amazon Inspector.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the scope of repositories to be included in code security scans.

                              " + } + }, "com.amazonaws.inspector2#SearchVulnerabilities": { "type": "operation", "input": { @@ -13386,7 +15677,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Details on the criteria used to define the filter for a vulnerability search.\n

                              " + "smithy.api#documentation": "

                              Details on the criteria used to define the filter for a vulnerability search.

                              " } }, "com.amazonaws.inspector2#SearchVulnerabilitiesRequest": { @@ -13423,7 +15714,7 @@ "nextToken": { "target": "com.amazonaws.inspector2#NextToken", "traits": { - "smithy.api#documentation": "

                              The pagination parameter to be used on the next list operation to retrieve more items.

                              " + "smithy.api#documentation": "

                              The pagination parameter to be used on the next list operation to retrieve more\n items.

                              " } } }, @@ -13474,7 +15765,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              \n Sends a CIS session health. \n This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. \n The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.\n

                              ", + "smithy.api#documentation": "

                              Sends a CIS session health. This API is used by the Amazon Inspector SSM plugin to\n communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls\n this API to start a CIS scan session for the scan ID supplied by the service.

                              ", "smithy.api#examples": [ { "title": "Sample SendCisSessionHealth Call", @@ -13548,7 +15839,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              \n Sends a CIS session telemetry. \n This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. \n The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.\n

                              ", + "smithy.api#documentation": "

                              Sends a CIS session telemetry. This API is used by the Amazon Inspector SSM plugin to\n communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls\n this API to start a CIS scan session for the scan ID supplied by the service.

                              ", "smithy.api#examples": [ { "title": "Sample SendCisSessionTelemetry Call", @@ -13868,7 +16159,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              \n Starts a CIS session. \n This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. \n The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.\n

                              ", + "smithy.api#documentation": "

                              Starts a CIS session. This API is used by the Amazon Inspector SSM plugin to\n communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls\n this API to start a CIS scan session for the scan ID supplied by the service.

                              ", "smithy.api#examples": [ { "title": "Sample SendCisSessionHealth Call", @@ -13933,6 +16224,85 @@ "smithy.api#output": {} } }, + "com.amazonaws.inspector2#StartCodeSecurityScan": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#StartCodeSecurityScanRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#StartCodeSecurityScanResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Initiates a code security scan on a specified repository.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan/start" + } + } + }, + "com.amazonaws.inspector2#StartCodeSecurityScanRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.inspector2#CodeSecurityClientToken", + "traits": { + "smithy.api#documentation": "

                              A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

                              ", + "smithy.api#idempotencyToken": {} + } + }, + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource", + "traits": { + "smithy.api#documentation": "

                              The resource identifier for the code repository to scan.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#StartCodeSecurityScanResponse": { + "type": "structure", + "members": { + "scanId": { + "target": "com.amazonaws.inspector2#CodeSecurityUuid", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the initiated scan.

                              " + } + }, + "status": { + "target": "com.amazonaws.inspector2#CodeScanStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the initiated scan.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.inspector2#State": { "type": "structure", "members": { @@ -14039,7 +16409,7 @@ "componentArn": { "target": "com.amazonaws.inspector2#ComponentArn", "traits": { - "smithy.api#documentation": "

                              The component ARN. The ARN can be null and is not displayed in the Amazon Web Services console.

                              " + "smithy.api#documentation": "

                              The component ARN. The ARN can be null and is not displayed in the Amazon Web Services\n console.

                              " } } }, @@ -14149,7 +16519,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              \n Stops a CIS session. \n This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. \n The Amazon Inspector SSM plugin calls this API to stop a CIS scan session for the scan ID supplied by the service.\n

                              ", + "smithy.api#documentation": "

                              Stops a CIS session. This API is used by the Amazon Inspector SSM plugin to\n communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls\n this API to stop a CIS scan session for the scan ID supplied by the service.

                              ", "smithy.api#examples": [ { "title": "Sample StopCisSession Call", @@ -14385,6 +16755,29 @@ } } }, + "com.amazonaws.inspector2#SuccessfulAssociationResult": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration that was successfully\n associated or disassociated.

                              " + } + }, + "resource": { + "target": "com.amazonaws.inspector2#CodeSecurityResource" + } + }, + "traits": { + "smithy.api#documentation": "

                              Details about a successful association or disassociation between a code repository and a\n scan configuration.

                              " + } + }, + "com.amazonaws.inspector2#SuccessfulAssociationResultList": { + "type": "list", + "member": { + "target": "com.amazonaws.inspector2#SuccessfulAssociationResult" + } + }, "com.amazonaws.inspector2#SuggestedFix": { "type": "structure", "members": { @@ -14806,7 +17199,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A response that contains details on the results of a finding aggregation by title.

                              " + "smithy.api#documentation": "

                              A response that contains details on the results of a finding aggregation by\n title.

                              " } }, "com.amazonaws.inspector2#TitleFilterList": { @@ -15019,7 +17412,7 @@ "securityLevel": { "target": "com.amazonaws.inspector2#CisSecurityLevel", "traits": { - "smithy.api#documentation": "

                              \n The security level for the CIS scan configuration. \n Security level refers to the Benchmark levels that CIS assigns to a profile.\n

                              " + "smithy.api#documentation": "

                              The security level for the CIS scan configuration. Security level refers to the\n Benchmark levels that CIS assigns to a profile.

                              " } }, "schedule": { @@ -15074,6 +17467,160 @@ "smithy.api#documentation": "

                              Updates CIS targets.

                              " } }, + "com.amazonaws.inspector2#UpdateCodeSecurityIntegration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#UpdateCodeSecurityIntegrationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#UpdateCodeSecurityIntegrationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Updates an existing code security integration.

                              \n

                              After calling the CreateCodeSecurityIntegration operation, you complete\n authentication and authorization with your provider. Next you call the\n UpdateCodeSecurityIntegration operation to provide the details\n to complete the integration setup

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/integration/update" + } + } + }, + "com.amazonaws.inspector2#UpdateCodeSecurityIntegrationRequest": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the code security integration to update.

                              ", + "smithy.api#required": {} + } + }, + "details": { + "target": "com.amazonaws.inspector2#UpdateIntegrationDetails", + "traits": { + "smithy.api#documentation": "

                              The updated integration details specific to the repository provider type.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#UpdateCodeSecurityIntegrationResponse": { + "type": "structure", + "members": { + "integrationArn": { + "target": "com.amazonaws.inspector2#CodeSecurityIntegrationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the updated code security integration.

                              ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.inspector2#IntegrationStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the updated code security integration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.inspector2#UpdateCodeSecurityScanConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.inspector2#UpdateCodeSecurityScanConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.inspector2#UpdateCodeSecurityScanConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.inspector2#AccessDeniedException" + }, + { + "target": "com.amazonaws.inspector2#ConflictException" + }, + { + "target": "com.amazonaws.inspector2#InternalServerException" + }, + { + "target": "com.amazonaws.inspector2#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.inspector2#ThrottlingException" + }, + { + "target": "com.amazonaws.inspector2#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Updates an existing code security scan configuration.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/codesecurity/scan-configuration/update" + } + } + }, + "com.amazonaws.inspector2#UpdateCodeSecurityScanConfigurationRequest": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the scan configuration to update.

                              ", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.inspector2#CodeSecurityScanConfiguration", + "traits": { + "smithy.api#documentation": "

                              The updated configuration settings for the code security scan.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.inspector2#UpdateCodeSecurityScanConfigurationResponse": { + "type": "structure", + "members": { + "scanConfigurationArn": { + "target": "com.amazonaws.inspector2#ScanConfigurationArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the updated scan configuration.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.inspector2#UpdateConfiguration": { "type": "operation", "input": { @@ -15097,7 +17644,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates setting configurations for your Amazon Inspector account. When you use this API as an Amazon Inspector delegated administrator this updates the setting for all accounts you manage. Member accounts in an organization cannot update this setting.

                              ", + "smithy.api#documentation": "

                              Updates setting configurations for your Amazon Inspector account. When you use this API as an Amazon Inspector\n delegated administrator this updates the setting for all accounts you manage. Member\n accounts in an organization cannot update this setting.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -15149,7 +17696,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Activates, deactivates Amazon Inspector deep inspection, or updates custom paths for your account.

                              ", + "smithy.api#documentation": "

                              Activates, deactivates Amazon Inspector deep inspection, or updates custom paths for your account.\n

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -15163,7 +17710,7 @@ "activateDeepInspection": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                              Specify TRUE to activate Amazon Inspector deep inspection in your account, or FALSE to deactivate. Member accounts in an organization cannot deactivate deep inspection, instead the delegated administrator for the organization can deactivate a member account using BatchUpdateMemberEc2DeepInspectionStatus.

                              " + "smithy.api#documentation": "

                              Specify TRUE to activate Amazon Inspector deep inspection in your account, or\n FALSE to deactivate. Member accounts in an organization cannot deactivate\n deep inspection, instead the delegated administrator for the organization can deactivate a\n member account using BatchUpdateMemberEc2DeepInspectionStatus.

                              " } }, "packagePaths": { @@ -15201,7 +17748,7 @@ "errorMessage": { "target": "com.amazonaws.inspector2#NonEmptyString", "traits": { - "smithy.api#documentation": "

                              An error message explaining why new Amazon Inspector deep inspection custom paths could not be added.

                              " + "smithy.api#documentation": "

                              An error message explaining why new Amazon Inspector deep inspection custom paths could not be\n added.

                              " } } }, @@ -15235,7 +17782,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates an encryption key. A ResourceNotFoundException means that an Amazon Web Services owned key is being used for encryption.

                              ", + "smithy.api#documentation": "

                              Updates an encryption key. A ResourceNotFoundException means that an\n Amazon Web Services owned key is being used for encryption.

                              ", "smithy.api#http": { "code": 200, "method": "PUT", @@ -15368,6 +17915,63 @@ } } }, + "com.amazonaws.inspector2#UpdateGitHubIntegrationDetail": { + "type": "structure", + "members": { + "code": { + "target": "com.amazonaws.inspector2#GitHubAuthCode", + "traits": { + "smithy.api#documentation": "

                              The authorization code received from GitHub to update the integration.

                              ", + "smithy.api#required": {} + } + }, + "installationId": { + "target": "com.amazonaws.inspector2#GitHubInstallationId", + "traits": { + "smithy.api#documentation": "

                              The installation ID of the GitHub App associated with the integration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details required to update an integration with GitHub.

                              " + } + }, + "com.amazonaws.inspector2#UpdateGitLabSelfManagedIntegrationDetail": { + "type": "structure", + "members": { + "authCode": { + "target": "com.amazonaws.inspector2#GitLabAuthCode", + "traits": { + "smithy.api#documentation": "

                              The authorization code received from the self-managed GitLab instance to update the\n integration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details required to update an integration with a self-managed GitLab\n instance.

                              " + } + }, + "com.amazonaws.inspector2#UpdateIntegrationDetails": { + "type": "union", + "members": { + "gitlabSelfManaged": { + "target": "com.amazonaws.inspector2#UpdateGitLabSelfManagedIntegrationDetail", + "traits": { + "smithy.api#documentation": "

                              Details specific to updating an integration with a self-managed GitLab instance.

                              " + } + }, + "github": { + "target": "com.amazonaws.inspector2#UpdateGitHubIntegrationDetail", + "traits": { + "smithy.api#documentation": "

                              Details specific to updating an integration with GitHub.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details required to update a code security integration with a specific\n repository provider.

                              " + } + }, "com.amazonaws.inspector2#UpdateOrgEc2DeepInspectionConfiguration": { "type": "operation", "input": { @@ -15391,7 +17995,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates the Amazon Inspector deep inspection custom paths for your organization. You must be an Amazon Inspector delegated administrator to use this API.

                              ", + "smithy.api#documentation": "

                              Updates the Amazon Inspector deep inspection custom paths for your organization. You must be an\n Amazon Inspector delegated administrator to use this API.

                              ", "smithy.api#http": { "code": 200, "method": "POST", @@ -15458,7 +18062,7 @@ "autoEnable": { "target": "com.amazonaws.inspector2#AutoEnable", "traits": { - "smithy.api#documentation": "

                              Defines which scan types are enabled automatically for new members of your Amazon Inspector organization.

                              ", + "smithy.api#documentation": "

                              Defines which scan types are enabled automatically for new members of your Amazon Inspector\n organization.

                              ", "smithy.api#required": {} } } @@ -15470,7 +18074,7 @@ "autoEnable": { "target": "com.amazonaws.inspector2#AutoEnable", "traits": { - "smithy.api#documentation": "

                              The updated status of scan types automatically enabled for new members of your Amazon Inspector organization.

                              ", + "smithy.api#documentation": "

                              The updated status of scan types automatically enabled for new members of your Amazon Inspector\n organization.

                              ", "smithy.api#required": {} } } @@ -15583,6 +18187,18 @@ { "name": "LAMBDA_FUNCTION_CODE_HOURS", "value": "LAMBDA_FUNCTION_CODE_HOURS" + }, + { + "name": "CODE_REPOSITORY_SAST", + "value": "CODE_REPOSITORY_SAST" + }, + { + "name": "CODE_REPOSITORY_IAC", + "value": "CODE_REPOSITORY_IAC" + }, + { + "name": "CODE_REPOSITORY_SCA", + "value": "CODE_REPOSITORY_SCA" } ] } @@ -15756,13 +18372,13 @@ "cisaData": { "target": "com.amazonaws.inspector2#CisaData", "traits": { - "smithy.api#documentation": "

                              An object that contains the Cybersecurity and Infrastructure Security Agency (CISA) details for the vulnerability.

                              " + "smithy.api#documentation": "

                              An object that contains the Cybersecurity and Infrastructure Security Agency (CISA)\n details for the vulnerability.

                              " } }, "source": { "target": "com.amazonaws.inspector2#VulnerabilitySource", "traits": { - "smithy.api#documentation": "

                              The source of the vulnerability information. Possible results are RHEL, AMAZON_CVE, DEBIAN or NVD.

                              " + "smithy.api#documentation": "

                              The source of the vulnerability information. Possible results are RHEL,\n AMAZON_CVE, DEBIAN or NVD.

                              " } }, "description": { @@ -15774,7 +18390,7 @@ "atigData": { "target": "com.amazonaws.inspector2#AtigData", "traits": { - "smithy.api#documentation": "

                              An object that contains information about the Amazon Web Services Threat Intel Group (ATIG) details for the vulnerability.

                              " + "smithy.api#documentation": "

                              An object that contains information about the Amazon Web Services Threat Intel Group\n (ATIG) details for the vulnerability.

                              " } }, "vendorSeverity": { @@ -15786,7 +18402,7 @@ "cvss3": { "target": "com.amazonaws.inspector2#Cvss3", "traits": { - "smithy.api#documentation": "

                              An object that contains the Common Vulnerability Scoring System (CVSS) Version 3 details for the vulnerability.

                              " + "smithy.api#documentation": "

                              An object that contains the Common Vulnerability Scoring System (CVSS) Version 3 details\n for the vulnerability.

                              " } }, "relatedVulnerabilities": { @@ -15798,7 +18414,7 @@ "cvss2": { "target": "com.amazonaws.inspector2#Cvss2", "traits": { - "smithy.api#documentation": "

                              An object that contains the Common Vulnerability Scoring System (CVSS) Version 2 details for the vulnerability.

                              " + "smithy.api#documentation": "

                              An object that contains the Common Vulnerability Scoring System (CVSS) Version 2 details\n for the vulnerability.

                              " } }, "vendorCreatedAt": { @@ -15840,7 +18456,7 @@ "epss": { "target": "com.amazonaws.inspector2#Epss", "traits": { - "smithy.api#documentation": "

                              An object that contains the Exploit Prediction Scoring System (EPSS) score for a vulnerability.

                              " + "smithy.api#documentation": "

                              An object that contains the Exploit Prediction Scoring System (EPSS) score for a\n vulnerability.

                              " } } }, @@ -15974,7 +18590,7 @@ "sourceLambdaLayerArn": { "target": "com.amazonaws.inspector2#LambdaLayerArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Number (ARN) of the Amazon Web Services Lambda function affected by a finding.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Number (ARN) of the Amazon Web Services Lambda function affected by a\n finding.

                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/iotfleetwise.json b/tools/code-generation/smithy/api-descriptions/iotfleetwise.json index c74bd69197e..76ecaf71201 100644 --- a/tools/code-generation/smithy/api-descriptions/iotfleetwise.json +++ b/tools/code-generation/smithy/api-descriptions/iotfleetwise.json @@ -9335,7 +9335,7 @@ "status": { "target": "com.amazonaws.iotfleetwise#CampaignStatus", "traits": { - "smithy.api#documentation": "

                              The state of a campaign. The status can be one of:

                              \n
                                \n
                              • \n

                                \n CREATING - Amazon Web Services IoT FleetWise is processing your request to create the\n campaign.

                                \n
                              • \n
                              • \n

                                \n WAITING_FOR_APPROVAL - After a campaign is created, it enters the\n WAITING_FOR_APPROVAL state. To allow Amazon Web Services IoT FleetWise to deploy the\n campaign to the target vehicle or fleet, use the API operation to approve the campaign.\n

                                \n
                              • \n
                              • \n

                                \n RUNNING - The campaign is active.

                                \n
                              • \n
                              • \n

                                \n SUSPENDED - The campaign is suspended. To resume the campaign, use\n the API operation.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The state of a campaign. The status can be one of:

                              \n
                                \n
                              • \n

                                \n CREATING - Amazon Web Services IoT FleetWise is processing your request to create the\n campaign.

                                \n
                              • \n
                              • \n

                                \n WAITING_FOR_APPROVAL - After you create a campaign, it enters this state. Use the API operation to approve the campaign for deployment to the target vehicle or fleet.\n

                                \n
                              • \n
                              • \n

                                \n RUNNING - The campaign is active.

                                \n
                              • \n
                              • \n

                                \n SUSPENDED - The campaign is suspended. To resume the campaign, use\n the API operation.

                                \n
                              • \n
                              " } } } @@ -10318,6 +10318,12 @@ "traits": { "smithy.api#enumValue": "DELETING" } + }, + "READY_FOR_CHECKIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY_FOR_CHECKIN" + } } } }, @@ -10339,7 +10345,7 @@ "status": { "target": "com.amazonaws.iotfleetwise#VehicleState", "traits": { - "smithy.api#documentation": "

                              The status of a campaign, which can be one of the following:

                              \n
                                \n
                              • \n

                                \n CREATED - The campaign has been created successfully but has not been\n approved.

                                \n
                              • \n
                              • \n

                                \n READY - The campaign has been approved but has not been deployed to\n the vehicle.

                                \n
                              • \n
                              • \n

                                \n HEALTHY - The campaign has been deployed to the vehicle.

                                \n
                              • \n
                              • \n

                                \n SUSPENDED - The campaign has been suspended and data collection is \n paused.

                                \n
                              • \n
                              • \n

                                \n DELETING - The campaign is being removed from the vehicle.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The status of a campaign, which can be one of the following:

                              \n
                                \n
                              • \n

                                \n CREATED - The campaign exists but is not yet approved.

                                \n
                              • \n
                              • \n

                                \n READY - The campaign is approved but has not been deployed to the vehicle. Data has not arrived at the vehicle yet.

                                \n
                              • \n
                              • \n

                                \n HEALTHY - The campaign is deployed to the vehicle.

                                \n
                              • \n
                              • \n

                                \n SUSPENDED - The campaign is suspended and data collection is paused.

                                \n
                              • \n
                              • \n

                                \n DELETING - The campaign is being removed from the vehicle.

                                \n
                              • \n
                              • \n

                                \n READY_FOR_CHECKIN - The campaign is approved and waiting for vehicle check-in before deployment.

                                \n
                              • \n
                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/kms.json b/tools/code-generation/smithy/api-descriptions/kms.json index ac2fa16cb63..78027891102 100644 --- a/tools/code-generation/smithy/api-descriptions/kms.json +++ b/tools/code-generation/smithy/api-descriptions/kms.json @@ -1006,7 +1006,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a unique customer managed KMS key in your Amazon Web Services account and Region.\n You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services\n services let you use KMS keys that you create and manage to protect your service\n resources.

                              \n

                              A KMS key is a logical representation of a cryptographic key. In addition to the key\n material used in cryptographic operations, a KMS key includes metadata, such as the key ID,\n key policy, creation date, description, and key state.

                              \n

                              Use the parameters of CreateKey to specify the type of KMS key, the source of\n its key material, its key policy, description, tags, and other properties.

                              \n \n

                              KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

                              \n
                              \n

                              To create different types of KMS keys, use the following guidance:

                              \n
                              \n
                              Symmetric encryption KMS key
                              \n
                              \n

                              By default, CreateKey creates a symmetric encryption KMS key with key\n material that KMS generates. This is the basic and most widely used type of KMS key, and\n provides the best performance.

                              \n

                              To create a symmetric encryption KMS key, you don't need to specify any parameters.\n The default value for KeySpec, SYMMETRIC_DEFAULT, the default\n value for KeyUsage, ENCRYPT_DECRYPT, and the default value for\n Origin, AWS_KMS, create a symmetric encryption KMS key with\n KMS key material.

                              \n

                              If you need a key for basic encryption and decryption or you are creating a KMS key\n to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key.\n The key material in a symmetric encryption key never leaves KMS unencrypted. You can\n use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but\n they are typically used to generate data keys and data keys pairs. For details, see\n GenerateDataKey and GenerateDataKeyPair.

                              \n

                              \n
                              \n
                              Asymmetric KMS keys
                              \n
                              \n

                              To create an asymmetric KMS key, use the KeySpec parameter to specify\n the type of key material in the KMS key. Then, use the KeyUsage parameter\n to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.\n You can't change these properties after the KMS key is created.

                              \n

                              Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an\n SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves\n KMS unencrypted. However, you can use the GetPublicKey operation to\n download the public key so it can be used outside of KMS. Each KMS key can have only\n one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or\n sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs\n can be used to sign and verify messages or derive shared secrets (but not both). KMS\n keys with ECC_SECG_P256K1 can be used only to sign and verify messages. KMS\n keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt\n data, sign and verify messages, or derive shared secrets (you must choose one key usage\n type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the\n Key Management Service Developer Guide.

                              \n

                              \n
                              \n
                              HMAC KMS key
                              \n
                              \n

                              To create an HMAC KMS key, set the KeySpec parameter to a key spec\n value for HMAC KMS keys. Then set the KeyUsage parameter to\n GENERATE_VERIFY_MAC. You must set the key usage even though\n GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys.\n You can't change these properties after the KMS key is created.

                              \n

                              HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use\n HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

                              \n

                              \n
                              \n
                              Multi-Region primary keys
                              \n
                              Imported key material
                              \n
                              \n

                              To create a multi-Region primary key in the local Amazon Web Services Region,\n use the MultiRegion parameter with a value of True. To create\n a multi-Region replica key, that is, a KMS key with the same key ID\n and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its\n primary key to a replica key, use the UpdatePrimaryRegion\n operation.

                              \n

                              You can create multi-Region KMS keys for all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't create multi-Region keys in a custom key store.

                              \n

                              This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              \n

                              \n
                              \n
                              \n

                              To import your own key material into a KMS key, begin by creating a KMS key with no\n key material. To do this, use the Origin parameter of\n CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use\n the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For\n step-by-step instructions, see Importing Key Material in the \n Key Management Service Developer Guide\n .

                              \n

                              You can import key material into KMS keys of all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't import key material into a KMS key in a custom key store.

                              \n

                              To create a multi-Region primary key with imported key material, use the\n Origin parameter of CreateKey with a value of\n EXTERNAL and the MultiRegion parameter with a value of\n True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material step\n 1. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              \n

                              \n
                              \n
                              Custom key store
                              \n
                              \n

                              A custom key store lets you protect your Amazon Web Services resources using keys in a backing key\n store that you own and manage. When you request a cryptographic operation with a KMS key\n in a custom key store, the operation is performed in the backing key store using its\n cryptographic keys.

                              \n

                              KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an\n external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store,\n KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS\n key. When you create a KMS key in an external key store, you specify an existing\n encryption key in the external key manager.

                              \n \n

                              Some external key managers provide a simpler method for creating a KMS key in an\n external key store. For details, see your external key manager documentation.

                              \n
                              \n

                              Before you create a KMS key in a custom key store, the ConnectionState\n of the key store must be CONNECTED. To connect the custom key store, use\n the ConnectCustomKeyStore operation. To find the\n ConnectionState, use the DescribeCustomKeyStores\n operation.

                              \n

                              To create a KMS key in a custom key store, use the CustomKeyStoreId.\n Use the default KeySpec value, SYMMETRIC_DEFAULT, and the\n default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric\n encryption key. No other key type is supported in a custom key store.

                              \n

                              To create a KMS key in an CloudHSM key store, use the\n Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM\n cluster that is associated with the custom key store must have at least two active HSMs\n in different Availability Zones in the Amazon Web Services Region.

                              \n

                              To create a KMS key in an external key store, use the\n Origin parameter with a value of EXTERNAL_KEY_STORE and an\n XksKeyId parameter that identifies an existing external key.

                              \n \n

                              Some external key managers provide a simpler method for creating a KMS key in an\n external key store. For details, see your external key manager documentation.

                              \n
                              \n
                              \n
                              \n

                              \n Cross-account use: No. You cannot use this operation to\n create a KMS key in a different Amazon Web Services account.

                              \n

                              \n Required permissions: kms:CreateKey (IAM policy). To use the\n Tags parameter, kms:TagResource (IAM policy). For examples and information about related\n permissions, see Allow a user\n to create KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n Related operations:\n

                              \n \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              " + "smithy.api#documentation": "

                              Creates a unique customer managed KMS key in your Amazon Web Services account and Region.\n You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services\n services let you use KMS keys that you create and manage to protect your service\n resources.

                              \n

                              A KMS key is a logical representation of a cryptographic key. In addition to the key\n material used in cryptographic operations, a KMS key includes metadata, such as the key ID,\n key policy, creation date, description, and key state.

                              \n

                              Use the parameters of CreateKey to specify the type of KMS key, the source of\n its key material, its key policy, description, tags, and other properties.

                              \n \n

                              KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

                              \n
                              \n

                              To create different types of KMS keys, use the following guidance:

                              \n
                              \n
                              Symmetric encryption KMS key
                              \n
                              \n

                              By default, CreateKey creates a symmetric encryption KMS key with key\n material that KMS generates. This is the basic and most widely used type of KMS key, and\n provides the best performance.

                              \n

                              To create a symmetric encryption KMS key, you don't need to specify any parameters.\n The default value for KeySpec, SYMMETRIC_DEFAULT, the default\n value for KeyUsage, ENCRYPT_DECRYPT, and the default value for\n Origin, AWS_KMS, create a symmetric encryption KMS key with\n KMS key material.

                              \n

                              If you need a key for basic encryption and decryption or you are creating a KMS key\n to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key.\n The key material in a symmetric encryption key never leaves KMS unencrypted. You can\n use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but\n they are typically used to generate data keys and data keys pairs. For details, see\n GenerateDataKey and GenerateDataKeyPair.

                              \n

                              \n
                              \n
                              Asymmetric KMS keys
                              \n
                              \n

                              To create an asymmetric KMS key, use the KeySpec parameter to specify\n the type of key material in the KMS key. Then, use the KeyUsage parameter\n to determine whether the KMS key will be used to encrypt and decrypt or sign and verify.\n You can't change these properties after the KMS key is created.

                              \n

                              Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, ML-DSA\n key pair or an SM2 key pair (China Regions only). The private key in an asymmetric KMS\n key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used\n outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs\n can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS\n keys with NIST-recommended ECC key pairs can be used to sign and verify messages or\n derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 can be\n used only to sign and verify messages. KMS keys with ML-DSA key pairs can be used to\n sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used\n to either encrypt and decrypt data, sign and verify messages, or derive shared secrets\n (you must choose one key usage type). For information about asymmetric KMS keys, see\n Asymmetric\n KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n
                              \n
                              HMAC KMS key
                              \n
                              \n

                              To create an HMAC KMS key, set the KeySpec parameter to a key spec\n value for HMAC KMS keys. Then set the KeyUsage parameter to\n GENERATE_VERIFY_MAC. You must set the key usage even though\n GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys.\n You can't change these properties after the KMS key is created.

                              \n

                              HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use\n HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

                              \n

                              \n
                              \n
                              Multi-Region primary keys
                              \n
                              Imported key material
                              \n
                              \n

                              To create a multi-Region primary key in the local Amazon Web Services Region,\n use the MultiRegion parameter with a value of True. To create\n a multi-Region replica key, that is, a KMS key with the same key ID\n and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its\n primary key to a replica key, use the UpdatePrimaryRegion\n operation.

                              \n

                              You can create multi-Region KMS keys for all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't create multi-Region keys in a custom key store.

                              \n

                              This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              \n

                              \n
                              \n
                              \n

                              To import your own key material into a KMS key, begin by creating a KMS key with no\n key material. To do this, use the Origin parameter of\n CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use\n the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For\n step-by-step instructions, see Importing Key Material in the \n Key Management Service Developer Guide\n .

                              \n

                              You can import key material into KMS keys of all supported KMS key types: symmetric\n encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric\n signing KMS keys. You can also create multi-Region keys with imported key material.\n However, you can't import key material into a KMS key in a custom key store.

                              \n

                              To create a multi-Region primary key with imported key material, use the\n Origin parameter of CreateKey with a value of\n EXTERNAL and the MultiRegion parameter with a value of\n True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material step\n 1. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              \n

                              \n
                              \n
                              Custom key store
                              \n
                              \n

                              A custom key store lets you protect your Amazon Web Services resources using keys in a backing key\n store that you own and manage. When you request a cryptographic operation with a KMS key\n in a custom key store, the operation is performed in the backing key store using its\n cryptographic keys.

                              \n

                              KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an\n external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store,\n KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS\n key. When you create a KMS key in an external key store, you specify an existing\n encryption key in the external key manager.

                              \n \n

                              Some external key managers provide a simpler method for creating a KMS key in an\n external key store. For details, see your external key manager documentation.

                              \n
                              \n

                              Before you create a KMS key in a custom key store, the ConnectionState\n of the key store must be CONNECTED. To connect the custom key store, use\n the ConnectCustomKeyStore operation. To find the\n ConnectionState, use the DescribeCustomKeyStores\n operation.

                              \n

                              To create a KMS key in a custom key store, use the CustomKeyStoreId.\n Use the default KeySpec value, SYMMETRIC_DEFAULT, and the\n default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric\n encryption key. No other key type is supported in a custom key store.

                              \n

                              To create a KMS key in an CloudHSM key store, use the\n Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM\n cluster that is associated with the custom key store must have at least two active HSMs\n in different Availability Zones in the Amazon Web Services Region.

                              \n

                              To create a KMS key in an external key store, use the\n Origin parameter with a value of EXTERNAL_KEY_STORE and an\n XksKeyId parameter that identifies an existing external key.

                              \n \n

                              Some external key managers provide a simpler method for creating a KMS key in an\n external key store. For details, see your external key manager documentation.

                              \n
                              \n
                              \n
                              \n

                              \n Cross-account use: No. You cannot use this operation to\n create a KMS key in a different Amazon Web Services account.

                              \n

                              \n Required permissions: kms:CreateKey (IAM policy). To use the\n Tags parameter, kms:TagResource (IAM policy). For examples and information about related\n permissions, see Allow a user\n to create KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n Related operations:\n

                              \n \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              " } }, "com.amazonaws.kms#CreateKeyRequest": { @@ -1015,7 +1015,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

                              The key policy to attach to the KMS key.

                              \n

                              If you provide a key policy, it must meet the following criteria:

                              \n
                                \n
                              • \n

                                The key policy must allow the calling principal to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk that\n the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit\n this condition, set BypassPolicyLockoutSafetyCheck to true.)

                                \n
                              • \n
                              • \n

                                Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal, you might need to enforce a delay before including the new principal in a key\n policy because the new principal might not be immediately visible to KMS. For more\n information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

                                \n
                              • \n
                              \n \n

                              If either of the required Resource or Action \n elements are missing from a key policy statement, the policy statement has \n no effect. When a key policy statement is missing one of these elements,\n the KMS console correctly reports an error, but the \n CreateKey and PutKeyPolicy API requests succeed, even though the policy \n statement is ineffective.

                              \n

                              For more information on required key policy elements, see Elements in a key policy in the Key Management Service Developer Guide.

                              \n
                              \n

                              If you do not provide a key policy, KMS attaches a default key policy to the KMS key.\n For more information, see Default key policy in the\n Key Management Service Developer Guide.

                              \n \n

                              If the key policy exceeds the length constraint, KMS returns a\n LimitExceededException.

                              \n
                              \n

                              For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

                              " + "smithy.api#documentation": "

                              The key policy to attach to the KMS key.

                              \n

                              If you provide a key policy, it must meet the following criteria:

                              \n
                                \n
                              • \n

                                The key policy must allow the calling principal to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk that\n the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit\n this condition, set BypassPolicyLockoutSafetyCheck to true.)

                                \n
                              • \n
                              • \n

                                Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal, you might need to enforce a delay before including the new principal in a key\n policy because the new principal might not be immediately visible to KMS. For more\n information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

                                \n
                              • \n
                              \n \n

                              If either of the required Resource or Action elements are\n missing from a key policy statement, the policy statement has no effect. When a key policy\n statement is missing one of these elements, the KMS console correctly reports an error,\n but the CreateKey and PutKeyPolicy API requests succeed, even\n though the policy statement is ineffective.

                              \n

                              For more information on required key policy elements, see Elements in a key\n policy in the Key Management Service Developer Guide.

                              \n
                              \n

                              If you do not provide a key policy, KMS attaches a default key policy to the KMS key.\n For more information, see Default key policy in the\n Key Management Service Developer Guide.

                              \n \n

                              If the key policy exceeds the length constraint, KMS returns a\n LimitExceededException.

                              \n
                              \n

                              For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

                              " } }, "Description": { @@ -1027,7 +1027,7 @@ "KeyUsage": { "target": "com.amazonaws.kms#KeyUsageType", "traits": { - "smithy.api#documentation": "

                              Determines the cryptographic operations for which you can use the KMS key. The default value is\n ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric\n encryption KMS key; otherwise, it is required. You can't change the KeyUsage\n value after the KMS key is created.

                              \n

                              Select only one valid value.

                              \n
                                \n
                              • \n

                                For symmetric encryption KMS keys, omit the parameter or specify\n ENCRYPT_DECRYPT.

                                \n
                              • \n
                              • \n

                                For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT or\n SIGN_VERIFY.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify\n SIGN_VERIFY or KEY_AGREEMENT.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with ECC_SECG_P256K1 key pairs specify\n SIGN_VERIFY.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with SM2 key pairs (China Regions only), specify\n ENCRYPT_DECRYPT, SIGN_VERIFY, or\n KEY_AGREEMENT.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Determines the cryptographic operations for which you can use the KMS key. The default value is\n ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric\n encryption KMS key; otherwise, it is required. You can't change the KeyUsage\n value after the KMS key is created.

                              \n

                              Select only one valid value.

                              \n
                                \n
                              • \n

                                For symmetric encryption KMS keys, omit the parameter or specify\n ENCRYPT_DECRYPT.

                                \n
                              • \n
                              • \n

                                For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT or\n SIGN_VERIFY.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify\n SIGN_VERIFY or KEY_AGREEMENT.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with ECC_SECG_P256K1 key pairs, specify\n SIGN_VERIFY.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with ML-DSA key pairs, specify\n SIGN_VERIFY.

                                \n
                              • \n
                              • \n

                                For asymmetric KMS keys with SM2 key pairs (China Regions only), specify\n ENCRYPT_DECRYPT, SIGN_VERIFY, or\n KEY_AGREEMENT.

                                \n
                              • \n
                              " } }, "CustomerMasterKeySpec": { @@ -1042,7 +1042,7 @@ "KeySpec": { "target": "com.amazonaws.kms#KeySpec", "traits": { - "smithy.api#documentation": "

                              Specifies the type of KMS key to create. The default value,\n SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for\n encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key\n that uses SM4 encryption. For a detailed description of all supported key specs, see Key spec\n reference in the \n Key Management Service Developer Guide\n .

                              \n

                              The KeySpec determines whether the KMS key contains a symmetric key or an\n asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't\n change the KeySpec after the KMS key is created. To further restrict the\n algorithms that can be used with the KMS key, use a condition key in its key policy or IAM\n policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm, kms:KeyAgreementAlgorithm, or kms:SigningAlgorithm in the \n Key Management Service Developer Guide\n .

                              \n \n

                              \n Amazon Web Services services that\n are integrated with KMS use symmetric encryption KMS keys to protect your data.\n These services do not support asymmetric KMS keys or HMAC KMS keys.

                              \n
                              \n

                              KMS supports the following key specs for KMS keys:

                              \n
                                \n
                              • \n

                                Symmetric encryption key (default)

                                \n
                                  \n
                                • \n

                                  \n SYMMETRIC_DEFAULT\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                HMAC keys (symmetric)

                                \n
                                  \n
                                • \n

                                  \n HMAC_224\n

                                  \n
                                • \n
                                • \n

                                  \n HMAC_256\n

                                  \n
                                • \n
                                • \n

                                  \n HMAC_384\n

                                  \n
                                • \n
                                • \n

                                  \n HMAC_512\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Asymmetric RSA key pairs (encryption and decryption -or- signing and\n verification)

                                \n
                                  \n
                                • \n

                                  \n RSA_2048\n

                                  \n
                                • \n
                                • \n

                                  \n RSA_3072\n

                                  \n
                                • \n
                                • \n

                                  \n RSA_4096\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or-\n deriving shared secrets)

                                \n
                                  \n
                                • \n

                                  \n ECC_NIST_P256 (secp256r1)

                                  \n
                                • \n
                                • \n

                                  \n ECC_NIST_P384 (secp384r1)

                                  \n
                                • \n
                                • \n

                                  \n ECC_NIST_P521 (secp521r1)

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Other asymmetric elliptic curve key pairs (signing and verification)

                                \n
                                  \n
                                • \n

                                  \n ECC_SECG_P256K1 (secp256k1), commonly used for\n cryptocurrencies.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving\n shared secrets)

                                \n
                                  \n
                                • \n

                                  \n SM2 (China Regions only)

                                  \n
                                • \n
                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Specifies the type of KMS key to create. The default value,\n SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for\n encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key\n that uses SM4 encryption. For a detailed description of all supported key specs, see Key spec\n reference in the \n Key Management Service Developer Guide\n .

                              \n

                              The KeySpec determines whether the KMS key contains a symmetric key or an\n asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't\n change the KeySpec after the KMS key is created. To further restrict the\n algorithms that can be used with the KMS key, use a condition key in its key policy or IAM\n policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm, kms:KeyAgreementAlgorithm, or kms:SigningAlgorithm in the \n Key Management Service Developer Guide\n .

                              \n \n

                              \n Amazon Web Services services that\n are integrated with KMS use symmetric encryption KMS keys to protect your data.\n These services do not support asymmetric KMS keys or HMAC KMS keys.

                              \n
                              \n

                              KMS supports the following key specs for KMS keys:

                              \n
                                \n
                              • \n

                                Symmetric encryption key (default)

                                \n
                                  \n
                                • \n

                                  \n SYMMETRIC_DEFAULT\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                HMAC keys (symmetric)

                                \n
                                  \n
                                • \n

                                  \n HMAC_224\n

                                  \n
                                • \n
                                • \n

                                  \n HMAC_256\n

                                  \n
                                • \n
                                • \n

                                  \n HMAC_384\n

                                  \n
                                • \n
                                • \n

                                  \n HMAC_512\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Asymmetric RSA key pairs (encryption and decryption -or- signing and\n verification)

                                \n
                                  \n
                                • \n

                                  \n RSA_2048\n

                                  \n
                                • \n
                                • \n

                                  \n RSA_3072\n

                                  \n
                                • \n
                                • \n

                                  \n RSA_4096\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or-\n deriving shared secrets)

                                \n
                                  \n
                                • \n

                                  \n ECC_NIST_P256 (secp256r1)

                                  \n
                                • \n
                                • \n

                                  \n ECC_NIST_P384 (secp384r1)

                                  \n
                                • \n
                                • \n

                                  \n ECC_NIST_P521 (secp521r1)

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Other asymmetric elliptic curve key pairs (signing and verification)

                                \n
                                  \n
                                • \n

                                  \n ECC_SECG_P256K1 (secp256k1), commonly used for\n cryptocurrencies.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                Asymmetric ML-DSA key pairs (signing and verification)

                                \n
                                  \n
                                • \n

                                  \n ML_DSA_44\n

                                  \n
                                • \n
                                • \n

                                  \n ML_DSA_65\n

                                  \n
                                • \n
                                • \n

                                  \n ML_DSA_87\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving\n shared secrets)

                                \n
                                  \n
                                • \n

                                  \n SM2 (China Regions only)

                                  \n
                                • \n
                                \n
                              • \n
                              " } }, "Origin": { @@ -1503,7 +1503,8 @@ "output": { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Plaintext": "", - "EncryptionAlgorithm": "SYMMETRIC_DEFAULT" + "EncryptionAlgorithm": "SYMMETRIC_DEFAULT", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } } ] @@ -1741,7 +1742,8 @@ "title": "To delete imported key material", "documentation": "The following example deletes the imported key material from the specified KMS key.", "input": { - "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } } ] @@ -2150,6 +2152,7 @@ "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", + "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], @@ -2884,7 +2887,8 @@ "output": { "CiphertextBlob": "", "Plaintext": "", - "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } } ] @@ -2945,6 +2949,7 @@ "PrivateKeyPlaintext": "", "PublicKey": "", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "KeyPairSpec": "RSA_3072" } } @@ -2970,7 +2975,7 @@ "KeyPairSpec": { "target": "com.amazonaws.kms#DataKeyPairSpec", "traits": { - "smithy.api#documentation": "

                              Determines the type of data key pair that is generated.

                              \n

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              ", + "smithy.api#documentation": "

                              Determines the type of data key pair that is generated.

                              \n

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), the rule that permits you to use ECC KMS keys only to sign and verify, and the rule that permits you to use ML-DSA key pairs to sign and verify only are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              ", "smithy.api#required": {} } }, @@ -3039,7 +3044,7 @@ "KeyMaterialId": { "target": "com.amazonaws.kms#BackingKeyIdType", "traits": { - "smithy.api#documentation": "

                              The identifier of the key material used to encrypt the private key. This field is omitted if the request\n includes the Recipient parameter.

                              " + "smithy.api#documentation": "

                              The identifier of the key material used to encrypt the private key.

                              " } } }, @@ -3101,6 +3106,7 @@ "PrivateKeyCiphertextBlob": "", "PublicKey": "", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "KeyPairSpec": "ECC_NIST_P521" } } @@ -3126,7 +3132,7 @@ "KeyPairSpec": { "target": "com.amazonaws.kms#DataKeyPairSpec", "traits": { - "smithy.api#documentation": "

                              Determines the type of data key pair that is generated.

                              \n

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC KMS keys only to sign and verify, are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              ", + "smithy.api#documentation": "

                              Determines the type of data key pair that is generated.

                              \n

                              The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys to encrypt and decrypt or to sign and verify (but not both), the rule that permits you to use ECC KMS keys only to sign and verify, and the rule that permits you to use ML-DSA key pairs to sign and verify only are not effective on data key pairs, which are used outside of KMS. The SM2 key spec is only available in China Regions.

                              ", "smithy.api#required": {} } }, @@ -3323,7 +3329,8 @@ }, "output": { "CiphertextBlob": "", - "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } } ] @@ -4305,6 +4312,10 @@ "ImportToken": "", "EncryptedKeyMaterial": "", "ExpirationModel": "KEY_MATERIAL_DOES_NOT_EXPIRE" + }, + "output": { + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } } ] @@ -5057,6 +5068,24 @@ "traits": { "smithy.api#enumValue": "SM2" } + }, + "ML_DSA_44": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ML_DSA_44" + } + }, + "ML_DSA_65": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ML_DSA_65" + } + }, + "ML_DSA_87": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ML_DSA_87" + } } } }, @@ -6005,6 +6034,12 @@ "traits": { "smithy.api#enumValue": "DIGEST" } + }, + "EXTERNAL_MU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXTERNAL_MU" + } } } }, @@ -6267,7 +6302,7 @@ "Policy": { "target": "com.amazonaws.kms#PolicyType", "traits": { - "smithy.api#documentation": "

                              The key policy to attach to the KMS key.

                              \n

                              The key policy must meet the following criteria:

                              \n
                                \n
                              • \n

                                The key policy must allow the calling principal to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk that\n the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit\n this condition, set BypassPolicyLockoutSafetyCheck to true.)

                                \n
                              • \n
                              • \n

                                Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal, you might need to enforce a delay before including the new principal in a key\n policy because the new principal might not be immediately visible to KMS. For more\n information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

                                \n
                              • \n
                              \n \n

                              If either of the required Resource or Action \n elements are missing from a key policy statement, the policy statement has \n no effect. When a key policy statement is missing one of these elements,\n the KMS console correctly reports an error, but the \n PutKeyPolicy API request succeeds, even though the policy \n statement is ineffective.

                              \n

                              For more information on required key policy elements, see Elements in a key policy in the Key Management Service Developer Guide.

                              \n
                              \n

                              A key policy document can include only the following characters:

                              \n
                                \n
                              • \n

                                Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

                                \n
                              • \n
                              • \n

                                Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

                                \n
                              • \n
                              • \n

                                The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

                                \n
                              • \n
                              \n \n

                              If the key policy exceeds the length constraint, KMS returns a\n LimitExceededException.

                              \n
                              \n

                              For information about key policies, see Key policies in KMS in the\n Key Management Service Developer Guide.For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

                              ", + "smithy.api#documentation": "

                              The key policy to attach to the KMS key.

                              \n

                              The key policy must meet the following criteria:

                              \n
                                \n
                              • \n

                                The key policy must allow the calling principal to make a\n subsequent PutKeyPolicy request on the KMS key. This reduces the risk that\n the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit\n this condition, set BypassPolicyLockoutSafetyCheck to true.)

                                \n
                              • \n
                              • \n

                                Each statement in the key policy must contain one or more principals. The principals\n in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services\n principal, you might need to enforce a delay before including the new principal in a key\n policy because the new principal might not be immediately visible to KMS. For more\n information, see Changes that I make are not always immediately visible in the Amazon Web Services\n Identity and Access Management User Guide.

                                \n
                              • \n
                              \n \n

                              If either of the required Resource or Action elements are\n missing from a key policy statement, the policy statement has no effect. When a key policy\n statement is missing one of these elements, the KMS console correctly reports an error,\n but the PutKeyPolicy API request succeeds, even though the policy statement is\n ineffective.

                              \n

                              For more information on required key policy elements, see Elements in a key\n policy in the Key Management Service Developer Guide.

                              \n
                              \n

                              A key policy document can include only the following characters:

                              \n
                                \n
                              • \n

                                Printable ASCII characters from the space character (\\u0020) through the end of the ASCII character range.

                                \n
                              • \n
                              • \n

                                Printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF).

                                \n
                              • \n
                              • \n

                                The tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) special characters

                                \n
                              • \n
                              \n \n

                              If the key policy exceeds the length constraint, KMS returns a\n LimitExceededException.

                              \n
                              \n

                              For information about key policies, see Key policies in KMS in the\n Key Management Service Developer Guide.For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the \n Identity and Access Management User Guide\n .

                              ", "smithy.api#required": {} } }, @@ -6339,7 +6374,11 @@ "output": { "CiphertextBlob": "", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", - "SourceKeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + "DestinationKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", + "DestinationEncryptionAlgorithm": "SYMMETRIC_DEFAULT", + "SourceEncryptionAlgorithm": "SYMMETRIC_DEFAULT", + "SourceKeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "SourceKeyMaterialId": "1c6be7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } } ] @@ -6841,7 +6880,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Immediately initiates rotation of the key material of the specified symmetric encryption\n KMS key.

                              \n

                              You can perform on-demand rotation of\n the key material in customer managed KMS keys, regardless of whether or not automatic key\n rotation is enabled. On-demand rotations do not change existing automatic rotation\n schedules. For example, consider a KMS key that has automatic key rotation enabled with a\n rotation period of 730 days. If the key is scheduled to automatically rotate on April 14,\n 2024, and you perform an on-demand rotation on April 10, 2024, the key will automatically\n rotate, as scheduled, on April 14, 2024 and every 730 days thereafter.

                              \n \n

                              You can perform on-demand key rotation a maximum of 10\n times per KMS key. You can use the KMS console to view the number of\n remaining on-demand rotations available for a KMS key.

                              \n
                              \n

                              You can use GetKeyRotationStatus to identify any in progress on-demand\n rotations. You can use ListKeyRotations to identify the date that completed\n on-demand rotations were performed. You can monitor rotation of the key material for your KMS\n keys in CloudTrail and Amazon CloudWatch.

                              \n

                              On-demand key rotation is supported only on symmetric encryption KMS keys. You cannot\n perform on-demand rotation of asymmetric KMS keys,\n HMAC KMS keys, multi-Region KMS keys\n with imported key material,\n or KMS keys in a custom key store. When you initiate on-demand key rotation on a symmetric encryption KMS key\n with imported key material, you must have already imported\n new key material\n and that key material's state should be PENDING_ROTATION. Use the ListKeyRotations\n operation to check the state of all key materials associated with a KMS key. To perform on-demand rotation of\n a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

                              \n

                              You cannot initiate on-demand rotation of Amazon Web Services managed KMS keys. KMS\n always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS\n keys is managed by the Amazon Web Services service that owns the key.

                              \n

                              The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

                              \n

                              \n Required permissions: kms:RotateKeyOnDemand (key policy)

                              \n

                              \n Related operations:\n

                              \n \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              ", + "smithy.api#documentation": "

                              Immediately initiates rotation of the key material of the specified symmetric encryption\n KMS key.

                              \n

                              You can perform on-demand rotation of the key\n material in customer managed KMS keys, regardless of whether or not automatic key\n rotation is enabled. On-demand rotations do not change existing automatic rotation\n schedules. For example, consider a KMS key that has automatic key rotation enabled with a\n rotation period of 730 days. If the key is scheduled to automatically rotate on April 14,\n 2024, and you perform an on-demand rotation on April 10, 2024, the key will automatically\n rotate, as scheduled, on April 14, 2024 and every 730 days thereafter.

                              \n \n

                              You can perform on-demand key rotation a maximum of 10\n times per KMS key. You can use the KMS console to view the number of\n remaining on-demand rotations available for a KMS key.

                              \n
                              \n

                              You can use GetKeyRotationStatus to identify any in progress on-demand\n rotations. You can use ListKeyRotations to identify the date that completed\n on-demand rotations were performed. You can monitor rotation of the key material for your KMS\n keys in CloudTrail and Amazon CloudWatch.

                              \n

                              On-demand key rotation is supported only on symmetric encryption KMS keys. You cannot\n perform on-demand rotation of asymmetric KMS keys,\n HMAC KMS keys, multi-Region KMS keys\n with imported key material,\n or KMS keys in a custom key store. When you initiate on-demand key rotation on a symmetric encryption KMS key\n with imported key material, you must have already imported\n new key material\n and that key material's state should be PENDING_ROTATION. Use the ListKeyRotations\n operation to check the state of all key materials associated with a KMS key. To perform on-demand rotation of\n a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

                              \n

                              You cannot initiate on-demand rotation of Amazon Web Services managed KMS keys. KMS\n always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS\n keys is managed by the Amazon Web Services service that owns the key.

                              \n

                              The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

                              \n

                              \n Required permissions: kms:RotateKeyOnDemand (key policy)

                              \n

                              \n Related operations:\n

                              \n \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              ", "smithy.api#examples": [ { "title": "To perform on-demand rotation of key material", @@ -7099,7 +7138,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a digital\n signature for a message or message digest by using the private key in an asymmetric\n signing KMS key. To verify the signature, use the Verify operation, or use\n the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

                              \n

                              Digital signatures are generated and verified by using asymmetric key pair, such as an RSA\n or ECC pair that is represented by an asymmetric KMS key. The key owner (or an authorized\n user) uses their private key to sign a message. Anyone with the public key can verify that the\n message was signed with that particular private key and that the message hasn't changed since\n it was signed.

                              \n

                              To use the Sign operation, provide the following information:

                              \n
                                \n
                              • \n

                                Use the KeyId parameter to identify an asymmetric KMS key with a\n KeyUsage value of SIGN_VERIFY. To get the\n KeyUsage value of a KMS key, use the DescribeKey\n operation. The caller must have kms:Sign permission on the KMS key.

                                \n
                              • \n
                              • \n

                                Use the Message parameter to specify the message or message digest to\n sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a\n hash digest of the message, and then provide the hash digest in the Message\n parameter. To indicate whether the message is a full message or a digest, use the\n MessageType parameter.

                                \n
                              • \n
                              • \n

                                Choose a signing algorithm that is compatible with the KMS key.

                                \n
                              • \n
                              \n \n

                              When signing a message, be sure to record the KMS key and the signing algorithm. This\n information is required to verify the signature.

                              \n
                              \n \n

                              Best practices recommend that you limit the time during which any signature is\n effective. This deters an attack where the actor uses a signed message to establish validity\n repeatedly or long after the message is superseded. Signatures do not include a timestamp,\n but you can include a timestamp in the signed message to help you detect when its time to\n refresh the signature.

                              \n
                              \n

                              To verify the signature that this operation generates, use the Verify\n operation. Or use the GetPublicKey operation to download the public key and\n then use the public key to verify the signature outside of KMS.

                              \n

                              The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

                              \n

                              \n Required permissions: kms:Sign (key policy)

                              \n

                              \n Related operations: Verify\n

                              \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              ", + "smithy.api#documentation": "

                              Creates a digital\n signature for a message or message digest by using the private key in an asymmetric\n signing KMS key. To verify the signature, use the Verify operation, or use\n the public key in the same asymmetric KMS key outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

                              \n

                              Digital signatures are generated and verified by using asymmetric key pair, such as an\n RSA, ECC, or ML-DSA pair that is represented by an asymmetric KMS key. The key owner (or an\n authorized user) uses their private key to sign a message. Anyone with the public key can\n verify that the message was signed with that particular private key and that the message\n hasn't changed since it was signed.

                              \n

                              To use the Sign operation, provide the following information:

                              \n
                                \n
                              • \n

                                Use the KeyId parameter to identify an asymmetric KMS key with a\n KeyUsage value of SIGN_VERIFY. To get the\n KeyUsage value of a KMS key, use the DescribeKey\n operation. The caller must have kms:Sign permission on the KMS key.

                                \n
                              • \n
                              • \n

                                Use the Message parameter to specify the message or message digest to\n sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a\n hash digest of the message, and then provide the hash digest in the Message\n parameter. To indicate whether the message is a full message, a digest, or an ML-DSA\n EXTERNAL_MU, use the MessageType parameter.

                                \n
                              • \n
                              • \n

                                Choose a signing algorithm that is compatible with the KMS key.

                                \n
                              • \n
                              \n \n

                              When signing a message, be sure to record the KMS key and the signing algorithm. This\n information is required to verify the signature.

                              \n
                              \n \n

                              Best practices recommend that you limit the time during which any signature is\n effective. This deters an attack where the actor uses a signed message to establish validity\n repeatedly or long after the message is superseded. Signatures do not include a timestamp,\n but you can include a timestamp in the signed message to help you detect when its time to\n refresh the signature.

                              \n
                              \n

                              To verify the signature that this operation generates, use the Verify\n operation. Or use the GetPublicKey operation to download the public key and\n then use the public key to verify the signature outside of KMS.

                              \n

                              The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

                              \n

                              \n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

                              \n

                              \n Required permissions: kms:Sign (key policy)

                              \n

                              \n Related operations: Verify\n

                              \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              ", "smithy.api#examples": [ { "title": "To digitally sign a message digest with an asymmetric KMS key.", @@ -7154,7 +7193,7 @@ "MessageType": { "target": "com.amazonaws.kms#MessageType", "traits": { - "smithy.api#documentation": "

                              Tells KMS whether the value of the Message parameter should be hashed as\n part of the signing algorithm. Use RAW for unhashed messages; use\n DIGEST for message digests, which are already hashed.

                              \n

                              When the value of MessageType is RAW, KMS uses the standard\n signing algorithm, which begins with a hash function. When the value is DIGEST,\n KMS skips the hashing step in the signing algorithm.

                              \n \n

                              Use the DIGEST value only when the value of the Message\n parameter is a message digest. If you use the DIGEST value with an unhashed\n message, the security of the signing operation can be compromised.

                              \n
                              \n

                              When the value of MessageTypeis DIGEST, the length of the\n Message value must match the length of hashed messages for the specified\n signing algorithm.

                              \n

                              You can submit a message digest and omit the MessageType or specify\n RAW so the digest is hashed again while signing. However, this can cause\n verification failures when verifying with a system that assumes a single hash.

                              \n

                              The hashing algorithm in that Sign uses is based on the\n SigningAlgorithm value.

                              \n
                                \n
                              • \n

                                Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                                \n
                              • \n
                              • \n

                                SM2DSA uses the SM3 hashing algorithm. For details, see Offline\n verification with SM2 key pairs.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Tells KMS whether the value of the Message parameter should be hashed as\n part of the signing algorithm. Use RAW for unhashed messages; use\n DIGEST for message digests, which are already hashed; use\n EXTERNAL_MU for 64-byte representative μ used in ML-DSA signing as defined\n in NIST FIPS 204 Section 6.2.

                              \n

                              When the value of MessageType is RAW, KMS uses the standard\n signing algorithm, which begins with a hash function. When the value is DIGEST,\n KMS skips the hashing step in the signing algorithm. When the value is\n EXTERNAL_MU KMS skips the concatenated hashing of the public key hash and the\n message done in the ML-DSA signing algorithm.

                              \n \n

                              Use the DIGEST or EXTERNAL_MU value only when the value of the\n Message parameter is a message digest. If you use the DIGEST\n value with an unhashed message, the security of the signing operation can be\n compromised.

                              \n
                              \n

                              When the value of MessageType is DIGEST, the length of the\n Message value must match the length of hashed messages for the specified\n signing algorithm.

                              \n

                              When the value of MessageType is EXTERNAL_MU the length of the\n Message value must be 64 bytes.

                              \n

                              You can submit a message digest and omit the MessageType or specify\n RAW so the digest is hashed again while signing. However, this can cause\n verification failures when verifying with a system that assumes a single hash.

                              \n

                              The hashing algorithm that Sign uses is based on the\n SigningAlgorithm value.

                              \n
                                \n
                              • \n

                                Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHAKE_256 use the SHAKE_256 hashing algorithm.

                                \n
                              • \n
                              • \n

                                SM2DSA uses the SM3 hashing algorithm. For details, see Offline\n verification with SM2 key pairs.

                                \n
                              • \n
                              " } }, "GrantTokens": { @@ -7269,6 +7308,12 @@ "traits": { "smithy.api#enumValue": "SM2DSA" } + }, + "ML_DSA_SHAKE_256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ML_DSA_SHAKE_256" + } } } }, @@ -9263,7 +9308,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Changes the primary key of a multi-Region key.

                              \n

                              This operation changes the replica key in the specified Region to a primary key and\n changes the former primary key to a replica key. For example, suppose you have a primary key\n in us-east-1 and a replica key in eu-west-2. If you run\n UpdatePrimaryRegion with a PrimaryRegion value of\n eu-west-2, the primary key is now the key in eu-west-2, and the\n key in us-east-1 becomes a replica key. For details, see Change the primary key in a set of multi-Region keys in the Key Management Service Developer Guide.

                              \n

                              This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              \n

                              The primary key of a multi-Region key is the source for properties\n that are always shared by primary and replica keys, including the key material, key ID, key spec, key usage, key material\n origin, and automatic\n key rotation. It's the only key that can be replicated. You cannot delete the primary\n key until all replica keys are deleted.

                              \n

                              The key ID and primary Region that you specify uniquely identify the replica key that will\n become the primary key. The primary Region must already have a replica key. This operation\n does not create a KMS key in the specified Region. To find the replica keys, use the DescribeKey operation on the primary key or any replica key. To create a replica\n key, use the ReplicateKey operation.

                              \n

                              You can run this operation while using the affected multi-Region keys in cryptographic\n operations. This operation should not delay, interrupt, or cause failures in cryptographic\n operations.

                              \n

                              Even after this operation completes, the process of updating the primary Region might\n still be in progress for a few more seconds. Operations such as DescribeKey might\n display both the old and new primary keys as replicas. The old and new primary keys have a\n transient key state of Updating. The original key state is restored when the\n update is complete. While the key state is Updating, you can use the keys in\n cryptographic operations, but you cannot replicate the new primary key or perform certain\n management operations, such as enabling or disabling these keys. For details about the\n Updating key state, see Key states of KMS keys in the Key Management Service Developer Guide.

                              \n

                              This operation does not return any output. To verify that primary key is changed, use the\n DescribeKey operation.

                              \n

                              \n Cross-account use: No. You cannot use this operation in a\n different Amazon Web Services account.

                              \n

                              \n Required permissions:

                              \n
                                \n
                              • \n

                                \n kms:UpdatePrimaryRegion on the current primary key (in the primary key's\n Region). Include this permission primary key's key policy.

                                \n
                              • \n
                              • \n

                                \n kms:UpdatePrimaryRegion on the current replica key (in the replica key's\n Region). Include this permission in the replica key's key policy.

                                \n
                              • \n
                              \n

                              \n Related operations\n

                              \n \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              ", + "smithy.api#documentation": "

                              Changes the primary key of a multi-Region key.

                              \n

                              This operation changes the replica key in the specified Region to a primary key and\n changes the former primary key to a replica key. For example, suppose you have a primary key\n in us-east-1 and a replica key in eu-west-2. If you run\n UpdatePrimaryRegion with a PrimaryRegion value of\n eu-west-2, the primary key is now the key in eu-west-2, and the\n key in us-east-1 becomes a replica key. For details, see Change the primary key in a\n set of multi-Region keys in the Key Management Service Developer Guide.

                              \n

                              This operation supports multi-Region keys, an KMS feature that lets you create multiple\n interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key\n material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt\n it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

                              \n

                              The primary key of a multi-Region key is the source for properties\n that are always shared by primary and replica keys, including the key material, key ID, key spec, key usage, key material\n origin, and automatic\n key rotation. It's the only key that can be replicated. You cannot delete the primary\n key until all replica keys are deleted.

                              \n

                              The key ID and primary Region that you specify uniquely identify the replica key that will\n become the primary key. The primary Region must already have a replica key. This operation\n does not create a KMS key in the specified Region. To find the replica keys, use the DescribeKey operation on the primary key or any replica key. To create a replica\n key, use the ReplicateKey operation.

                              \n

                              You can run this operation while using the affected multi-Region keys in cryptographic\n operations. This operation should not delay, interrupt, or cause failures in cryptographic\n operations.

                              \n

                              Even after this operation completes, the process of updating the primary Region might\n still be in progress for a few more seconds. Operations such as DescribeKey might\n display both the old and new primary keys as replicas. The old and new primary keys have a\n transient key state of Updating. The original key state is restored when the\n update is complete. While the key state is Updating, you can use the keys in\n cryptographic operations, but you cannot replicate the new primary key or perform certain\n management operations, such as enabling or disabling these keys. For details about the\n Updating key state, see Key states of KMS keys in the Key Management Service Developer Guide.

                              \n

                              This operation does not return any output. To verify that primary key is changed, use the\n DescribeKey operation.

                              \n

                              \n Cross-account use: No. You cannot use this operation in a\n different Amazon Web Services account.

                              \n

                              \n Required permissions:

                              \n
                                \n
                              • \n

                                \n kms:UpdatePrimaryRegion on the current primary key (in the primary key's\n Region). Include this permission primary key's key policy.

                                \n
                              • \n
                              • \n

                                \n kms:UpdatePrimaryRegion on the current replica key (in the replica key's\n Region). Include this permission in the replica key's key policy.

                                \n
                              • \n
                              \n

                              \n Related operations\n

                              \n \n

                              \n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

                              ", "smithy.api#examples": [ { "title": "To update the primary Region of a multi-Region KMS key", @@ -9529,7 +9574,7 @@ "MessageType": { "target": "com.amazonaws.kms#MessageType", "traits": { - "smithy.api#documentation": "

                              Tells KMS whether the value of the Message parameter should be hashed as\n part of the signing algorithm. Use RAW for unhashed messages; use\n DIGEST for message digests, which are already hashed.

                              \n

                              When the value of MessageType is RAW, KMS uses the standard\n signing algorithm, which begins with a hash function. When the value is DIGEST,\n KMS skips the hashing step in the signing algorithm.

                              \n \n

                              Use the DIGEST value only when the value of the Message\n parameter is a message digest. If you use the DIGEST value with an unhashed\n message, the security of the verification operation can be compromised.

                              \n
                              \n

                              When the value of MessageTypeis DIGEST, the length of the\n Message value must match the length of hashed messages for the specified\n signing algorithm.

                              \n

                              You can submit a message digest and omit the MessageType or specify\n RAW so the digest is hashed again while signing. However, if the signed message\n is hashed once while signing, but twice while verifying, verification fails, even when the\n message hasn't changed.

                              \n

                              The hashing algorithm in that Verify uses is based on the\n SigningAlgorithm value.

                              \n
                                \n
                              • \n

                                Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                                \n
                              • \n
                              • \n

                                SM2DSA uses the SM3 hashing algorithm. For details, see Offline\n verification with SM2 key pairs.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Tells KMS whether the value of the Message parameter should be hashed as\n part of the signing algorithm. Use RAW for unhashed messages; use\n DIGEST for message digests, which are already hashed; use\n EXTERNAL_MU for 64-byte representative μ used in ML-DSA signing as defined\n in NIST FIPS 204 Section 6.2.

                              \n

                              When the value of MessageType is RAW, KMS uses the standard\n signing algorithm, which begins with a hash function. When the value is DIGEST,\n KMS skips the hashing step in the signing algorithm. When the value is\n EXTERNAL_MU KMS skips the concatenated hashing of the public key hash and the\n message done in the ML-DSA signing algorithm.

                              \n \n

                              Use the DIGEST or EXTERNAL_MU value only when the value of the\n Message parameter is a message digest. If you use the DIGEST\n value with an unhashed message, the security of the signing operation can be\n compromised.

                              \n
                              \n

                              When the value of MessageType is DIGEST, the length of the\n Message value must match the length of hashed messages for the specified\n signing algorithm.

                              \n

                              When the value of MessageType is EXTERNAL_MU the length of the\n Message value must be 64 bytes.

                              \n

                              You can submit a message digest and omit the MessageType or specify\n RAW so the digest is hashed again while signing. However, if the signed message\n is hashed once while signing, but twice while verifying, verification fails, even when the\n message hasn't changed.

                              \n

                              The hashing algorithm that Verify uses is based on the\n SigningAlgorithm value.

                              \n
                                \n
                              • \n

                                Signing algorithms that end in SHA_256 use the SHA_256 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_384 use the SHA_384 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHA_512 use the SHA_512 hashing algorithm.

                                \n
                              • \n
                              • \n

                                Signing algorithms that end in SHAKE_256 use the SHAKE_256 hashing algorithm.

                                \n
                              • \n
                              • \n

                                SM2DSA uses the SM3 hashing algorithm. For details, see Offline\n verification with SM2 key pairs.

                                \n
                              • \n
                              " } }, "Signature": { diff --git a/tools/code-generation/smithy/api-descriptions/lambda.json b/tools/code-generation/smithy/api-descriptions/lambda.json index a242570ff53..d6f5ee8d09d 100644 --- a/tools/code-generation/smithy/api-descriptions/lambda.json +++ b/tools/code-generation/smithy/api-descriptions/lambda.json @@ -2045,6 +2045,12 @@ "traits": { "smithy.api#documentation": "

                              The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n Customizable consumer group ID.

                              " } + }, + "SchemaRegistryConfig": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryConfig", + "traits": { + "smithy.api#documentation": "

                              Specific configuration settings for a Kafka schema registry.

                              " + } } }, "traits": { @@ -2593,7 +2599,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                              \n

                              For details about how to configure different event sources, see the following topics.

                              \n \n

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              \n
                                \n
                              • \n

                                \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                                \n
                              • \n
                              • \n

                                \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                                \n
                              • \n
                              • \n

                                \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                                \n
                              • \n
                              • \n

                                \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                                \n
                              • \n
                              \n

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              \n
                                \n
                              • \n

                                \n DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket.

                                \n
                              • \n
                              \n

                              For information about which configuration parameters apply to each event source, see the following topics.

                              \n ", + "smithy.api#documentation": "

                              Creates a mapping between an event source and an Lambda function. Lambda reads items from the event source and invokes the function.

                              \n

                              For details about how to configure different event sources, see the following topics.

                              \n \n

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              \n
                                \n
                              • \n

                                \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                                \n
                              • \n
                              • \n

                                \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                                \n
                              • \n
                              • \n

                                \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                                \n
                              • \n
                              • \n

                                \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                                \n
                              • \n
                              \n

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              \n
                                \n
                              • \n

                                \n OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket. For more information, see Adding a destination.

                                \n
                              • \n
                              \n

                              For information about which configuration parameters apply to each event source, see the following topics.

                              \n ", "smithy.api#examples": [ { "title": "To create a mapping between an event source and an AWS Lambda function", @@ -3202,7 +3208,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The dead-letter queue for\n failed asynchronous invocations.

                              " + "smithy.api#documentation": "

                              The dead-letter queue for\n failed asynchronous invocations.

                              " } }, "com.amazonaws.lambda#DeleteAlias": { @@ -3354,6 +3360,24 @@ ], "traits": { "smithy.api#documentation": "

                              Deletes an event source\n mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

                              \n

                              When you delete an event source mapping, it enters a Deleting state and might not be completely\n deleted for several seconds.

                              ", + "smithy.api#examples": [ + { + "title": "To delete a Lambda function event source mapping", + "documentation": "The following example deletes an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.", + "input": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "output": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2", + "BatchSize": 5, + "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:my-queue", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", + "LastModified": "2016-11-21T19:49:20.006Z", + "State": "Enabled", + "StateTransitionReason": "USER_INITIATED" + } + } + ], "smithy.api#http": { "method": "DELETE", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -3830,7 +3854,7 @@ "OnSuccess": { "target": "com.amazonaws.lambda#OnSuccess", "traits": { - "smithy.api#documentation": "

                              The destination configuration for successful invocations.

                              " + "smithy.api#documentation": "

                              The destination configuration for successful invocations. Not supported in CreateEventSourceMapping or UpdateEventSourceMapping.

                              " } }, "OnFailure": { @@ -3841,7 +3865,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A configuration object that specifies the destination of an event after Lambda processes it.

                              " + "smithy.api#documentation": "

                              A configuration object that specifies the destination of an event after Lambda processes it. For more information, see Adding a destination.

                              " } }, "com.amazonaws.lambda#DocumentDBEventSourceConfig": { @@ -4231,7 +4255,7 @@ "LastProcessingResult": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

                              The result of the last Lambda invocation of your function.

                              " + "smithy.api#documentation": "

                              The result of the event source mapping's last processing attempt.

                              " } }, "State": { @@ -5309,6 +5333,29 @@ ], "traits": { "smithy.api#documentation": "

                              Returns details about an event source mapping. You can get the identifier of a mapping from the output of\n ListEventSourceMappings.

                              ", + "smithy.api#examples": [ + { + "title": "To get a Lambda function's event source mapping", + "documentation": "The following example returns details about an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.", + "input": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "output": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2", + "BatchSize": 500, + "EventSourceArn": "arn:aws:sqs:us-east-2:123456789012:mySQSqueue", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006Z", + "LastProcessingResult": "No records processed", + "State": "Creating", + "StateTransitionReason": "User action", + "DestinationConfig": {}, + "MaximumRecordAgeInSeconds": 604800, + "BisectBatchOnFunctionError": false, + "MaximumRetryAttempts": 10000 + } + } + ], "smithy.api#http": { "method": "GET", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -5867,6 +5914,28 @@ ], "traits": { "smithy.api#documentation": "

                              Retrieves the configuration for asynchronous invocation for a function, version, or alias.

                              \n

                              To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

                              ", + "smithy.api#examples": [ + { + "title": "To get an asynchronous invocation configuration", + "documentation": "The following example returns the asynchronous invocation configuration for the BLUE alias of a function named my-function.", + "input": { + "FunctionName": "my-function", + "Qualifier": "BLUE" + }, + "output": { + "LastModified": "2016-11-21T19:49:20.006Z", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", + "MaximumRetryAttempts": 0, + "MaximumEventAgeInSeconds": 3600, + "DestinationConfig": { + "OnSuccess": {}, + "OnFailure": { + "Destination": "arn:aws:sqs:us-east-2:123456789012:failed-invocations" + } + } + } + } + ], "smithy.api#http": { "method": "GET", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -7647,6 +7716,124 @@ "smithy.api#httpError": 502 } }, + "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfig": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryAuthType", + "traits": { + "smithy.api#documentation": "

                              \n The type of authentication Lambda uses to access your schema registry.\n

                              " + } + }, + "URI": { + "target": "com.amazonaws.lambda#Arn", + "traits": { + "smithy.api#documentation": "

                              \n The URI of the secret (Secrets Manager secret ARN) to authenticate with your schema registry.\n

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specific access configuration settings that tell Lambda how to authenticate with your schema registry.

                              \n

                              If you're working with an Glue schema registry, don't provide authentication details in this object.\n Instead, ensure that your execution role has the required permissions for Lambda to access your cluster.

                              \n

                              If you're working with a Confluent schema registry, choose the authentication method in the Type field,\n and provide the Secrets Manager secret ARN in the URI field.

                              " + } + }, + "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfig" + } + }, + "com.amazonaws.lambda#KafkaSchemaRegistryAuthType": { + "type": "enum", + "members": { + "BASIC_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BASIC_AUTH" + } + }, + "CLIENT_CERTIFICATE_TLS_AUTH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLIENT_CERTIFICATE_TLS_AUTH" + } + }, + "SERVER_ROOT_CA_CERTIFICATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVER_ROOT_CA_CERTIFICATE" + } + } + } + }, + "com.amazonaws.lambda#KafkaSchemaRegistryConfig": { + "type": "structure", + "members": { + "SchemaRegistryURI": { + "target": "com.amazonaws.lambda#SchemaRegistryUri", + "traits": { + "smithy.api#documentation": "

                              The URI for your schema registry. The correct URI format depends on the type of schema registry you're using.

                              \n
                                \n
                              • \n

                                For Glue schema registries, use the ARN of the registry.

                                \n
                              • \n
                              • \n

                                For Confluent schema registries, use the URL of the registry.

                                \n
                              • \n
                              " + } + }, + "EventRecordFormat": { + "target": "com.amazonaws.lambda#SchemaRegistryEventRecordFormat", + "traits": { + "smithy.api#documentation": "

                              The record format that Lambda delivers to your function after schema validation.

                              \n
                                \n
                              • \n

                                Choose JSON to have Lambda deliver the record to your function as a standard JSON object.

                                \n
                              • \n
                              • \n

                                Choose SOURCE to have Lambda deliver the record to your function in its original source format.\n Lambda removes all schema metadata, such as the schema ID, before sending the record to your function.

                                \n
                              • \n
                              " + } + }, + "AccessConfigs": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryAccessConfigList", + "traits": { + "smithy.api#documentation": "

                              An array of access configuration objects that tell Lambda how to authenticate with your schema registry.

                              " + } + }, + "SchemaValidationConfigs": { + "target": "com.amazonaws.lambda#KafkaSchemaValidationConfigList", + "traits": { + "smithy.api#documentation": "

                              An array of schema validation configuration objects, which tell Lambda the message\n attributes you want to validate and filter using your schema registry.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specific configuration settings for a Kafka schema registry.

                              " + } + }, + "com.amazonaws.lambda#KafkaSchemaValidationAttribute": { + "type": "enum", + "members": { + "KEY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEY" + } + }, + "VALUE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VALUE" + } + } + } + }, + "com.amazonaws.lambda#KafkaSchemaValidationConfig": { + "type": "structure", + "members": { + "Attribute": { + "target": "com.amazonaws.lambda#KafkaSchemaValidationAttribute", + "traits": { + "smithy.api#documentation": "

                              \n The attributes you want your schema registry to validate and filter for. If you selected JSON as the\n EventRecordFormat, Lambda also deserializes the selected message attributes.\n

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specific schema validation configuration settings that tell Lambda the message\n attributes you want to validate and filter using your schema registry.

                              " + } + }, + "com.amazonaws.lambda#KafkaSchemaValidationConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.lambda#KafkaSchemaValidationConfig" + } + }, "com.amazonaws.lambda#LastUpdateStatus": { "type": "enum", "members": { @@ -9693,7 +9880,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A destination for events that failed processing.

                              " + "smithy.api#documentation": "

                              A destination for events that failed processing. For more information, see Adding a destination.

                              " } }, "com.amazonaws.lambda#OnSuccess": { @@ -9707,7 +9894,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A destination for events that were processed successfully.

                              \n

                              To retain records of successful asynchronous invocations,\n you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function,\n or Amazon EventBridge event bus as the destination.

                              " + "smithy.api#documentation": "

                              A destination for events that were processed successfully.

                              \n

                              To retain records of successful asynchronous invocations,\n you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function,\n or Amazon EventBridge event bus as the destination.

                              \n \n

                              \n OnSuccess is not supported in CreateEventSourceMapping or UpdateEventSourceMapping requests.

                              \n
                              " } }, "com.amazonaws.lambda#OrganizationId": { @@ -10414,6 +10601,27 @@ ], "traits": { "smithy.api#documentation": "

                              Configures options for asynchronous\n invocation on a function, version, or alias. If a configuration already exists for a function, version,\n or alias, this operation overwrites it. If you exclude any settings, they are removed. To set one option without\n affecting existing settings for other options, use UpdateFunctionEventInvokeConfig.

                              \n

                              By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains\n events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous\n invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with\n UpdateFunctionConfiguration.

                              \n

                              To send an invocation record to a queue, topic, S3 bucket, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events\n that fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a\n dead-letter queue.

                              \n \n

                              S3 buckets are supported only for on-failure destinations. To retain records of successful invocations, use another destination type.

                              \n
                              ", + "smithy.api#examples": [ + { + "title": "To configure error handling for asynchronous invocation", + "documentation": "The following example sets a maximum event age of one hour and disables retries for the specified function.", + "input": { + "FunctionName": "my-function", + "MaximumRetryAttempts": 0, + "MaximumEventAgeInSeconds": 3600 + }, + "output": { + "LastModified": "2016-11-21T19:49:20.006Z", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", + "MaximumRetryAttempts": 0, + "MaximumEventAgeInSeconds": 3600, + "DestinationConfig": { + "OnSuccess": {}, + "OnFailure": {} + } + } + } + ], "smithy.api#http": { "method": "PUT", "uri": "/2019-09-25/functions/{FunctionName}/event-invoke-config", @@ -11468,6 +11676,33 @@ "smithy.api#documentation": "

                              (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.

                              " } }, + "com.amazonaws.lambda#SchemaRegistryEventRecordFormat": { + "type": "enum", + "members": { + "JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JSON" + } + }, + "SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SOURCE" + } + } + } + }, + "com.amazonaws.lambda#SchemaRegistryUri": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10000 + }, + "smithy.api#pattern": "^[a-zA-Z0-9-\\/*:_+=.@-]*$" + } + }, "com.amazonaws.lambda#SecurityGroupId": { "type": "string" }, @@ -11503,7 +11738,13 @@ "ConsumerGroupId": { "target": "com.amazonaws.lambda#URI", "traits": { - "smithy.api#documentation": "

                              The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources.\n After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see\n Customizable consumer group ID.

                              " + "smithy.api#documentation": "

                              The identifier for the Kafka consumer group to join. The consumer group ID must be unique\n among all your Kafka event sources. After creating a Kafka event source mapping with the\n consumer group ID specified, you cannot update this value. For more information, see Customizable consumer group ID.

                              " + } + }, + "SchemaRegistryConfig": { + "target": "com.amazonaws.lambda#KafkaSchemaRegistryConfig", + "traits": { + "smithy.api#documentation": "

                              Specific configuration settings for a Kafka schema registry.

                              " } } }, @@ -12645,7 +12886,29 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates an event source mapping. You can change the function that Lambda invokes, or pause\n invocation and resume later from the same location.

                              \n

                              For details about how to configure different event sources, see the following topics.

                              \n \n

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              \n
                                \n
                              • \n

                                \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                                \n
                              • \n
                              • \n

                                \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                                \n
                              • \n
                              • \n

                                \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                                \n
                              • \n
                              • \n

                                \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                                \n
                              • \n
                              \n

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              \n
                                \n
                              • \n

                                \n DestinationConfig – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket.

                                \n
                              • \n
                              \n

                              For information about which configuration parameters apply to each event source, see the following topics.

                              \n ", + "smithy.api#documentation": "

                              Updates an event source mapping. You can change the function that Lambda invokes, or pause\n invocation and resume later from the same location.

                              \n

                              For details about how to configure different event sources, see the following topics.

                              \n \n

                              The following error handling options are available only for DynamoDB and Kinesis event sources:

                              \n
                                \n
                              • \n

                                \n BisectBatchOnFunctionError – If the function returns an error, split the batch in two and retry.

                                \n
                              • \n
                              • \n

                                \n MaximumRecordAgeInSeconds – Discard records older than the specified age. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires

                                \n
                              • \n
                              • \n

                                \n MaximumRetryAttempts – Discard records after the specified number of retries. The default value is infinite (-1). When set to infinite (-1), failed records are retried until the record expires.

                                \n
                              • \n
                              • \n

                                \n ParallelizationFactor – Process multiple batches from each shard concurrently.

                                \n
                              • \n
                              \n

                              For stream sources (DynamoDB, Kinesis, Amazon MSK, and self-managed Apache Kafka), the following option is also available:

                              \n
                                \n
                              • \n

                                \n OnFailure – Send discarded records to an Amazon SQS queue, Amazon SNS topic, or \n Amazon S3 bucket. For more information, see Adding a destination.

                                \n
                              • \n
                              \n

                              For information about which configuration parameters apply to each event source, see the following topics.

                              \n ", + "smithy.api#examples": [ + { + "title": "To update a Lambda function event source mapping", + "documentation": "This operation updates a Lambda function event source mapping", + "input": { + "UUID": "1234xCy789012", + "FunctionName": "myFunction", + "Enabled": true, + "BatchSize": 123 + }, + "output": { + "UUID": "1234xCy789012", + "BatchSize": 123, + "EventSourceArn": "arn:aws:s3:::examplebucket/*", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006Z", + "LastProcessingResult": "", + "State": "", + "StateTransitionReason": "" + } + } + ], "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/event-source-mappings/{UUID}", @@ -12748,6 +13011,12 @@ "smithy.api#documentation": "

                              (Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

                              " } }, + "AmazonManagedKafkaEventSourceConfig": { + "target": "com.amazonaws.lambda#AmazonManagedKafkaEventSourceConfig" + }, + "SelfManagedKafkaEventSourceConfig": { + "target": "com.amazonaws.lambda#SelfManagedKafkaEventSourceConfig" + }, "DocumentDBEventSourceConfig": { "target": "com.amazonaws.lambda#DocumentDBEventSourceConfig", "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/lex-models-v2.json b/tools/code-generation/smithy/api-descriptions/lex-models-v2.json index f5123acd4e6..68ccbe35ffa 100644 --- a/tools/code-generation/smithy/api-descriptions/lex-models-v2.json +++ b/tools/code-generation/smithy/api-descriptions/lex-models-v2.json @@ -11222,7 +11222,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 200 + "max": 2000 } } }, @@ -18191,6 +18191,22 @@ "com.amazonaws.lexmodelsv2#NextToken": { "type": "string" }, + "com.amazonaws.lexmodelsv2#NluImprovementSpecification": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.lexmodelsv2#Enabled", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Specifies whether the assisted nlu feature is enabled.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies whether the assisted nlu feature is turned on or off.

                              " + } + }, "com.amazonaws.lexmodelsv2#NonEmptyString": { "type": "string", "traits": { @@ -19167,6 +19183,12 @@ "traits": { "smithy.api#documentation": "

                              An object containing specifications for the assisted slot resolution feature.

                              " } + }, + "nluImprovement": { + "target": "com.amazonaws.lexmodelsv2#NluImprovementSpecification", + "traits": { + "smithy.api#documentation": "

                              An object containing specifications for the assisted nlu feature.

                              " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json b/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json index 797ba6f9d86..865b1def435 100644 --- a/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json +++ b/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json @@ -95,7 +95,7 @@ "name": "aws-marketplace" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                              Catalog API actions allow you to manage your entities through list, describe, and\n update capabilities. An entity can be a product or an offer on AWS Marketplace.

                              \n

                              You can automate your entity update process by integrating the AWS Marketplace Catalog\n API with your AWS Marketplace product build or deployment pipelines. You can also create\n your own applications on top of the Catalog API to manage your products on AWS\n Marketplace.

                              ", + "smithy.api#documentation": "

                              Catalog API actions allow you to manage your entities through list, describe, and\n update capabilities. An entity can be a product or an offer on AWS Marketplace.

                              \n

                              You can automate your entity update process by integrating the AWS Marketplace Catalog\n API with your AWS Marketplace product build or deployment pipelines. You can also create\n your own applications on top of the Catalog API to manage your products on AWS\n Marketplace.

                              ", "smithy.api#title": "AWS Marketplace Catalog Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1237,7 +1237,7 @@ "DetailsDocument": { "target": "com.amazonaws.marketplacecatalog#JsonDocumentType", "traits": { - "smithy.api#documentation": "

                              Alternative field that accepts a JSON value instead of a string for\n ChangeType details. You can use either Details or\n DetailsDocument, but not both.

                              " + "smithy.api#documentation": "

                              Alternative field that accepts a JSON value instead of a string for\n ChangeType details. You can use either Details or\n DetailsDocument, but not both.

                              \n

                              To download the \"DetailsDocument\" shapes, see the Python \n and Java shapes on GitHub.

                              " } }, "ChangeName": { @@ -1398,7 +1398,7 @@ "DetailsDocument": { "target": "com.amazonaws.marketplacecatalog#JsonDocumentType", "traits": { - "smithy.api#documentation": "

                              The JSON value of the details specific to the change type of the requested change.

                              " + "smithy.api#documentation": "

                              The JSON value of the details specific to the change type of the requested change.

                              \n

                              To download the \"DetailsDocument\" shapes, see the Python \n and Java shapes on GitHub.

                              " } }, "ErrorDetailList": { @@ -2270,7 +2270,7 @@ "DetailsDocument": { "target": "com.amazonaws.marketplacecatalog#JsonDocumentType", "traits": { - "smithy.api#documentation": "

                              The JSON value of the details specific to the entity.

                              " + "smithy.api#documentation": "

                              The JSON value of the details specific to the entity.

                              \n

                              To download \"DetailsDocument\" shapes, see the Python \n and Java shapes on GitHub.

                              " } } }, @@ -2474,6 +2474,9 @@ "traits": { "smithy.api#documentation": "

                              An object that contains summary information about the Resale Authorization.

                              " } + }, + "MachineLearningProductSummary": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductSummary" } }, "traits": { @@ -2534,6 +2537,9 @@ "traits": { "smithy.api#documentation": "

                              A filter for Resale Authorizations.

                              " } + }, + "MachineLearningProductFilters": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductFilters" } }, "traits": { @@ -2578,6 +2584,9 @@ "traits": { "smithy.api#documentation": "

                              A sort for Resale Authorizations.

                              " } + }, + "MachineLearningProductSort": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductSort" } }, "traits": { @@ -3132,6 +3141,285 @@ "smithy.api#output": {} } }, + "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilter": { + "type": "structure", + "members": { + "ValueList": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilterValueList", + "traits": { + "smithy.api#documentation": "

                              A list of entity IDs to filter by. The operation returns machine learning products with entity IDs that match the values in this list.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The filter for machine learning product entity IDs.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdString" + }, + "traits": { + "smithy.api#documentation": "

                              A list of entity ID values to filter by. You can include up to 10 entity IDs in this list.

                              ", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdString": { + "type": "string", + "traits": { + "smithy.api#documentation": "

                              The entity ID of a machine learning product. This string uniquely identifies the product.

                              ", + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductFilters": { + "type": "structure", + "members": { + "EntityId": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductEntityIdFilter", + "traits": { + "smithy.api#documentation": "

                              Filter machine learning products by their entity IDs.

                              " + } + }, + "LastModifiedDate": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilter", + "traits": { + "smithy.api#documentation": "

                              Filter machine learning products by their last modified date.

                              " + } + }, + "ProductTitle": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilter", + "traits": { + "smithy.api#documentation": "

                              Filter machine learning products by their product titles.

                              " + } + }, + "Visibility": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilter", + "traits": { + "smithy.api#documentation": "

                              Filter machine learning products by their visibility status.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, LastModifiedDate, ProductTitle, and Visibility.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilter": { + "type": "structure", + "members": { + "DateRange": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilterDateRange", + "traits": { + "smithy.api#documentation": "

                              A date range to filter by. The operation returns machine learning products with last modified dates that fall within this range.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The filter for machine learning product last modified date.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilterDateRange": { + "type": "structure", + "members": { + "AfterValue": { + "target": "com.amazonaws.marketplacecatalog#DateTimeISO8601", + "traits": { + "smithy.api#documentation": "

                              The start date (inclusive) of the date range. The operation returns machine learning products with last modified dates on or after this date.

                              " + } + }, + "BeforeValue": { + "target": "com.amazonaws.marketplacecatalog#DateTimeISO8601", + "traits": { + "smithy.api#documentation": "

                              The end date (inclusive) of the date range. The operation returns machine learning products with last modified dates on or before this date.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A date range for filtering machine learning products by their last modified date.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductSort": { + "type": "structure", + "members": { + "SortBy": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductSortBy", + "traits": { + "smithy.api#documentation": "

                              The field to sort by. Valid values: EntityId, LastModifiedDate, ProductTitle, and Visibility.

                              " + } + }, + "SortOrder": { + "target": "com.amazonaws.marketplacecatalog#SortOrder", + "traits": { + "smithy.api#documentation": "

                              The sort order. Valid values are ASC (ascending) and DESC (descending).

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The sort options for machine learning products.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductSortBy": { + "type": "enum", + "members": { + "EntityId": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EntityId" + } + }, + "LastModifiedDate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LastModifiedDate" + } + }, + "ProductTitle": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ProductTitle" + } + }, + "Visibility": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Visibility" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The fields that you can sort machine learning products by.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductSummary": { + "type": "structure", + "members": { + "ProductTitle": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString", + "traits": { + "smithy.api#documentation": "

                              The title of the machine learning product.

                              " + } + }, + "Visibility": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityString", + "traits": { + "smithy.api#documentation": "

                              The visibility status of the machine learning product. Valid values are Limited, Public, Restricted, and Draft.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A summary of a machine learning product.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilter": { + "type": "structure", + "members": { + "ValueList": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilterValueList", + "traits": { + "smithy.api#documentation": "

                              A list of product titles to filter by. The operation returns machine learning products with titles that exactly match the values in this list.

                              " + } + }, + "WildCardValue": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString", + "traits": { + "smithy.api#documentation": "

                              A wildcard value to filter product titles. The operation returns machine learning products with titles that match this wildcard pattern.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The filter for machine learning product titles.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductTitleFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString" + }, + "traits": { + "smithy.api#documentation": "

                              A list of product title values to filter by. You can include up to 10 product titles in this list.

                              ", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductTitleString": { + "type": "string", + "traits": { + "smithy.api#documentation": "

                              The title of a machine learning product.

                              ", + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^(.)+$" + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilter": { + "type": "structure", + "members": { + "ValueList": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilterValueList", + "traits": { + "smithy.api#documentation": "

                              A list of visibility values to filter by. The operation returns machine learning products with visibility status that match the values in this list.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The filter for machine learning product visibility status.

                              " + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityFilterValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityString" + }, + "traits": { + "smithy.api#documentation": "

                              A list of visibility status values to filter by. You can include up to 10 visibility status values in this list.

                              ", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.marketplacecatalog#MachineLearningProductVisibilityString": { + "type": "enum", + "members": { + "Limited": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Limited" + } + }, + "Public": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Public" + } + }, + "Restricted": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Restricted" + } + }, + "Draft": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Draft" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The visibility status of a machine learning product. Valid values are:

                              \n
                                \n
                              • \n

                                \n Limited - The product is available to a limited set of buyers.

                                \n
                              • \n
                              • \n

                                \n Public - The product is publicly available to all buyers.

                                \n
                              • \n
                              • \n

                                \n Restricted - The product has restricted availability.

                                \n
                              • \n
                              • \n

                                \n Draft - The product is in draft state and not yet available to buyers.

                                \n
                              • \n
                              " + } + }, "com.amazonaws.marketplacecatalog#NextToken": { "type": "string", "traits": { @@ -5172,7 +5460,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Allows you to request changes for your entities. Within a single\n ChangeSet, you can't start the same change type against the same entity\n multiple times. Additionally, when a ChangeSet is running, all the entities\n targeted by the different changes are locked until the change set has completed (either\n succeeded, cancelled, or failed). If you try to start a change set containing a change\n against an entity that is already locked, you will receive a\n ResourceInUseException error.

                              \n

                              For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same\n change type (AddRevisions) against the same entity\n (entity-id@1).

                              \n

                              For more information about working with change sets, see Working with change sets. For information about change types for\n single-AMI products, see Working with single-AMI products. Also, for more information about change\n types available for container-based products, see Working with container products.

                              ", + "smithy.api#documentation": "

                              Allows you to request changes for your entities. Within a single\n ChangeSet, you can't start the same change type against the same entity\n multiple times. Additionally, when a ChangeSet is running, all the entities\n targeted by the different changes are locked until the change set has completed (either\n succeeded, cancelled, or failed). If you try to start a change set containing a change\n against an entity that is already locked, you will receive a\n ResourceInUseException error.

                              \n

                              For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same\n change type (AddRevisions) against the same entity\n (entity-id@1).

                              \n

                              For more information about working with change sets, see Working with change sets. For information about change types for\n single-AMI products, see Working with single-AMI products. Also, for more information about change\n types available for container-based products, see Working with container products.

                              \n

                              To download \"DetailsDocument\" shapes, see Python \n and Java shapes on GitHub.

                              ", "smithy.api#http": { "method": "POST", "uri": "/StartChangeSet", diff --git a/tools/code-generation/smithy/api-descriptions/mediaconvert.json b/tools/code-generation/smithy/api-descriptions/mediaconvert.json index 2abf16ffc69..022b3c34faa 100644 --- a/tools/code-generation/smithy/api-descriptions/mediaconvert.json +++ b/tools/code-generation/smithy/api-descriptions/mediaconvert.json @@ -7599,7 +7599,7 @@ "DdsHandling": { "target": "com.amazonaws.mediaconvert#DvbddsHandling", "traits": { - "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match.", + "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate.", "smithy.api#jsonName": "ddsHandling" } }, @@ -8160,10 +8160,16 @@ "traits": { "smithy.api#enumValue": "NO_DISPLAY_WINDOW" } + }, + "SPECIFIED_OPTIMAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SPECIFIED_OPTIMAL" + } } }, "traits": { - "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match." + "smithy.api#documentation": "Specify how MediaConvert handles the display definition segment (DDS). To exclude the DDS from this set of captions: Keep the default, None. To include the DDS: Choose Specified. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate. To include the DDS, but not include display window data: Choose No display window. When you do, you can write position metadata to the page composition segment (PCS) with DDS x-coordinate and DDS y-coordinate. For video resolutions with a height of 576 pixels or less, MediaConvert doesn't include the DDS, regardless of the value you choose for DDS handling. All burn-in and DVB-Sub font settings must match. To include the DDS, with optimized subtitle placement and reduced data overhead: We recommend that you choose Specified (optimal). This option provides the same visual positioning as Specified while using less bandwidth. This also supports resolutions higher than 1080p while maintaining full DVB-Sub compatibility. When you do, also specify the offset coordinates of the display window with DDS x-coordinate and DDS y-coordinate." } }, "com.amazonaws.mediaconvert#DynamicAudioSelector": { diff --git a/tools/code-generation/smithy/api-descriptions/mpa.json b/tools/code-generation/smithy/api-descriptions/mpa.json new file mode 100644 index 00000000000..46083531c2b --- /dev/null +++ b/tools/code-generation/smithy/api-descriptions/mpa.json @@ -0,0 +1,4456 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.mpa#AWSFluffyCoreService": { + "type": "service", + "version": "2022-07-26", + "operations": [ + { + "target": "com.amazonaws.mpa#GetPolicyVersion" + }, + { + "target": "com.amazonaws.mpa#GetResourcePolicy" + }, + { + "target": "com.amazonaws.mpa#ListPolicies" + }, + { + "target": "com.amazonaws.mpa#ListPolicyVersions" + }, + { + "target": "com.amazonaws.mpa#ListResourcePolicies" + }, + { + "target": "com.amazonaws.mpa#ListTagsForResource" + }, + { + "target": "com.amazonaws.mpa#TagResource" + }, + { + "target": "com.amazonaws.mpa#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.mpa#ApprovalTeam" + }, + { + "target": "com.amazonaws.mpa#IdentitySource" + }, + { + "target": "com.amazonaws.mpa#Session" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "MPA", + "arnNamespace": "mpa" + }, + "aws.auth#sigv4": { + "name": "mpa" + }, + "aws.endpoints#dualStackOnlyEndpoints": {}, + "aws.endpoints#standardRegionalEndpoints": {}, + "aws.iam#defineConditionKeys": { + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by a tag key and value pair of a resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access by a tag key and value pair that is allowed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + }, + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access by a list of tag keys that are allowed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + }, + "mpa:RequestedOperation": { + "type": "String", + "documentation": "Filters access by the requested operation that requires team approval before it can be executed", + "externalDocumentation": "${DocHomeURL}mpa/latest/userguide/mpa-concepts.html" + }, + "mpa:ProtectedResourceAccount": { + "type": "String", + "documentation": "Filters access by the account that owns the resource that is the target of the operation that requires approval", + "externalDocumentation": "${DocHomeURL}mpa/latest/userguide/mpa-concepts.html" + } + }, + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

                              Multi-party approval is a capability of Organizations that allows you to protect a predefined list of operations through a distributed approval process. Use Multi-party approval to establish approval workflows and transform security processes into team-based decisions.

                              When to use Multi-party approval:

                              • You need to align with the Zero Trust principle of \"never trust, always verify\"

                              • You need to make sure that the right humans have access to the right things in the right way

                              • You need distributed decision-making for sensitive or critical operations

                              • You need to protect against unintended operations on sensitive or critical resources

                              • You need formal reviews and approvals for auditing or compliance reasons

                              For more information, see What is Multi-party approval in the Multi-party approval User Guide.

                              ", + "smithy.api#title": "AWS Multi-party Approval", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://mpa-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://mpa.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mpa.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.mpa#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the AccessDeniedException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              You do not have sufficient access to perform this action. Check your permissions, and try again.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.mpa#AccountId": { + "type": "string", + "traits": { + "aws.api#data": "account", + "smithy.api#length": { + "max": 12 + }, + "smithy.api#pattern": "^\\d{12}$" + } + }, + "com.amazonaws.mpa#ActionCompletionStrategy": { + "type": "enum", + "members": { + "AUTO_COMPLETION_UPON_APPROVAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AUTO_COMPLETION_UPON_APPROVAL" + } + } + } + }, + "com.amazonaws.mpa#ActionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 500 + } + } + }, + "com.amazonaws.mpa#ApprovalStrategy": { + "type": "union", + "members": { + "MofN": { + "target": "com.amazonaws.mpa#MofNApprovalStrategy", + "traits": { + "smithy.api#documentation": "

                              Minimum number of approvals (M) required for a total number of approvers (N).

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Strategy for how an approval team grants approval.

                              " + } + }, + "com.amazonaws.mpa#ApprovalStrategyResponse": { + "type": "union", + "members": { + "MofN": { + "target": "com.amazonaws.mpa#MofNApprovalStrategy", + "traits": { + "smithy.api#documentation": "

                              Minimum number of approvals (M) required for a total number of approvers (N).

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for how an approval team grants approval.

                              " + } + }, + "com.amazonaws.mpa#ApprovalTeam": { + "type": "resource", + "identifiers": { + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn" + } + }, + "create": { + "target": "com.amazonaws.mpa#CreateApprovalTeam" + }, + "read": { + "target": "com.amazonaws.mpa#GetApprovalTeam" + }, + "update": { + "target": "com.amazonaws.mpa#UpdateApprovalTeam" + }, + "delete": { + "target": "com.amazonaws.mpa#DeleteInactiveApprovalTeamVersion" + }, + "list": { + "target": "com.amazonaws.mpa#ListApprovalTeams" + }, + "operations": [ + { + "target": "com.amazonaws.mpa#StartActiveApprovalTeamDeletion" + } + ], + "traits": { + "aws.api#arn": { + "template": "approval-team/{Arn}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamResource": { + "name": "approval-team", + "relativeDocumentation": "mpa-concepts.html" + }, + "smithy.api#documentation": "Represents a team that is responsible for approving protected operations" + } + }, + "com.amazonaws.mpa#ApprovalTeamArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws(-[^:]+)?:mpa:[a-z0-9-]{1,20}:[0-9]{12}:approval-team/[a-zA-Z0-9._-]+$" + } + }, + "com.amazonaws.mpa#ApprovalTeamName": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9._-]+$" + } + }, + "com.amazonaws.mpa#ApprovalTeamRequestApprover": { + "type": "structure", + "members": { + "PrimaryIdentityId": { + "target": "com.amazonaws.mpa#IdentityId", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              ID for the user.

                              ", + "smithy.api#required": {} + } + }, + "PrimaryIdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for an approver.

                              " + } + }, + "com.amazonaws.mpa#ApprovalTeamRequestApprovers": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#ApprovalTeamRequestApprover" + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.mpa#ApprovalTeamStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "INACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + } + } + }, + "com.amazonaws.mpa#ApprovalTeamStatusCode": { + "type": "enum", + "members": { + "VALIDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VALIDATING" + } + }, + "PENDING_ACTIVATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_ACTIVATION" + } + }, + "FAILED_VALIDATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_VALIDATION" + } + }, + "FAILED_ACTIVATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_ACTIVATION" + } + }, + "UPDATE_PENDING_APPROVAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_PENDING_APPROVAL" + } + }, + "UPDATE_PENDING_ACTIVATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_PENDING_ACTIVATION" + } + }, + "UPDATE_FAILED_APPROVAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_FAILED_APPROVAL" + } + }, + "UPDATE_FAILED_ACTIVATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_FAILED_ACTIVATION" + } + }, + "UPDATE_FAILED_VALIDATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_FAILED_VALIDATION" + } + }, + "DELETE_PENDING_APPROVAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_PENDING_APPROVAL" + } + }, + "DELETE_FAILED_APPROVAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED_APPROVAL" + } + }, + "DELETE_FAILED_VALIDATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED_VALIDATION" + } + } + } + }, + "com.amazonaws.mpa#CancelSession": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#CancelSessionRequest" + }, + "output": { + "target": "com.amazonaws.mpa#CancelSessionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#ConflictException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "mpa:RequestedOperation", + "mpa:ProtectedResourceAccount" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to cancel an approval session" + }, + "smithy.api#documentation": "

                              Cancels an approval session. For more information, see Session in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/sessions/{SessionArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#CancelSessionRequest": { + "type": "structure", + "members": { + "SessionArn": { + "target": "com.amazonaws.mpa#SessionArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the session.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#CancelSessionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the ConflictException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The request cannot be completed because it conflicts with the current state of a resource.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.mpa#CreateApprovalTeam": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#CreateApprovalTeamRequest" + }, + "output": { + "target": "com.amazonaws.mpa#CreateApprovalTeamResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#ConflictException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to create an approval team" + }, + "smithy.api#documentation": "

                              Creates a new approval team. For more information, see Approval team in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/approval-teams" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#CreateApprovalTeamRequest": { + "type": "structure", + "members": { + "ClientToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

                              What is idempotency?

                              When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

                              Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                              ", + "smithy.api#idempotencyToken": {} + } + }, + "ApprovalStrategy": { + "target": "com.amazonaws.mpa#ApprovalStrategy", + "traits": { + "smithy.api#documentation": "

                              An ApprovalStrategy object. Contains details for how the team grants approval.

                              ", + "smithy.api#required": {} + } + }, + "Approvers": { + "target": "com.amazonaws.mpa#ApprovalTeamRequestApprovers", + "traits": { + "smithy.api#documentation": "

                              An array of ApprovalTeamRequesterApprovers objects. Contains details for the approvers in the team.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.mpa#Description", + "traits": { + "smithy.api#documentation": "

                              Description for the team.

                              ", + "smithy.api#required": {} + } + }, + "Policies": { + "target": "com.amazonaws.mpa#PoliciesReferences", + "traits": { + "smithy.api#documentation": "

                              An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mpa#ApprovalTeamName", + "traits": { + "smithy.api#documentation": "

                              Name of the team.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.mpa#Tags", + "traits": { + "smithy.api#documentation": "

                              Tags you want to attach to the team.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#CreateApprovalTeamResponse": { + "type": "structure", + "members": { + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the team was created.

                              " + } + }, + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team that was created.

                              " + } + }, + "Name": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Name of the team that was created.

                              " + } + }, + "VersionId": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Version ID for the team that was created. When a team is updated, the version ID changes.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#CreateIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#CreateIdentitySourceRequest" + }, + "output": { + "target": "com.amazonaws.mpa#CreateIdentitySourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to create an identity source" + }, + "smithy.api#documentation": "

                              Creates a new identity source. For more information, see Identity Source in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/identity-sources" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#CreateIdentitySourceRequest": { + "type": "structure", + "members": { + "IdentitySourceParameters": { + "target": "com.amazonaws.mpa#IdentitySourceParameters", + "traits": { + "smithy.api#documentation": "

                              A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

                              ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

                              What is idempotency?

                              When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

                              Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                              ", + "smithy.api#idempotencyToken": {} + } + }, + "Tags": { + "target": "com.amazonaws.mpa#Tags", + "traits": { + "smithy.api#documentation": "

                              Tag you want to attach to the identity source.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#CreateIdentitySourceResponse": { + "type": "structure", + "members": { + "IdentitySourceType": { + "target": "com.amazonaws.mpa#IdentitySourceType", + "traits": { + "smithy.api#documentation": "

                              The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

                              " + } + }, + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source that was created.

                              " + } + }, + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the identity source was created.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#DeleteIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#DeleteIdentitySourceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#ConflictException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to delete an identity source" + }, + "smithy.api#documentation": "

                              Deletes an identity source. For more information, see Identity Source in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/identity-sources/{IdentitySourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#DeleteIdentitySourceRequest": { + "type": "structure", + "members": { + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for identity source.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#DeleteInactiveApprovalTeamVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#DeleteInactiveApprovalTeamVersionRequest" + }, + "output": { + "target": "com.amazonaws.mpa#DeleteInactiveApprovalTeamVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#ConflictException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to delete an inactive approval team" + }, + "smithy.api#documentation": "

                              Deletes an inactive approval team. For more information, see Team health in the Multi-party approval User Guide.

                              You can also use this operation to delete a team draft. For more information, see Interacting with drafts in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/approval-teams/{Arn}/{VersionId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#DeleteInactiveApprovalTeamVersionRequest": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amaazon Resource Name (ARN) for the team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "VersionId": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Version ID for the team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#DeleteInactiveApprovalTeamVersionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#Description": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#Filter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.mpa#FilterField", + "traits": { + "smithy.api#documentation": "

                              Name of the filter to use.

                              Supported filters

                              The supported filters for ListSessions are: ActionName, SessionStatus, and InitationTime.

                              " + } + }, + "Operator": { + "target": "com.amazonaws.mpa#Operator", + "traits": { + "smithy.api#documentation": "

                              Operator to use for filtering.

                              • EQ: Equal to the specified value

                              • NE: Not equal to the specified value

                              • GT: Greater than the specified value

                              • LT: Less than the specified value

                              • GTE: Greater than or equal to the specified value

                              • LTE: Less than or equal to the specified value

                              • CONTAINS: Contains the specified value

                              • NOT_CONTAINS: Does not contain the specified value

                              • BETWEEN: Between two values, inclusive of the specified values.

                              Supported operators for each filter:

                              • ActionName: EQ | NE | CONTAINS | NOT_CONTAINS

                              • SessionStatus: EQ | NE

                              • InitiationTime: GT | LT | GTE | LTE | BETWEEN

                              " + } + }, + "Value": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Value to use for filtering. For the BETWEEN operator, specify values in the format a AND b (AND is case-insensitive).

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the filter to apply to requests. You can specify up to 10 filters for a request.

                              " + } + }, + "com.amazonaws.mpa#FilterField": { + "type": "enum", + "members": { + "ACTION_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ActionName" + } + }, + "APPROVAL_TEAM_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ApprovalTeamName" + } + }, + "VOTING_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VotingTime" + } + }, + "VOTE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Vote" + } + }, + "SESSION_STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SessionStatus" + } + }, + "INITIATION_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InitiationTime" + } + } + } + }, + "com.amazonaws.mpa#Filters": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#Filter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.mpa#GetApprovalTeam": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#GetApprovalTeamRequest" + }, + "output": { + "target": "com.amazonaws.mpa#GetApprovalTeamResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve details for an approval team" + }, + "smithy.api#documentation": "

                              Returns details for an approval team.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/approval-teams/{Arn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#GetApprovalTeamRequest": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#GetApprovalTeamResponse": { + "type": "structure", + "members": { + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the team was created.

                              " + } + }, + "ApprovalStrategy": { + "target": "com.amazonaws.mpa#ApprovalStrategyResponse", + "traits": { + "smithy.api#documentation": "

                              An ApprovalStrategyResponse object. Contains details for how the team grants approval.

                              " + } + }, + "NumberOfApprovers": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Total number of approvers in the team.

                              " + } + }, + "Approvers": { + "target": "com.amazonaws.mpa#GetApprovalTeamResponseApprovers", + "traits": { + "smithy.api#documentation": "

                              An array of GetApprovalTeamResponseApprover objects. Contains details for the approvers in the team.

                              " + } + }, + "Arn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              " + } + }, + "Description": { + "target": "com.amazonaws.mpa#Description", + "traits": { + "smithy.api#documentation": "

                              Description for the team.

                              " + } + }, + "Name": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Name of the approval team.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#ApprovalTeamStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#ApprovalTeamStatusCode", + "traits": { + "smithy.api#documentation": "

                              Status code for the approval team. For more information, see Team health in the Multi-party approval User Guide.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#Message", + "traits": { + "smithy.api#documentation": "

                              Message describing the status for the team.

                              " + } + }, + "UpdateSessionArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the session.

                              " + } + }, + "VersionId": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Version ID for the team.

                              " + } + }, + "Policies": { + "target": "com.amazonaws.mpa#PoliciesReferences", + "traits": { + "smithy.api#documentation": "

                              An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + }, + "LastUpdateTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the team was last updated.

                              " + } + }, + "PendingUpdate": { + "target": "com.amazonaws.mpa#PendingUpdate", + "traits": { + "smithy.api#documentation": "

                              A PendingUpdate object. Contains details for the pending updates for the team, if applicable.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#GetApprovalTeamResponseApprover": { + "type": "structure", + "members": { + "ApproverId": { + "target": "com.amazonaws.mpa#ParticipantId", + "traits": { + "smithy.api#documentation": "

                              ID for the approver.

                              " + } + }, + "ResponseTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the approver responded to an approval team invitation.

                              " + } + }, + "PrimaryIdentityId": { + "target": "com.amazonaws.mpa#IdentityId", + "traits": { + "smithy.api#documentation": "

                              ID for the user.

                              " + } + }, + "PrimaryIdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

                              " + } + }, + "PrimaryIdentityStatus": { + "target": "com.amazonaws.mpa#IdentityStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for an approver.

                              " + } + }, + "com.amazonaws.mpa#GetApprovalTeamResponseApprovers": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#GetApprovalTeamResponseApprover" + }, + "traits": { + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#GetIdentitySource": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#GetIdentitySourceRequest" + }, + "output": { + "target": "com.amazonaws.mpa#GetIdentitySourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve details for an identity source" + }, + "smithy.api#documentation": "

                              Returns details for an identity source. For more information, see Identity Source in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/identity-sources/{IdentitySourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#GetIdentitySourceRequest": { + "type": "structure", + "members": { + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#GetIdentitySourceResponse": { + "type": "structure", + "members": { + "IdentitySourceType": { + "target": "com.amazonaws.mpa#IdentitySourceType", + "traits": { + "smithy.api#documentation": "

                              The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

                              " + } + }, + "IdentitySourceParameters": { + "target": "com.amazonaws.mpa#IdentitySourceParametersForGet", + "traits": { + "smithy.api#documentation": "

                              A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

                              " + } + }, + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source.

                              " + } + }, + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the identity source was created.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#IdentitySourceStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the identity source. For example, if the identity source is ACTIVE.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#IdentitySourceStatusCode", + "traits": { + "smithy.api#documentation": "

                              Status code of the identity source.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message describing the status for the identity source.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#GetPolicyVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#GetPolicyVersionRequest" + }, + "output": { + "target": "com.amazonaws.mpa#GetPolicyVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve details for a policy" + }, + "smithy.api#documentation": "

                              Returns details for the version of a policy. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/policy-versions/{PolicyVersionArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#GetPolicyVersionRequest": { + "type": "structure", + "members": { + "PolicyVersionArn": { + "target": "com.amazonaws.mpa#QualifiedPolicyArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#GetPolicyVersionResponse": { + "type": "structure", + "members": { + "PolicyVersion": { + "target": "com.amazonaws.mpa#PolicyVersion", + "traits": { + "smithy.api#documentation": "

                              A PolicyVersion object. Contains details for the version of the policy. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#GetResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#GetResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.mpa#GetResourcePolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InvalidParameterException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve details for a specific resource" + }, + "smithy.api#documentation": "

                              Returns details about a policy for a resource.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/GetResourcePolicy" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#GetResourcePolicyRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the resource.

                              ", + "smithy.api#required": {} + } + }, + "PolicyName": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Name of the policy.

                              ", + "smithy.api#required": {} + } + }, + "PolicyType": { + "target": "com.amazonaws.mpa#PolicyType", + "traits": { + "smithy.api#documentation": "

                              The type of policy.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#GetResourcePolicyResponse": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the resource.

                              ", + "smithy.api#required": {} + } + }, + "PolicyType": { + "target": "com.amazonaws.mpa#PolicyType", + "traits": { + "smithy.api#documentation": "

                              The type of policy

                              ", + "smithy.api#required": {} + } + }, + "PolicyVersionArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy version.

                              " + } + }, + "PolicyName": { + "target": "com.amazonaws.mpa#PolicyName", + "traits": { + "smithy.api#documentation": "

                              Name of the policy.

                              ", + "smithy.api#required": {} + } + }, + "PolicyDocument": { + "target": "com.amazonaws.mpa#PolicyDocument", + "traits": { + "smithy.api#documentation": "

                              Document that contains the contents for the policy.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#GetSession": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#GetSessionRequest" + }, + "output": { + "target": "com.amazonaws.mpa#GetSessionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "mpa:RequestedOperation", + "mpa:ProtectedResourceAccount" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieve details for an approval session" + }, + "smithy.api#documentation": "

                              Returns details for an approval session. For more information, see Session in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/sessions/{SessionArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#GetSessionRequest": { + "type": "structure", + "members": { + "SessionArn": { + "target": "com.amazonaws.mpa#SessionArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the session.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#GetSessionResponse": { + "type": "structure", + "members": { + "SessionArn": { + "target": "com.amazonaws.mpa#SessionArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the session.

                              " + } + }, + "ApprovalTeamArn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the approval team.

                              " + } + }, + "ApprovalTeamName": { + "target": "com.amazonaws.mpa#ApprovalTeamName", + "traits": { + "smithy.api#documentation": "

                              Name of the approval team.

                              " + } + }, + "ProtectedResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the protected operation.

                              " + } + }, + "ApprovalStrategy": { + "target": "com.amazonaws.mpa#ApprovalStrategyResponse", + "traits": { + "smithy.api#documentation": "

                              An ApprovalStrategyResponse object. Contains details for how the team grants approval

                              " + } + }, + "NumberOfApprovers": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Total number of approvers in the session.

                              " + } + }, + "InitiationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the session was initiated.

                              " + } + }, + "ExpirationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the session will expire.

                              " + } + }, + "CompletionTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the session completed.

                              " + } + }, + "Description": { + "target": "com.amazonaws.mpa#Description", + "traits": { + "smithy.api#documentation": "

                              Description for the session.

                              " + } + }, + "Metadata": { + "target": "com.amazonaws.mpa#SessionMetadata", + "traits": { + "smithy.api#documentation": "

                              Metadata for the session.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#SessionStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the session. For example, if the team has approved the requested operation.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#SessionStatusCode", + "traits": { + "smithy.api#documentation": "

                              Status code of the session.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#Message", + "traits": { + "smithy.api#documentation": "

                              Message describing the status for session.

                              " + } + }, + "ExecutionStatus": { + "target": "com.amazonaws.mpa#SessionExecutionStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the protected operation. For example, if the operation is PENDING.

                              " + } + }, + "ActionName": { + "target": "com.amazonaws.mpa#ActionName", + "traits": { + "smithy.api#documentation": "

                              Name of the protected operation.

                              " + } + }, + "RequesterServicePrincipal": { + "target": "com.amazonaws.mpa#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

                              Service principal for the service associated with the protected operation.

                              " + } + }, + "RequesterPrincipalArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              IAM principal that made the operation request.

                              " + } + }, + "RequesterAccountId": { + "target": "com.amazonaws.mpa#AccountId", + "traits": { + "smithy.api#documentation": "

                              ID for the account that made the operation request.

                              " + } + }, + "RequesterRegion": { + "target": "com.amazonaws.mpa#Region", + "traits": { + "smithy.api#documentation": "

                              Amazon Web Services Region where the operation request originated.

                              " + } + }, + "RequesterComment": { + "target": "com.amazonaws.mpa#RequesterComment", + "traits": { + "smithy.api#documentation": "

                              Message from the account that made the operation request

                              " + } + }, + "ActionCompletionStrategy": { + "target": "com.amazonaws.mpa#ActionCompletionStrategy", + "traits": { + "smithy.api#documentation": "

                              Strategy for executing the protected operation. AUTO_COMPLETION_UPON_APPROVAL means the operation is automatically executed using the requester's permissions, if approved.

                              " + } + }, + "ApproverResponses": { + "target": "com.amazonaws.mpa#GetSessionResponseApproverResponses", + "traits": { + "smithy.api#documentation": "

                              An array of GetSessionResponseApproverResponse objects. Contains details for approver responses in the session.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#GetSessionResponseApproverResponse": { + "type": "structure", + "members": { + "ApproverId": { + "target": "com.amazonaws.mpa#ParticipantId", + "traits": { + "smithy.api#documentation": "

                              ID for the approver.

                              " + } + }, + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

                              " + } + }, + "IdentityId": { + "target": "com.amazonaws.mpa#IdentityId", + "traits": { + "smithy.api#documentation": "

                              ID for the identity source. The identity source manages the user authentication for approvers.

                              " + } + }, + "Response": { + "target": "com.amazonaws.mpa#SessionResponse", + "traits": { + "smithy.api#documentation": "

                              Response to the operation request.

                              " + } + }, + "ResponseTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when a approver responded to the operation request.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for an approver response in an approval session.

                              ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.mpa#IdentitySource" + } + ] + } + }, + "com.amazonaws.mpa#GetSessionResponseApproverResponses": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#GetSessionResponseApproverResponse" + }, + "traits": { + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#IamIdentityCenter": { + "type": "structure", + "members": { + "InstanceArn": { + "target": "com.amazonaws.mpa#IdcInstanceArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the IAM Identity Center instance.

                              ", + "smithy.api#required": {} + } + }, + "Region": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Web Services Region where the IAM Identity Center instance is located.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              IAM Identity Center credentials. For more information see, IAM Identity Center .

                              " + } + }, + "com.amazonaws.mpa#IamIdentityCenterForGet": { + "type": "structure", + "members": { + "InstanceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the IAM Identity Center instance.

                              " + } + }, + "ApprovalPortalUrl": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              URL for the approval portal associated with the IAM Identity Center instance.

                              " + } + }, + "Region": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Web Services Region where the IAM Identity Center instance is located.

                              " + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              IAM Identity Center credentials. For more information see, IAM Identity Center .

                              " + } + }, + "com.amazonaws.mpa#IamIdentityCenterForList": { + "type": "structure", + "members": { + "InstanceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the IAM Identity Center instance.

                              " + } + }, + "ApprovalPortalUrl": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              URL for the approval portal associated with the IAM Identity Center instance.

                              " + } + }, + "Region": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Web Services Region where the IAM Identity Center instance is located.

                              " + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              IAM Identity Center credentials. For more information see, IAM Identity Center .

                              " + } + }, + "com.amazonaws.mpa#IdcInstanceArn": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.+:sso:::instance/(?:sso)?ins-[a-zA-Z0-9-.]{16}$" + } + }, + "com.amazonaws.mpa#IdentityId": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.mpa#IdentitySource": { + "type": "resource", + "identifiers": { + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String" + } + }, + "create": { + "target": "com.amazonaws.mpa#CreateIdentitySource" + }, + "read": { + "target": "com.amazonaws.mpa#GetIdentitySource" + }, + "delete": { + "target": "com.amazonaws.mpa#DeleteIdentitySource" + }, + "list": { + "target": "com.amazonaws.mpa#ListIdentitySources" + }, + "traits": { + "aws.api#arn": { + "template": "identity-source/{IdentitySourceArn}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamResource": { + "name": "identity-source", + "relativeDocumentation": "mpa-concepts.html" + }, + "smithy.api#documentation": "Represents an association with an IAM Identity Center instance that manages the user authentication for approvers" + } + }, + "com.amazonaws.mpa#IdentitySourceForList": { + "type": "structure", + "members": { + "IdentitySourceType": { + "target": "com.amazonaws.mpa#IdentitySourceType", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              The type of resource that provided identities to the identity source. For example, an IAM Identity Center instance.

                              " + } + }, + "IdentitySourceParameters": { + "target": "com.amazonaws.mpa#IdentitySourceParametersForList", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              A IdentitySourceParametersForList object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

                              " + } + }, + "IdentitySourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the identity source.

                              " + } + }, + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Timestamp when the identity source was created.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#IdentitySourceStatus", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Status for the identity source. For example, if the identity source is ACTIVE.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#IdentitySourceStatusCode", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Status code of the identity source.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Message describing the status for the identity source.

                              " + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for an identity source. For more information, see Identity source in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#IdentitySourceParameters": { + "type": "structure", + "members": { + "IamIdentityCenter": { + "target": "com.amazonaws.mpa#IamIdentityCenter", + "traits": { + "smithy.api#documentation": "

                              IAM Identity Center credentials.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance.

                              " + } + }, + "com.amazonaws.mpa#IdentitySourceParametersForGet": { + "type": "union", + "members": { + "IamIdentityCenter": { + "target": "com.amazonaws.mpa#IamIdentityCenterForGet", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              IAM Identity Center credentials.

                              " + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. For more information, see Identity source in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#IdentitySourceParametersForList": { + "type": "union", + "members": { + "IamIdentityCenter": { + "target": "com.amazonaws.mpa#IamIdentityCenterForList", + "traits": { + "smithy.api#documentation": "

                              IAM Identity Center credentials.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. For more information, see Identity source in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#IdentitySourceStatus": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + } + } + }, + "com.amazonaws.mpa#IdentitySourceStatusCode": { + "type": "enum", + "members": { + "ACCESS_DENIED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCESS_DENIED" + } + }, + "DELETION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETION_FAILED" + } + }, + "IDC_INSTANCE_NOT_FOUND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDC_INSTANCE_NOT_FOUND" + } + }, + "IDC_INSTANCE_NOT_VALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDC_INSTANCE_NOT_VALID" + } + } + } + }, + "com.amazonaws.mpa#IdentitySourceType": { + "type": "enum", + "members": { + "IAM_IDENTITY_CENTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_IDENTITY_CENTER" + } + } + } + }, + "com.amazonaws.mpa#IdentitySources": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#IdentitySourceForList", + "traits": { + "aws.api#data": "usage" + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#IdentityStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "ACCEPTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCEPTED" + } + }, + "REJECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECTED" + } + }, + "INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID" + } + } + } + }, + "com.amazonaws.mpa#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the InternalServerException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The service encountered an internal error. Try your request again. If the problem persists, contact Amazon Web Services Support.

                              ", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.mpa#InvalidParameterException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the InvalidParameterException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The request contains an invalid parameter value.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.mpa#IsoTimestamp": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + }, + "com.amazonaws.mpa#ListApprovalTeams": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListApprovalTeamsRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListApprovalTeamsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list approval teams" + }, + "smithy.api#documentation": "

                              Returns a list of approval teams.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/approval-teams/?List" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "ApprovalTeams" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListApprovalTeamsSuccess", + "params": {}, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.mpa#ListApprovalTeamsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.mpa#MaxResults", + "traits": { + "smithy.api#default": 20, + "smithy.api#documentation": "

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "smithy.api#httpQuery": "NextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListApprovalTeamsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "ApprovalTeams": { + "target": "com.amazonaws.mpa#ListApprovalTeamsResponseApprovalTeams", + "traits": { + "smithy.api#documentation": "

                              An array of ListApprovalTeamsResponseApprovalTeam objects. Contains details for approval teams.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ListApprovalTeamsResponseApprovalTeam": { + "type": "structure", + "members": { + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the team was created.

                              " + } + }, + "ApprovalStrategy": { + "target": "com.amazonaws.mpa#ApprovalStrategyResponse", + "traits": { + "smithy.api#documentation": "

                              An ApprovalStrategyResponse object. Contains details for how an approval team grants approval.

                              " + } + }, + "NumberOfApprovers": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Total number of approvers in the team.

                              " + } + }, + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              " + } + }, + "Name": { + "target": "com.amazonaws.mpa#ApprovalTeamName", + "traits": { + "smithy.api#documentation": "

                              Name of the team.

                              " + } + }, + "Description": { + "target": "com.amazonaws.mpa#Description", + "traits": { + "smithy.api#documentation": "

                              Description for the team.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#ApprovalTeamStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#ApprovalTeamStatusCode", + "traits": { + "smithy.api#documentation": "

                              Status code for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#Message", + "traits": { + "smithy.api#documentation": "

                              Message describing the status for the team.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for an approval team

                              " + } + }, + "com.amazonaws.mpa#ListApprovalTeamsResponseApprovalTeams": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#ListApprovalTeamsResponseApprovalTeam" + }, + "traits": { + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#ListIdentitySources": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListIdentitySourcesRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListIdentitySourcesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list identity sources" + }, + "smithy.api#documentation": "

                              Returns a list of identity sources. For more information, see Identity Source in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/identity-sources/?List" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "IdentitySources" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#ListIdentitySourcesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.mpa#MaxResults", + "traits": { + "smithy.api#default": 20, + "smithy.api#documentation": "

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "smithy.api#httpQuery": "NextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListIdentitySourcesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "IdentitySources": { + "target": "com.amazonaws.mpa#IdentitySources", + "traits": { + "smithy.api#documentation": "

                              A IdentitySources. Contains details for identity sources.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ListPolicies": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListPoliciesRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListPoliciesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list policies" + }, + "smithy.api#documentation": "

                              Returns a list of policies. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/policies/?List" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Policies" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#ListPoliciesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.mpa#MaxResults", + "traits": { + "smithy.api#default": 20, + "smithy.api#documentation": "

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "smithy.api#httpQuery": "NextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListPoliciesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "Policies": { + "target": "com.amazonaws.mpa#Policies", + "traits": { + "smithy.api#documentation": "

                              An array of Policy objects. Contains a list of policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ListPolicyVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListPolicyVersionsRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListPolicyVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list the versions for policies" + }, + "smithy.api#documentation": "

                              Returns a list of the versions for policies. Policies define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/policies/{PolicyArn}/?List" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "PolicyVersions" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#ListPolicyVersionsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.mpa#MaxResults", + "traits": { + "smithy.api#default": 20, + "smithy.api#documentation": "

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "smithy.api#httpQuery": "NextToken" + } + }, + "PolicyArn": { + "target": "com.amazonaws.mpa#UnqualifiedPolicyArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListPolicyVersionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "PolicyVersions": { + "target": "com.amazonaws.mpa#PolicyVersions", + "traits": { + "smithy.api#documentation": "

                              An array of PolicyVersionSummary objects. Contains details for the version of the policies that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ListResourcePolicies": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListResourcePoliciesRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListResourcePoliciesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list policies for a resource" + }, + "smithy.api#documentation": "

                              Returns a list of policies for a resource.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/resource-policies/{ResourceArn}/?List" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "ResourcePolicies" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#ListResourcePoliciesRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the resource.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.mpa#MaxResults", + "traits": { + "smithy.api#default": 20, + "smithy.api#documentation": "

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              ", + "smithy.api#httpQuery": "NextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListResourcePoliciesResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "ResourcePolicies": { + "target": "com.amazonaws.mpa#ListResourcePoliciesResponseResourcePolicies", + "traits": { + "smithy.api#documentation": "

                              An array of ListResourcePoliciesResponseResourcePolicy objects. Contains details about the policy for the resource.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ListResourcePoliciesResponseResourcePolicies": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#ListResourcePoliciesResponseResourcePolicy" + }, + "traits": { + "smithy.api#length": { + "max": 100 + } + } + }, + "com.amazonaws.mpa#ListResourcePoliciesResponseResourcePolicy": { + "type": "structure", + "members": { + "PolicyArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for policy.

                              " + } + }, + "PolicyType": { + "target": "com.amazonaws.mpa#PolicyType", + "traits": { + "smithy.api#documentation": "

                              The type of policy.

                              " + } + }, + "PolicyName": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Name of the policy.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details about a policy for a resource.

                              " + } + }, + "com.amazonaws.mpa#ListSessions": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListSessionsRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListSessionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list approval sessions" + }, + "smithy.api#documentation": "

                              Returns a list of approval sessions. For more information, see Session in the Multi-party approval User Guide.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/approval-teams/{ApprovalTeamArn}/sessions/?List" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Sessions" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#ListSessionsRequest": { + "type": "structure", + "members": { + "ApprovalTeamArn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the approval team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.mpa#MaxResults", + "traits": { + "smithy.api#default": 20, + "smithy.api#documentation": "

                              The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "Filters": { + "target": "com.amazonaws.mpa#Filters", + "traits": { + "smithy.api#documentation": "

                              An array of Filter objects. Contains the filter to apply when listing sessions.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListSessionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.mpa#Token", + "traits": { + "smithy.api#documentation": "

                              If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You can repeat this until the NextToken response element returns null.

                              " + } + }, + "Sessions": { + "target": "com.amazonaws.mpa#ListSessionsResponseSessions", + "traits": { + "smithy.api#documentation": "

                              An array of ListSessionsResponseSession objects. Contains details for the sessions.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ListSessionsResponseSession": { + "type": "structure", + "members": { + "SessionArn": { + "target": "com.amazonaws.mpa#SessionArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the session.

                              " + } + }, + "ApprovalTeamName": { + "target": "com.amazonaws.mpa#ApprovalTeamName", + "traits": { + "smithy.api#documentation": "

                              Name of the approval team.

                              " + } + }, + "ApprovalTeamArn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the approval team.

                              " + } + }, + "InitiationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the session was initiated.

                              " + } + }, + "ExpirationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the session was expire.

                              " + } + }, + "CompletionTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the session was completed.

                              " + } + }, + "Description": { + "target": "com.amazonaws.mpa#Description", + "traits": { + "smithy.api#documentation": "

                              Description for the team.

                              " + } + }, + "ActionName": { + "target": "com.amazonaws.mpa#ActionName", + "traits": { + "smithy.api#documentation": "

                              Name of the protected operation.

                              " + } + }, + "ProtectedResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the protected operation.

                              " + } + }, + "RequesterServicePrincipal": { + "target": "com.amazonaws.mpa#ServicePrincipal", + "traits": { + "smithy.api#documentation": "

                              Service principal for the service associated with the protected operation.

                              " + } + }, + "RequesterPrincipalArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              IAM principal that made the operation request.

                              " + } + }, + "RequesterRegion": { + "target": "com.amazonaws.mpa#Region", + "traits": { + "smithy.api#documentation": "

                              Amazon Web Services Region where the operation request originated.

                              " + } + }, + "RequesterAccountId": { + "target": "com.amazonaws.mpa#AccountId", + "traits": { + "smithy.api#documentation": "

                              ID for the account that made the operation request.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#SessionStatus", + "traits": { + "smithy.api#documentation": "

                              Status for the protected operation. For example, if the operation is PENDING.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#SessionStatusCode", + "traits": { + "smithy.api#documentation": "

                              Status code of the session.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#Message", + "traits": { + "smithy.api#documentation": "

                              Message describing the status for session.

                              " + } + }, + "ActionCompletionStrategy": { + "target": "com.amazonaws.mpa#ActionCompletionStrategy", + "traits": { + "smithy.api#documentation": "

                              Strategy for executing the protected operation. AUTO_COMPLETION_UPON_APPROVAL means the operation is executed automatically using the requester's permissions, if approved.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains details for an approval session. For more information, see Session in the Multi-party approval User Guide

                              " + } + }, + "com.amazonaws.mpa#ListSessionsResponseSessions": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#ListSessionsResponseSession" + }, + "traits": { + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.mpa#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list tags for a resource" + }, + "smithy.api#documentation": "

                              Returns a list of the tags for a resource.

                              ", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/tags/{ResourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.mpa#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the resource.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.mpa#Tags", + "traits": { + "smithy.api#documentation": "

                              Tags attached to the resource.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 20 + } + } + }, + "com.amazonaws.mpa#Message": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 500 + } + } + }, + "com.amazonaws.mpa#MofNApprovalStrategy": { + "type": "structure", + "members": { + "MinApprovalsRequired": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Minimum number of approvals (M) required for a total number of approvers (N).

                              ", + "smithy.api#range": { + "min": 1 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Strategy for how an approval team grants approval.

                              " + } + }, + "com.amazonaws.mpa#Operator": { + "type": "enum", + "members": { + "EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQ" + } + }, + "NOT_EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NE" + } + }, + "GREATER_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GT" + } + }, + "LESS_THAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LT" + } + }, + "GREATER_THAN_OR_EQUAL_TO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GTE" + } + }, + "LESS_THAN_OR_EQUAL_TO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LTE" + } + }, + "CONTAINS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS" + } + }, + "DOES_NOT_CONTAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_CONTAINS" + } + }, + "BETWEEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BETWEEN" + } + } + } + }, + "com.amazonaws.mpa#ParticipantId": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.mpa#PendingUpdate": { + "type": "structure", + "members": { + "VersionId": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Version ID for the team.

                              " + } + }, + "Description": { + "target": "com.amazonaws.mpa#String", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Description for the team.

                              " + } + }, + "ApprovalStrategy": { + "target": "com.amazonaws.mpa#ApprovalStrategyResponse", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              An ApprovalStrategyResponse object. Contains details for how the team grants approval.

                              " + } + }, + "NumberOfApprovers": { + "target": "smithy.api#Integer", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Total number of approvers in the team.

                              " + } + }, + "Status": { + "target": "com.amazonaws.mpa#ApprovalTeamStatus", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Status for the team. For more information, see Team health in the Multi-party approval User Guide.

                              " + } + }, + "StatusCode": { + "target": "com.amazonaws.mpa#ApprovalTeamStatusCode", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Status code for the update. For more information, see Team health in the Multi-party approval User Guide.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.mpa#Message", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Message describing the status for the team.

                              " + } + }, + "Approvers": { + "target": "com.amazonaws.mpa#GetApprovalTeamResponseApprovers", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              An array of GetApprovalTeamResponseApprover objects. Contains details for the approvers in the team.

                              " + } + }, + "UpdateInitiationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the update request was initiated.

                              " + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for the pending updates for an approval team, if applicable.

                              " + } + }, + "com.amazonaws.mpa#Policies": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#Policy", + "traits": { + "aws.api#data": "usage" + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#PoliciesReferences": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#PolicyReference" + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.mpa#Policy": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.mpa#UnqualifiedPolicyArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy.

                              ", + "smithy.api#required": {} + } + }, + "DefaultVersion": { + "target": "com.amazonaws.mpa#PolicyVersionId", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Determines if the specified policy is the default for the team.

                              ", + "smithy.api#required": {} + } + }, + "PolicyType": { + "target": "com.amazonaws.mpa#PolicyType", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              The type of policy.

                              ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mpa#PolicyName", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Name of the policy.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#PolicyDocument": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 400000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#PolicyName": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 64 + } + } + }, + "com.amazonaws.mpa#PolicyReference": { + "type": "structure", + "members": { + "PolicyArn": { + "target": "com.amazonaws.mpa#QualifiedPolicyArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains the Amazon Resource Name (ARN) for a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#PolicyStatus": { + "type": "enum", + "members": { + "ATTACHABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ATTACHABLE" + } + }, + "DEPRECATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPRECATED" + } + } + } + }, + "com.amazonaws.mpa#PolicyType": { + "type": "enum", + "members": { + "AWS_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_MANAGED" + } + }, + "AWS_RAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_RAM" + } + } + } + }, + "com.amazonaws.mpa#PolicyVersion": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.mpa#QualifiedPolicyArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              ", + "smithy.api#required": {} + } + }, + "PolicyArn": { + "target": "com.amazonaws.mpa#UnqualifiedPolicyArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy.

                              ", + "smithy.api#required": {} + } + }, + "VersionId": { + "target": "com.amazonaws.mpa#PolicyVersionId", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Verison ID

                              ", + "smithy.api#required": {} + } + }, + "PolicyType": { + "target": "com.amazonaws.mpa#PolicyType", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              The type of policy.

                              ", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Determines if the specified policy is the default for the team.

                              ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mpa#PolicyName", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Name of the policy.

                              ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.mpa#PolicyStatus", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Status for the policy. For example, if the policy is attachable or deprecated.

                              ", + "smithy.api#required": {} + } + }, + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the policy was created.

                              ", + "smithy.api#required": {} + } + }, + "LastUpdatedTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the policy was last updated.

                              ", + "smithy.api#required": {} + } + }, + "Document": { + "target": "com.amazonaws.mpa#PolicyDocument", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Document that contains the policy contents.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for the version of a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#PolicyVersionId": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.mpa#PolicyVersionSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.mpa#QualifiedPolicyArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              ", + "smithy.api#required": {} + } + }, + "PolicyArn": { + "target": "com.amazonaws.mpa#UnqualifiedPolicyArn", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the policy.

                              ", + "smithy.api#required": {} + } + }, + "VersionId": { + "target": "com.amazonaws.mpa#PolicyVersionId", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Version ID for the policy.

                              ", + "smithy.api#required": {} + } + }, + "PolicyType": { + "target": "com.amazonaws.mpa#PolicyType", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              The type of policy.

                              ", + "smithy.api#required": {} + } + }, + "IsDefault": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Determines if the specified policy is the default for the team.

                              ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.mpa#PolicyName", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Name of the policy

                              ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.mpa#PolicyStatus", + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Status for the policy. For example, if the policy is attachable or deprecated.

                              ", + "smithy.api#required": {} + } + }, + "CreationTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the policy was created.

                              ", + "smithy.api#required": {} + } + }, + "LastUpdatedTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the policy was last updated.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#documentation": "

                              Contains details for the version of a policy. Policies define what operations a team that define the permissions for team resources.

                              The protected operation for a service integration might require specific permissions. For more information, see How other services work with Multi-party approval in the Multi-party approval User Guide.

                              " + } + }, + "com.amazonaws.mpa#PolicyVersions": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#PolicyVersionSummary", + "traits": { + "aws.api#data": "usage" + } + }, + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 20 + } + } + }, + "com.amazonaws.mpa#QualifiedPolicyArn": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 1224 + }, + "smithy.api#pattern": "^arn:.{1,63}:mpa:::aws:policy/[a-zA-Z0-9_\\.-]{1,1023}/[a-zA-Z0-9_\\.-]{1,1023}/(?:[\\d]+|\\$DEFAULT)$" + } + }, + "com.amazonaws.mpa#Region": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 100 + } + } + }, + "com.amazonaws.mpa#RequesterComment": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 200 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the ResourceNotFoundException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The specified resource doesn't exist. Check the resource ID, and try again.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.mpa#ServicePrincipal": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.mpa#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the ServiceQuotaExceededException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The request exceeds the service quota for your account. Request a quota increase or reduce your request size.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.mpa#Session": { + "type": "resource", + "identifiers": { + "SessionArn": { + "target": "com.amazonaws.mpa#SessionArn" + } + }, + "read": { + "target": "com.amazonaws.mpa#GetSession" + }, + "update": { + "target": "com.amazonaws.mpa#CancelSession" + }, + "list": { + "target": "com.amazonaws.mpa#ListSessions" + }, + "traits": { + "aws.api#arn": { + "template": "session/{SessionArn}" + }, + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamResource": { + "name": "session", + "relativeDocumentation": "mpa-concepts.html" + }, + "smithy.api#documentation": "Represents an approval workflow that is initiated when a request is made to execute a protected operation" + } + }, + "com.amazonaws.mpa#SessionArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws(-[^:]+)?:mpa:[a-z0-9-]{1,20}:[0-9]{12}:session/[a-zA-Z0-9._-]+/[a-zA-Z0-9_-]+$" + } + }, + "com.amazonaws.mpa#SessionExecutionStatus": { + "type": "enum", + "members": { + "EXECUTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXECUTED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + } + } + }, + "com.amazonaws.mpa#SessionKey": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\p{P}]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#SessionMetadata": { + "type": "map", + "key": { + "target": "com.amazonaws.mpa#SessionKey" + }, + "value": { + "target": "com.amazonaws.mpa#SessionValue" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#SessionResponse": { + "type": "enum", + "members": { + "APPROVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "APPROVED" + } + }, + "REJECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECTED" + } + }, + "NO_RESPONSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_RESPONSE" + } + } + } + }, + "com.amazonaws.mpa#SessionStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "CANCELLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANCELLED" + } + }, + "APPROVED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "APPROVED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + } + } + }, + "com.amazonaws.mpa#SessionStatusCode": { + "type": "enum", + "members": { + "REJECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECTED" + } + }, + "EXPIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXPIRED" + } + }, + "CONFIGURATION_CHANGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONFIGURATION_CHANGED" + } + } + } + }, + "com.amazonaws.mpa#SessionValue": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "min": 1, + "max": 200 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\p{P}]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#StartActiveApprovalTeamDeletion": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#StartActiveApprovalTeamDeletionRequest" + }, + "output": { + "target": "com.amazonaws.mpa#StartActiveApprovalTeamDeletionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#ConflictException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to start the deletion process for an active approval team" + }, + "smithy.api#documentation": "

                              Starts the deletion process for an active approval team.

                              Deletions require team approval

                              Requests to delete an active team must be approved by the team.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/approval-teams/{Arn}?Delete" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#StartActiveApprovalTeamDeletionRequest": { + "type": "structure", + "members": { + "PendingWindowDays": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Number of days between when the team approves the delete request and when the team is deleted.

                              " + } + }, + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#StartActiveApprovalTeamDeletionResponse": { + "type": "structure", + "members": { + "DeletionCompletionTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the deletion process is scheduled to complete.

                              " + } + }, + "DeletionStartTime": { + "target": "com.amazonaws.mpa#IsoTimestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp when the deletion process was initiated.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#String": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 1000 + } + } + }, + "com.amazonaws.mpa#TagKey": { + "type": "string", + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.mpa#TagKey" + }, + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 0, + "max": 50 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.mpa#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#TooManyTagsException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to tag a resource" + }, + "smithy.api#documentation": "

                              Creates or updates a resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

                              ", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/tags/{ResourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the resource you want to tag.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.mpa#Tags", + "traits": { + "smithy.api#documentation": "

                              Tags that you have added to the specified resource.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#TagValue": { + "type": "string", + "traits": { + "aws.api#data": "tagging", + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#Tags": { + "type": "map", + "key": { + "target": "com.amazonaws.mpa#TagKey" + }, + "value": { + "target": "com.amazonaws.mpa#TagValue" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.mpa#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the ThrottlingException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The request was denied due to request throttling.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.mpa#Token": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 4096 + } + } + }, + "com.amazonaws.mpa#TooManyTagsException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the TooManyTagsException error.

                              ", + "smithy.api#required": {} + } + }, + "ResourceName": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Name of the resource for the TooManyTagsException error.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The request exceeds the maximum number of tags allowed for this resource. Remove some tags, and try again.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.mpa#UnqualifiedPolicyArn": { + "type": "string", + "traits": { + "aws.api#data": "usage", + "smithy.api#length": { + "max": 1224 + }, + "smithy.api#pattern": "^arn:.{1,63}:mpa:::aws:policy/[a-zA-Z0-9_\\.-]{1,1023}/[a-zA-Z0-9_\\.-]{1,1023}$" + } + }, + "com.amazonaws.mpa#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.mpa#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to untag a resource" + }, + "smithy.api#documentation": "

                              Removes a resource tag. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.

                              ", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/tags/{ResourceArn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the resource you want to untag.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.mpa#TagKeyList", + "traits": { + "smithy.api#documentation": "

                              Array of tag key-value pairs that you want to untag.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#UpdateApprovalTeam": { + "type": "operation", + "input": { + "target": "com.amazonaws.mpa#UpdateApprovalTeamRequest" + }, + "output": { + "target": "com.amazonaws.mpa#UpdateApprovalTeamResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mpa#AccessDeniedException" + }, + { + "target": "com.amazonaws.mpa#ConflictException" + }, + { + "target": "com.amazonaws.mpa#InternalServerException" + }, + { + "target": "com.amazonaws.mpa#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.mpa#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mpa#ThrottlingException" + }, + { + "target": "com.amazonaws.mpa#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:ResourceTag/${TagKey}" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to update approval team" + }, + "smithy.api#documentation": "

                              Updates an approval team. You can request to update the team description, approval threshold, and approvers in the team.

                              Updates require team approval

                              Updates to an active team must be approved by the team.

                              ", + "smithy.api#http": { + "code": 200, + "method": "PATCH", + "uri": "/approval-teams/{Arn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.mpa#UpdateApprovalTeamRequest": { + "type": "structure", + "members": { + "ApprovalStrategy": { + "target": "com.amazonaws.mpa#ApprovalStrategy", + "traits": { + "smithy.api#documentation": "

                              An ApprovalStrategy object. Contains details for how the team grants approval.

                              " + } + }, + "Approvers": { + "target": "com.amazonaws.mpa#ApprovalTeamRequestApprovers", + "traits": { + "smithy.api#documentation": "

                              An array of ApprovalTeamRequestApprover objects. Contains details for the approvers in the team.

                              " + } + }, + "Description": { + "target": "com.amazonaws.mpa#Description", + "traits": { + "smithy.api#documentation": "

                              Description for the team.

                              " + } + }, + "Arn": { + "target": "com.amazonaws.mpa#ApprovalTeamArn", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) for the team.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mpa#UpdateApprovalTeamResponse": { + "type": "structure", + "members": { + "VersionId": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Version ID for the team that was created. When an approval team is updated, the version ID changes.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.mpa#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mpa#String", + "traits": { + "smithy.api#documentation": "

                              Message for the ValidationException error.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The input fails to satisfy the constraints specified by an Amazon Web Services service.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + } + } +} \ No newline at end of file diff --git a/tools/code-generation/smithy/api-descriptions/network-firewall.json b/tools/code-generation/smithy/api-descriptions/network-firewall.json index 254a05bcb91..8ba70e13a4f 100644 --- a/tools/code-generation/smithy/api-descriptions/network-firewall.json +++ b/tools/code-generation/smithy/api-descriptions/network-firewall.json @@ -29,6 +29,16 @@ ] }, "shapes": { + "com.amazonaws.networkfirewall#AWSAccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^\\d{12}$" + } + }, "com.amazonaws.networkfirewall#AZSyncState": { "type": "structure", "members": { @@ -40,6 +50,69 @@ "smithy.api#documentation": "

                              The status of the firewall endpoint defined by a VpcEndpointAssociation.

                              " } }, + "com.amazonaws.networkfirewall#AcceptNetworkFirewallTransitGatewayAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#AcceptNetworkFirewallTransitGatewayAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#AcceptNetworkFirewallTransitGatewayAttachmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Accepts a transit gateway attachment request for Network Firewall. When you accept the attachment request, Network Firewall creates the necessary routing components to enable traffic flow between the transit gateway and firewall endpoints.

                              \n

                              You must accept a transit gateway attachment to complete the creation of a transit gateway-attached firewall, unless auto-accept is enabled on the transit gateway. After acceptance, use DescribeFirewall to verify the firewall status.

                              \n

                              To reject an attachment instead of accepting it, use RejectNetworkFirewallTransitGatewayAttachment.

                              \n \n

                              It can take several minutes for the attachment acceptance to complete and the firewall to become available.

                              \n
                              " + } + }, + "com.amazonaws.networkfirewall#AcceptNetworkFirewallTransitGatewayAttachmentRequest": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              Required. The unique identifier of the transit gateway attachment to accept. This ID is returned in the response when creating a transit gateway-attached firewall.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#AcceptNetworkFirewallTransitGatewayAttachmentResponse": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the transit gateway attachment that was accepted.

                              ", + "smithy.api#required": {} + } + }, + "TransitGatewayAttachmentStatus": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the transit gateway attachment. Valid values are:

                              \n
                                \n
                              • \n

                                \n CREATING - The attachment is being created

                                \n
                              • \n
                              • \n

                                \n DELETING - The attachment is being deleted

                                \n
                              • \n
                              • \n

                                \n DELETED - The attachment has been deleted

                                \n
                              • \n
                              • \n

                                \n FAILED - The attachment creation has failed and cannot be recovered

                                \n
                              • \n
                              • \n

                                \n ERROR - The attachment is in an error state that might be recoverable

                                \n
                              • \n
                              • \n

                                \n READY - The attachment is active and processing traffic

                                \n
                              • \n
                              • \n

                                \n PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                                \n
                              • \n
                              • \n

                                \n REJECTING - The attachment is in the process of being rejected

                                \n
                              • \n
                              • \n

                                \n REJECTED - The attachment has been rejected

                                \n
                              • \n
                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#ActionDefinition": { "type": "structure", "members": { @@ -76,7 +149,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A single IP address specification. This is used in the MatchAttributes\n source and destination specifications.

                              " + "smithy.api#documentation": "

                              A single IP address specification. This is used in the MatchAttributes source and destination specifications.

                              " } }, "com.amazonaws.networkfirewall#AddressDefinition": { @@ -237,6 +310,106 @@ "smithy.api#documentation": "

                              The results of a COMPLETED analysis report generated with StartAnalysisReport.

                              \n

                              For an example of traffic analysis report results, see the response syntax of GetAnalysisReportResults.

                              " } }, + "com.amazonaws.networkfirewall#AssociateAvailabilityZones": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#AssociateAvailabilityZonesRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#AssociateAvailabilityZonesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InsufficientCapacityException" + }, + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidOperationException" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidTokenException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Associates the specified Availability Zones with a transit gateway-attached firewall. For each Availability Zone, Network Firewall creates a firewall endpoint to process traffic. You can specify one or more Availability Zones where you want to deploy the firewall.

                              \n

                              After adding Availability Zones, you must update your transit gateway route tables to direct traffic through the new firewall endpoints. Use DescribeFirewall to monitor the status of the new endpoints.

                              " + } + }, + "com.amazonaws.networkfirewall#AssociateAvailabilityZonesRequest": { + "type": "structure", + "members": { + "UpdateToken": { + "target": "com.amazonaws.networkfirewall#UpdateToken", + "traits": { + "smithy.api#documentation": "

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              \n

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              \n

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + }, + "FirewallArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "FirewallName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "AvailabilityZoneMappings": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappings", + "traits": { + "smithy.api#documentation": "

                              Required. The Availability Zones where you want to create firewall endpoints. You must specify at least one Availability Zone.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#AssociateAvailabilityZonesResponse": { + "type": "structure", + "members": { + "FirewallArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              " + } + }, + "FirewallName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              " + } + }, + "AvailabilityZoneMappings": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappings", + "traits": { + "smithy.api#documentation": "

                              The Availability Zones where Network Firewall created firewall endpoints. Each mapping specifies an Availability Zone where the firewall processes traffic.

                              " + } + }, + "UpdateToken": { + "target": "com.amazonaws.networkfirewall#UpdateToken", + "traits": { + "smithy.api#documentation": "

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              \n

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              \n

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#AssociateFirewallPolicy": { "type": "operation", "input": { @@ -467,7 +640,7 @@ "StatusMessage": { "target": "com.amazonaws.networkfirewall#StatusMessage", "traits": { - "smithy.api#documentation": "

                              If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it. A FAILED status indicates a non-recoverable state, and a ERROR status indicates an issue that you can fix. Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

                              " + "smithy.api#documentation": "

                              If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it. \n A FAILED status indicates a non-recoverable state, and a ERROR status indicates an issue that you can fix. \n Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

                              " } } }, @@ -475,6 +648,9 @@ "smithy.api#documentation": "

                              The definition and status of the firewall endpoint for a single subnet. In each configured subnet, Network Firewall instantiates a firewall\n endpoint to handle network traffic.

                              \n

                              This data type is used for any firewall endpoint type:

                              \n
                                \n
                              • \n

                                For Firewall.SubnetMappings, this Attachment is part of the FirewallStatus sync states information. You define firewall subnets using CreateFirewall and AssociateSubnets.

                                \n
                              • \n
                              • \n

                                For VpcEndpointAssociation, this Attachment is part of the VpcEndpointAssociationStatus sync states information. You define these subnets using CreateVpcEndpointAssociation.

                                \n
                              • \n
                              " } }, + "com.amazonaws.networkfirewall#AttachmentId": { + "type": "string" + }, "com.amazonaws.networkfirewall#AttachmentStatus": { "type": "enum", "members": { @@ -519,6 +695,37 @@ "com.amazonaws.networkfirewall#AvailabilityZone": { "type": "string" }, + "com.amazonaws.networkfirewall#AvailabilityZoneMapping": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappingString", + "traits": { + "smithy.api#documentation": "

                              The ID of the Availability Zone where the firewall endpoint is located. For example, us-east-2a. The Availability Zone must be in the same Region as the transit gateway.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling CreateFirewall, AssociateAvailabilityZones, and DisassociateAvailabilityZones.

                              \n

                              To retrieve the current Availability Zone mappings for a firewall, use DescribeFirewall.

                              " + } + }, + "com.amazonaws.networkfirewall#AvailabilityZoneMappingString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.networkfirewall#AvailabilityZoneMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMapping" + } + }, "com.amazonaws.networkfirewall#AvailabilityZoneMetadata": { "type": "structure", "members": { @@ -871,6 +1078,25 @@ "traits": { "smithy.api#documentation": "

                              An optional setting indicating the specific traffic analysis types to enable on the firewall.

                              " } + }, + "TransitGatewayId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayId", + "traits": { + "smithy.api#documentation": "

                              Required when creating a transit gateway-attached firewall. The unique identifier of the transit gateway to attach to this firewall. You can provide either a transit gateway from your account or one that has been shared with you through Resource Access Manager.

                              \n \n

                              After creating the firewall, you cannot change the transit gateway association. To use a different transit gateway, you must create a new firewall.

                              \n
                              \n

                              For information about creating firewalls, see CreateFirewall. For specific guidance about transit gateway-attached firewalls, see Considerations for transit gateway-attached firewalls in the Network Firewall Developer Guide.

                              " + } + }, + "AvailabilityZoneMappings": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappings", + "traits": { + "smithy.api#documentation": "

                              Required. The Availability Zones where you want to create firewall endpoints for a transit gateway-attached firewall. You must specify at least one Availability Zone. Consider enabling the firewall in every Availability Zone where you have workloads to maintain Availability Zone independence.

                              \n

                              You can modify Availability Zones later using AssociateAvailabilityZones or DisassociateAvailabilityZones, but this may briefly disrupt traffic. The AvailabilityZoneChangeProtection setting controls whether you can make these modifications.

                              " + } + }, + "AvailabilityZoneChangeProtection": { + "target": "com.amazonaws.networkfirewall#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Optional. A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you cannot add or remove Availability Zones without first disabling this protection using UpdateAvailabilityZoneChangeProtection.

                              \n

                              Default value: FALSE\n

                              " + } } }, "traits": { @@ -999,6 +1225,12 @@ "smithy.api#default": false, "smithy.api#documentation": "

                              Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to TRUE, Network Firewall runs the analysis and then creates the rule group for you. To run the stateless rule group analyzer without creating the rule group, set DryRun to TRUE.

                              " } + }, + "SummaryConfiguration": { + "target": "com.amazonaws.networkfirewall#SummaryConfiguration", + "traits": { + "smithy.api#documentation": "

                              An object that contains a RuleOptions array of strings. \n You use RuleOptions to determine which of the following RuleSummary values are returned in response to DescribeRuleGroupSummary.

                              \n
                                \n
                              • \n

                                \n Metadata - returns

                                \n
                              • \n
                              • \n

                                \n Msg\n

                                \n
                              • \n
                              • \n

                                \n SID\n

                                \n
                              • \n
                              " + } } }, "traits": { @@ -1238,6 +1470,9 @@ "target": "com.amazonaws.networkfirewall#CustomAction" } }, + "com.amazonaws.networkfirewall#DeepThreatInspection": { + "type": "boolean" + }, "com.amazonaws.networkfirewall#DeleteFirewall": { "type": "operation", "input": { @@ -1371,6 +1606,69 @@ "smithy.api#output": {} } }, + "com.amazonaws.networkfirewall#DeleteNetworkFirewallTransitGatewayAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#DeleteNetworkFirewallTransitGatewayAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#DeleteNetworkFirewallTransitGatewayAttachmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes a transit gateway attachment from a Network Firewall. Either the firewall owner or the transit gateway owner can delete the attachment.

                              \n \n

                              After you delete a transit gateway attachment, raffic will no longer flow through the firewall endpoints.

                              \n
                              \n

                              After you initiate the delete operation, use DescribeFirewall to monitor the deletion status.

                              " + } + }, + "com.amazonaws.networkfirewall#DeleteNetworkFirewallTransitGatewayAttachmentRequest": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              Required. The unique identifier of the transit gateway attachment to delete.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#DeleteNetworkFirewallTransitGatewayAttachmentResponse": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              The ID of the transit gateway attachment that was deleted.

                              ", + "smithy.api#required": {} + } + }, + "TransitGatewayAttachmentStatus": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the transit gateway attachment deletion process.

                              \n

                              Valid values are:

                              \n
                                \n
                              • \n

                                \n CREATING - The attachment is being created

                                \n
                              • \n
                              • \n

                                \n DELETING - The attachment is being deleted

                                \n
                              • \n
                              • \n

                                \n DELETED - The attachment has been deleted

                                \n
                              • \n
                              • \n

                                \n FAILED - The attachment creation has failed and cannot be recovered

                                \n
                              • \n
                              • \n

                                \n ERROR - The attachment is in an error state that might be recoverable

                                \n
                              • \n
                              • \n

                                \n READY - The attachment is active and processing traffic

                                \n
                              • \n
                              • \n

                                \n PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                                \n
                              • \n
                              • \n

                                \n REJECTING - The attachment is in the process of being rejected

                                \n
                              • \n
                              • \n

                                \n REJECTED - The attachment has been rejected

                                \n
                              • \n
                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#DeleteResourcePolicy": { "type": "operation", "input": { @@ -1721,6 +2019,12 @@ "traits": { "smithy.api#documentation": "

                              The Availability Zones that the firewall currently supports. This includes all Availability Zones for which \n the firewall has a subnet defined.

                              " } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the transit gateway attachment associated with this firewall. This field is only present for transit gateway-attached firewalls.

                              " + } } }, "traits": { @@ -2224,7 +2528,7 @@ "LastModifiedTime": { "target": "com.amazonaws.networkfirewall#LastUpdateTime", "traits": { - "smithy.api#documentation": "

                              The last time that the rule group was changed.

                              " + "smithy.api#documentation": "

                              A timestamp indicating when the rule group was last modified.

                              " } } }, @@ -2293,6 +2597,85 @@ "smithy.api#output": {} } }, + "com.amazonaws.networkfirewall#DescribeRuleGroupSummary": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#DescribeRuleGroupSummaryRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#DescribeRuleGroupSummaryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns detailed information for a stateful rule group.

                              \n

                              For active threat defense Amazon Web Services managed rule groups, this operation provides insight into the protections enabled by the rule group, based on Suricata rule metadata fields. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

                              \n

                              To modify how threat information appears in summaries, use the SummaryConfiguration parameter in UpdateRuleGroup.

                              " + } + }, + "com.amazonaws.networkfirewall#DescribeRuleGroupSummaryRequest": { + "type": "structure", + "members": { + "RuleGroupName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the rule group. You can't change the name of a rule group after you create it.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "RuleGroupArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              Required. The Amazon Resource Name (ARN) of the rule group.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "Type": { + "target": "com.amazonaws.networkfirewall#RuleGroupType", + "traits": { + "smithy.api#documentation": "

                              The type of rule group you want a summary for. This is a required field.

                              \n

                              Valid value: STATEFUL\n

                              \n

                              Note that STATELESS exists but is not currently supported. If you provide STATELESS, an exception is returned.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#DescribeRuleGroupSummaryResponse": { + "type": "structure", + "members": { + "RuleGroupName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the rule group. You can't change the name of a rule group after you create it.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.networkfirewall#Description", + "traits": { + "smithy.api#documentation": "

                              A description of the rule group.

                              " + } + }, + "Summary": { + "target": "com.amazonaws.networkfirewall#Summary", + "traits": { + "smithy.api#documentation": "

                              A complex type that contains rule information based on the rule group's configured summary settings. The content varies depending on the fields that you specified to extract in your SummaryConfiguration. When you haven't configured any summary settings, this returns an empty array. The response might include:

                              \n
                                \n
                              • \n

                                Rule identifiers

                                \n
                              • \n
                              • \n

                                Rule descriptions

                                \n
                              • \n
                              • \n

                                Any metadata fields that you specified in your SummaryConfiguration

                                \n
                              • \n
                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#DescribeTLSInspectionConfiguration": { "type": "operation", "input": { @@ -2485,6 +2868,103 @@ } } }, + "com.amazonaws.networkfirewall#DisassociateAvailabilityZones": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#DisassociateAvailabilityZonesRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#DisassociateAvailabilityZonesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidOperationException" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidTokenException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Removes the specified Availability Zone associations from a transit gateway-attached firewall. This removes the firewall endpoints from these Availability Zones and stops traffic filtering in those zones. Before removing an Availability Zone, ensure you've updated your transit gateway route tables to redirect traffic appropriately.

                              \n \n

                              If AvailabilityZoneChangeProtection is enabled, you must first disable it using UpdateAvailabilityZoneChangeProtection.

                              \n
                              \n

                              To verify the status of your Availability Zone changes, use DescribeFirewall.

                              " + } + }, + "com.amazonaws.networkfirewall#DisassociateAvailabilityZonesRequest": { + "type": "structure", + "members": { + "UpdateToken": { + "target": "com.amazonaws.networkfirewall#UpdateToken", + "traits": { + "smithy.api#documentation": "

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              \n

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              \n

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + }, + "FirewallArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "FirewallName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "AvailabilityZoneMappings": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappings", + "traits": { + "smithy.api#documentation": "

                              Required. The Availability Zones to remove from the firewall's configuration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#DisassociateAvailabilityZonesResponse": { + "type": "structure", + "members": { + "FirewallArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              " + } + }, + "FirewallName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              " + } + }, + "AvailabilityZoneMappings": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappings", + "traits": { + "smithy.api#documentation": "

                              The remaining Availability Zones where the firewall has endpoints after the disassociation.

                              " + } + }, + "UpdateToken": { + "target": "com.amazonaws.networkfirewall#UpdateToken", + "traits": { + "smithy.api#documentation": "

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              \n

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              \n

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#DisassociateSubnets": { "type": "operation", "input": { @@ -2751,6 +3231,31 @@ "traits": { "smithy.api#documentation": "

                              An optional setting indicating the specific traffic analysis types to enable on the firewall.

                              " } + }, + "TransitGatewayId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.

                              " + } + }, + "TransitGatewayOwnerAccountId": { + "target": "com.amazonaws.networkfirewall#AWSAccountId", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.

                              " + } + }, + "AvailabilityZoneMappings": { + "target": "com.amazonaws.networkfirewall#AvailabilityZoneMappings", + "traits": { + "smithy.api#documentation": "

                              The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.

                              " + } + }, + "AvailabilityZoneChangeProtection": { + "target": "com.amazonaws.networkfirewall#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you must first disable this protection before adding or removing Availability Zones.

                              " + } } }, "traits": { @@ -2771,6 +3276,12 @@ "traits": { "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              " } + }, + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the transit gateway attachment associated with this firewall. This field is only present for transit gateway-attached firewalls.

                              " + } } }, "traits": { @@ -2972,6 +3483,12 @@ "traits": { "smithy.api#documentation": "

                              Describes the capacity usage of the resources contained in a firewall's reference sets. Network Firewall calculates the capacity usage by taking an aggregated count of all of the resources used by all of the reference sets in a firewall.

                              " } + }, + "TransitGatewayAttachmentSyncState": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentSyncState", + "traits": { + "smithy.api#documentation": "

                              The synchronization state of the transit gateway attachment. This indicates whether the firewall's transit gateway configuration is properly synchronized and operational. Use this to verify that your transit gateway configuration changes have been applied.

                              " + } } }, "traits": { @@ -4663,6 +5180,12 @@ "type": "service", "version": "2020-11-12", "operations": [ + { + "target": "com.amazonaws.networkfirewall#AcceptNetworkFirewallTransitGatewayAttachment" + }, + { + "target": "com.amazonaws.networkfirewall#AssociateAvailabilityZones" + }, { "target": "com.amazonaws.networkfirewall#AssociateFirewallPolicy" }, @@ -4690,6 +5213,9 @@ { "target": "com.amazonaws.networkfirewall#DeleteFirewallPolicy" }, + { + "target": "com.amazonaws.networkfirewall#DeleteNetworkFirewallTransitGatewayAttachment" + }, { "target": "com.amazonaws.networkfirewall#DeleteResourcePolicy" }, @@ -4726,12 +5252,18 @@ { "target": "com.amazonaws.networkfirewall#DescribeRuleGroupMetadata" }, + { + "target": "com.amazonaws.networkfirewall#DescribeRuleGroupSummary" + }, { "target": "com.amazonaws.networkfirewall#DescribeTLSInspectionConfiguration" }, { "target": "com.amazonaws.networkfirewall#DescribeVpcEndpointAssociation" }, + { + "target": "com.amazonaws.networkfirewall#DisassociateAvailabilityZones" + }, { "target": "com.amazonaws.networkfirewall#DisassociateSubnets" }, @@ -4768,6 +5300,9 @@ { "target": "com.amazonaws.networkfirewall#PutResourcePolicy" }, + { + "target": "com.amazonaws.networkfirewall#RejectNetworkFirewallTransitGatewayAttachment" + }, { "target": "com.amazonaws.networkfirewall#StartAnalysisReport" }, @@ -4783,6 +5318,9 @@ { "target": "com.amazonaws.networkfirewall#UntagResource" }, + { + "target": "com.amazonaws.networkfirewall#UpdateAvailabilityZoneChangeProtection" + }, { "target": "com.amazonaws.networkfirewall#UpdateFirewallAnalysisSettings" }, @@ -6100,6 +6638,69 @@ "smithy.api#documentation": "

                              Contains a set of IP set references.

                              " } }, + "com.amazonaws.networkfirewall#RejectNetworkFirewallTransitGatewayAttachment": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#RejectNetworkFirewallTransitGatewayAttachmentRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#RejectNetworkFirewallTransitGatewayAttachmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Rejects a transit gateway attachment request for Network Firewall. When you reject the attachment request, Network Firewall cancels the creation of routing components between the transit gateway and firewall endpoints.

                              \n

                              Only the firewall owner can reject the attachment. After rejection, no traffic will flow through the firewall endpoints for this attachment.

                              \n

                              Use DescribeFirewall to monitor the rejection status. To accept the attachment instead of rejecting it, use AcceptNetworkFirewallTransitGatewayAttachment.

                              \n \n

                              Once rejected, you cannot reverse this action. To establish connectivity, you must create a new transit gateway-attached firewall.

                              \n
                              " + } + }, + "com.amazonaws.networkfirewall#RejectNetworkFirewallTransitGatewayAttachmentRequest": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              Required. The unique identifier of the transit gateway attachment to reject. This ID is returned in the response when creating a transit gateway-attached firewall.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#RejectNetworkFirewallTransitGatewayAttachmentResponse": { + "type": "structure", + "members": { + "TransitGatewayAttachmentId": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the transit gateway attachment that was rejected.

                              ", + "smithy.api#required": {} + } + }, + "TransitGatewayAttachmentStatus": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the transit gateway attachment. Valid values are:

                              \n
                                \n
                              • \n

                                \n CREATING - The attachment is being created

                                \n
                              • \n
                              • \n

                                \n DELETING - The attachment is being deleted

                                \n
                              • \n
                              • \n

                                \n DELETED - The attachment has been deleted

                                \n
                              • \n
                              • \n

                                \n FAILED - The attachment creation has failed and cannot be recovered

                                \n
                              • \n
                              • \n

                                \n ERROR - The attachment is in an error state that might be recoverable

                                \n
                              • \n
                              • \n

                                \n READY - The attachment is active and processing traffic

                                \n
                              • \n
                              • \n

                                \n PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                                \n
                              • \n
                              • \n

                                \n REJECTING - The attachment is in the process of being rejected

                                \n
                              • \n
                              • \n

                                \n REJECTED - The attachment has been rejected

                                \n
                              • \n
                              \n

                              For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#ReportTime": { "type": "timestamp" }, @@ -6149,10 +6750,16 @@ "smithy.api#enumValue": "AWS_MANAGED_THREAT_SIGNATURES" } }, - "AWS_MANAGED_DOMAIN_LISTS": { + "AWS_MANAGED_DOMAIN_LISTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AWS_MANAGED_DOMAIN_LISTS" + } + }, + "ACTIVE_THREAT_DEFENSE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "AWS_MANAGED_DOMAIN_LISTS" + "smithy.api#enumValue": "ACTIVE_THREAT_DEFENSE" } } } @@ -6396,7 +7003,7 @@ "SnsTopic": { "target": "com.amazonaws.networkfirewall#ResourceArn", "traits": { - "smithy.api#documentation": "

                              The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's\nused to record changes to the managed rule group. You can subscribe to the SNS topic to receive\nnotifications when the managed rule group is modified, such as for new versions and for version\nexpiration. For more information, see the Amazon Simple Notification Service Developer Guide..

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Amazon Simple Notification Service SNS topic that's\nused to record changes to the managed rule group. You can subscribe to the SNS topic to receive\nnotifications when the managed rule group is modified, such as for new versions and for version\nexpiration. For more information, see the Amazon Simple Notification Service Developer Guide..

                              " } }, "LastModifiedTime": { @@ -6410,6 +7017,12 @@ "traits": { "smithy.api#documentation": "

                              The list of analysis results for AnalyzeRuleGroup. If you set AnalyzeRuleGroup to TRUE in CreateRuleGroup, UpdateRuleGroup, or DescribeRuleGroup, Network Firewall analyzes the rule group and identifies the rules that might adversely effect your firewall's functionality. For example, if Network Firewall detects a rule that's routing traffic asymmetrically, which impacts the service's ability to properly process traffic, the service includes the rule in the list of analysis results.

                              " } + }, + "SummaryConfiguration": { + "target": "com.amazonaws.networkfirewall#SummaryConfiguration", + "traits": { + "smithy.api#documentation": "

                              A complex type containing the currently selected rule option fields that will be displayed for rule summarization returned by DescribeRuleGroupSummary.

                              \n
                                \n
                              • \n

                                The RuleOptions specified in SummaryConfiguration\n

                                \n
                              • \n
                              • \n

                                Rule metadata organization preferences

                                \n
                              • \n
                              " + } } }, "traits": { @@ -6489,6 +7102,38 @@ } } }, + "com.amazonaws.networkfirewall#RuleSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.networkfirewall#RuleSummary" + } + }, + "com.amazonaws.networkfirewall#RuleSummary": { + "type": "structure", + "members": { + "SID": { + "target": "com.amazonaws.networkfirewall#CollectionMember_String", + "traits": { + "smithy.api#documentation": "

                              The unique identifier (Signature ID) of the Suricata rule.

                              " + } + }, + "Msg": { + "target": "com.amazonaws.networkfirewall#CollectionMember_String", + "traits": { + "smithy.api#documentation": "

                              The contents taken from the rule's msg field.

                              " + } + }, + "Metadata": { + "target": "com.amazonaws.networkfirewall#CollectionMember_String", + "traits": { + "smithy.api#documentation": "

                              The contents of the rule's metadata.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A complex type containing details about a Suricata rule. Contains:

                              \n
                                \n
                              • \n

                                \n SID\n

                                \n
                              • \n
                              • \n

                                \n Msg\n

                                \n
                              • \n
                              • \n

                                \n Metadata\n

                                \n
                              • \n
                              \n

                              Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

                              " + } + }, "com.amazonaws.networkfirewall#RuleTargets": { "type": "list", "member": { @@ -6522,7 +7167,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Settings that are available for use in the rules in the RuleGroup\n where this is defined.

                              " + "smithy.api#documentation": "

                              Settings that are available for use in the rules in the RuleGroup\n where this is defined. See CreateRuleGroup or UpdateRuleGroup for usage.

                              " } }, "com.amazonaws.networkfirewall#RulesSource": { @@ -6627,7 +7272,7 @@ "CertificateAuthorityArn": { "target": "com.amazonaws.networkfirewall#ResourceArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the imported certificate authority (CA) certificate within Certificate Manager (ACM) to use for outbound SSL/TLS inspection.

                              \n

                              The following limitations apply:

                              \n
                                \n
                              • \n

                                You can use CA certificates that you imported into ACM, but you can't generate CA certificates with ACM.

                                \n
                              • \n
                              • \n

                                You can't use certificates issued by Private Certificate Authority.

                                \n
                              • \n
                              \n

                              For more information about configuring certificates for outbound inspection, see Using SSL/TLS certificates with certificates with TLS inspection configurations in the Network Firewall Developer Guide.

                              \n

                              For information about working with certificates in ACM, see Importing certificates in the Certificate Manager User Guide.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the imported certificate authority (CA) certificate within Certificate Manager (ACM) to use for outbound SSL/TLS inspection.

                              \n

                              The following limitations apply:

                              \n
                                \n
                              • \n

                                You can use CA certificates that you imported into ACM, but you can't generate CA certificates with ACM.

                                \n
                              • \n
                              • \n

                                You can't use certificates issued by Private Certificate Authority.

                                \n
                              • \n
                              \n

                              For more information about configuring certificates for outbound inspection, see Using SSL/TLS certificates with TLS inspection configurations in the Network Firewall Developer Guide.

                              \n

                              For information about working with certificates in ACM, see Importing certificates in the Certificate Manager User Guide.

                              " } }, "CheckCertificateRevocationStatus": { @@ -7051,7 +7696,7 @@ "RuleOrder": { "target": "com.amazonaws.networkfirewall#RuleOrder", "traits": { - "smithy.api#documentation": "

                              Indicates how to manage the order of stateful rule evaluation for the policy. STRICT_ORDER is\n the default and recommended option. With STRICT_ORDER, provide your rules in the order that you want them to be evaluated. You can then choose one or more default actions for packets that don't match any rules. Choose STRICT_ORDER to have the stateful rules engine determine the evaluation order of your rules. The default action for this rule order is PASS, followed by DROP, REJECT, and ALERT actions. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them\n based on your settings. For more information, see\n Evaluation order for stateful rules in the Network Firewall Developer Guide.\n

                              " + "smithy.api#documentation": "

                              Indicates how to manage the order of stateful rule evaluation for the policy. STRICT_ORDER is the\n recommended option, but DEFAULT_ACTION_ORDER is the default option. \n With STRICT_ORDER, provide your rules in the order that you want them to be evaluated. \n You can then choose one or more default actions for packets that don't match any rules. \n Choose STRICT_ORDER to have the stateful rules engine determine the evaluation order of your rules. \n The default action for this rule order is \n PASS, followed by DROP, REJECT, and ALERT actions. \n Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on your settings. \n For more information, see\n Evaluation order for stateful rules in the Network Firewall Developer Guide.\n

                              " } }, "StreamExceptionPolicy": { @@ -7152,6 +7797,12 @@ "traits": { "smithy.api#documentation": "

                              The action that allows the policy owner to override the behavior of the rule group within a policy.

                              " } + }, + "DeepThreatInspection": { + "target": "com.amazonaws.networkfirewall#DeepThreatInspection", + "traits": { + "smithy.api#documentation": "

                              Network Firewall plans to augment the active threat defense managed rule group with an additional deep threat inspection capability. When this capability is released, Amazon Web Services will analyze service logs of network traffic processed by these rule groups to identify threat indicators across customers. \n Amazon Web Services will use these threat indicators to improve the active threat defense managed rule groups and protect the security of Amazon Web Services customers and services.

                              \n \n

                              Customers can opt-out of deep threat inspection at any time through the Network Firewall console or API. When customers opt out, Network Firewall will not use the network traffic processed by those customers' active threat defense rule groups for rule group improvement.

                              \n
                              " + } } }, "traits": { @@ -7294,6 +7945,18 @@ "traits": { "smithy.api#enumValue": "DHCP" } + }, + "HTTP2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTP2" + } + }, + "QUIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUIC" + } } } }, @@ -7452,6 +8115,63 @@ "target": "com.amazonaws.networkfirewall#SubnetMapping" } }, + "com.amazonaws.networkfirewall#Summary": { + "type": "structure", + "members": { + "RuleSummaries": { + "target": "com.amazonaws.networkfirewall#RuleSummaries", + "traits": { + "smithy.api#documentation": "

                              An array of RuleSummary objects containing individual rule details that had been configured by the rulegroup's SummaryConfiguration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A complex type containing summaries of security protections provided by a rule group.

                              \n

                              Network Firewall extracts this information from selected fields in the rule group's Suricata rules, based on your SummaryConfiguration settings.

                              " + } + }, + "com.amazonaws.networkfirewall#SummaryConfiguration": { + "type": "structure", + "members": { + "RuleOptions": { + "target": "com.amazonaws.networkfirewall#SummaryRuleOptions", + "traits": { + "smithy.api#documentation": "

                              Specifies the selected rule options returned by DescribeRuleGroupSummary.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A complex type that specifies which Suricata rule metadata fields to use when displaying threat information. Contains:

                              \n
                                \n
                              • \n

                                \n RuleOptions - The Suricata rule options fields to extract and display

                                \n
                              • \n
                              \n

                              These settings affect how threat information appears in both the console and API responses. Summaries are available for rule groups you manage and for active threat defense Amazon Web Services managed rule groups.

                              " + } + }, + "com.amazonaws.networkfirewall#SummaryRuleOption": { + "type": "enum", + "members": { + "SID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SID" + } + }, + "MSG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MSG" + } + }, + "METADATA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "METADATA" + } + } + } + }, + "com.amazonaws.networkfirewall#SummaryRuleOptions": { + "type": "list", + "member": { + "target": "com.amazonaws.networkfirewall#SummaryRuleOption" + } + }, "com.amazonaws.networkfirewall#SupportedAvailabilityZones": { "type": "map", "key": { @@ -7893,6 +8613,114 @@ "smithy.api#documentation": "

                              Contains metadata about an Certificate Manager certificate.

                              " } }, + "com.amazonaws.networkfirewall#TransitGatewayAttachmentId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^tgw-attach-[0-9a-z]+$" + } + }, + "com.amazonaws.networkfirewall#TransitGatewayAttachmentStatus": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + }, + "READY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY" + } + }, + "PENDING_ACCEPTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_ACCEPTANCE" + } + }, + "REJECTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECTING" + } + }, + "REJECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECTED" + } + } + } + }, + "com.amazonaws.networkfirewall#TransitGatewayAttachmentSyncState": { + "type": "structure", + "members": { + "AttachmentId": { + "target": "com.amazonaws.networkfirewall#AttachmentId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the transit gateway attachment.

                              " + } + }, + "TransitGatewayAttachmentStatus": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentStatus", + "traits": { + "smithy.api#documentation": "

                              The current status of the transit gateway attachment.

                              \n

                              Valid values are:

                              \n
                                \n
                              • \n

                                \n CREATING - The attachment is being created

                                \n
                              • \n
                              • \n

                                \n DELETING - The attachment is being deleted

                                \n
                              • \n
                              • \n

                                \n DELETED - The attachment has been deleted

                                \n
                              • \n
                              • \n

                                \n FAILED - The attachment creation has failed and cannot be recovered

                                \n
                              • \n
                              • \n

                                \n ERROR - The attachment is in an error state that might be recoverable

                                \n
                              • \n
                              • \n

                                \n READY - The attachment is active and processing traffic

                                \n
                              • \n
                              • \n

                                \n PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                                \n
                              • \n
                              • \n

                                \n REJECTING - The attachment is in the process of being rejected

                                \n
                              • \n
                              • \n

                                \n REJECTED - The attachment has been rejected

                                \n
                              • \n
                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.networkfirewall#TransitGatewayAttachmentSyncStateMessage", + "traits": { + "smithy.api#documentation": "

                              A message providing additional information about the current status, particularly useful when the transit gateway attachment is in a non-READY state.

                              \n

                              Valid values are:

                              \n
                                \n
                              • \n

                                \n CREATING - The attachment is being created

                                \n
                              • \n
                              • \n

                                \n DELETING - The attachment is being deleted

                                \n
                              • \n
                              • \n

                                \n DELETED - The attachment has been deleted

                                \n
                              • \n
                              • \n

                                \n FAILED - The attachment creation has failed and cannot be recovered

                                \n
                              • \n
                              • \n

                                \n ERROR - The attachment is in an error state that might be recoverable

                                \n
                              • \n
                              • \n

                                \n READY - The attachment is active and processing traffic

                                \n
                              • \n
                              • \n

                                \n PENDING_ACCEPTANCE - The attachment is waiting to be accepted

                                \n
                              • \n
                              • \n

                                \n REJECTING - The attachment is in the process of being rejected

                                \n
                              • \n
                              • \n

                                \n REJECTED - The attachment has been rejected

                                \n
                              • \n
                              \n

                              For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains information about the synchronization state of a transit gateway attachment, including its current status and any error messages. Network Firewall uses this to track the state of your transit gateway configuration changes.

                              " + } + }, + "com.amazonaws.networkfirewall#TransitGatewayAttachmentSyncStateMessage": { + "type": "string" + }, + "com.amazonaws.networkfirewall#TransitGatewayId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^tgw-[0-9a-z]+$" + } + }, "com.amazonaws.networkfirewall#UniqueSources": { "type": "structure", "members": { @@ -7975,6 +8803,105 @@ "smithy.api#output": {} } }, + "com.amazonaws.networkfirewall#UpdateAvailabilityZoneChangeProtection": { + "type": "operation", + "input": { + "target": "com.amazonaws.networkfirewall#UpdateAvailabilityZoneChangeProtectionRequest" + }, + "output": { + "target": "com.amazonaws.networkfirewall#UpdateAvailabilityZoneChangeProtectionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.networkfirewall#InternalServerError" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidRequestException" + }, + { + "target": "com.amazonaws.networkfirewall#InvalidTokenException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.networkfirewall#ResourceOwnerCheckException" + }, + { + "target": "com.amazonaws.networkfirewall#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Modifies the AvailabilityZoneChangeProtection setting for a transit gateway-attached firewall. When enabled, this setting prevents accidental changes to the firewall's Availability Zone configuration. This helps protect against disrupting traffic flow in production environments.

                              \n

                              When enabled, you must disable this protection before using AssociateAvailabilityZones or DisassociateAvailabilityZones to modify the firewall's Availability Zone configuration.

                              " + } + }, + "com.amazonaws.networkfirewall#UpdateAvailabilityZoneChangeProtectionRequest": { + "type": "structure", + "members": { + "UpdateToken": { + "target": "com.amazonaws.networkfirewall#UpdateToken", + "traits": { + "smithy.api#documentation": "

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              \n

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              \n

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + }, + "FirewallArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "FirewallName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              \n

                              You must specify the ARN or the name, and you can specify both.

                              " + } + }, + "AvailabilityZoneChangeProtection": { + "target": "com.amazonaws.networkfirewall#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              A setting indicating whether the firewall is protected against changes to the subnet associations.\n Use this setting to protect against\n accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.networkfirewall#UpdateAvailabilityZoneChangeProtectionResponse": { + "type": "structure", + "members": { + "UpdateToken": { + "target": "com.amazonaws.networkfirewall#UpdateToken", + "traits": { + "smithy.api#documentation": "

                              An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

                              \n

                              To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

                              \n

                              To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

                              " + } + }, + "FirewallArn": { + "target": "com.amazonaws.networkfirewall#ResourceArn", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the firewall.

                              " + } + }, + "FirewallName": { + "target": "com.amazonaws.networkfirewall#ResourceName", + "traits": { + "smithy.api#documentation": "

                              The descriptive name of the firewall. You can't change the name of a firewall after you create it.

                              " + } + }, + "AvailabilityZoneChangeProtection": { + "target": "com.amazonaws.networkfirewall#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              A setting indicating whether the firewall is protected against changes to the subnet associations.\n Use this setting to protect against\n accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.networkfirewall#UpdateFirewallAnalysisSettings": { "type": "operation", "input": { @@ -8743,6 +9670,12 @@ "smithy.api#default": false, "smithy.api#documentation": "

                              Indicates whether you want Network Firewall to analyze the stateless rules in the rule group for rule behavior such as asymmetric routing. If set to TRUE, Network Firewall runs the analysis and then updates the rule group for you. To run the stateless rule group analyzer without updating the rule group, set DryRun to TRUE.

                              " } + }, + "SummaryConfiguration": { + "target": "com.amazonaws.networkfirewall#SummaryConfiguration", + "traits": { + "smithy.api#documentation": "

                              Updates the selected summary configuration for a rule group.

                              \n

                              Changes affect subsequent responses from DescribeRuleGroupSummary.

                              " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/networkmanager.json b/tools/code-generation/smithy/api-descriptions/networkmanager.json index bec36df6925..c5bfcb475ef 100644 --- a/tools/code-generation/smithy/api-descriptions/networkmanager.json +++ b/tools/code-generation/smithy/api-descriptions/networkmanager.json @@ -2051,6 +2051,27 @@ "traits": { "smithy.api#documentation": "

                              Describes the service insertion action.

                              " } + }, + "VpnEcmpSupport": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Indicates whether Equal Cost Multipath (ECMP) is enabled for the core network.

                              " + } + }, + "DnsSupport": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Indicates whether public DNS support is supported. The default is true.

                              " + } + }, + "SecurityGroupReferencingSupport": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Indicates whether security group referencing is enabled for the core network.

                              " + } } }, "traits": { @@ -13926,6 +13947,20 @@ "smithy.api#default": false, "smithy.api#documentation": "

                              Indicates whether appliance mode is supported. If enabled, traffic flow between a source and destination use the same Availability Zone for the VPC attachment for the lifetime of that flow. The default value is false.

                              " } + }, + "DnsSupport": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Indicates whether DNS is supported.

                              " + } + }, + "SecurityGroupReferencingSupport": { + "target": "com.amazonaws.networkmanager#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

                              Indicates whether security group referencing is enabled for this VPC attachment. The default is true. However, at the core network policy-level the default is set to false.

                              " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/organizations.json b/tools/code-generation/smithy/api-descriptions/organizations.json index d73d982a441..ffef915c28c 100644 --- a/tools/code-generation/smithy/api-descriptions/organizations.json +++ b/tools/code-generation/smithy/api-descriptions/organizations.json @@ -1902,7 +1902,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Attaches a policy to a root, an organizational unit (OU), or an individual account.\n How the policy affects accounts depends on the type of policy. Refer to the\n Organizations User Guide for information about each policy type:

                              \n \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Attaches a policy to a root, an organizational unit (OU), or an individual account.\n How the policy affects accounts depends on the type of policy. Refer to the\n Organizations User Guide for information about each policy type:

                              \n \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To attach a policy to an account", @@ -2183,7 +2183,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Performing this operation violates a minimum or maximum value limit. For example,\n attempting to remove the last service control policy (SCP) from an OU or root, inviting\n or creating too many accounts to the organization, or attaching too many policies to an\n account, OU, or root. This exception includes a reason that contains additional\n information about the violated limit:

                              \n \n

                              Some of the reasons in the following list might not be applicable to this specific\n API or operation.

                              \n
                              \n
                                \n
                              • \n

                                ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management\n account from the organization. You can't remove the management account. Instead,\n after you remove all member accounts, delete the organization itself.

                                \n
                              • \n
                              • \n

                                ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an\n account from the organization that doesn't yet have enough information to exist\n as a standalone account. This account requires you to first complete phone\n verification. Follow the steps at Removing a member account from your organization in the\n Organizations User Guide.

                                \n
                              • \n
                              • \n

                                ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can create in one day.

                                \n
                              • \n
                              • \n

                                ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your\n account isn't fully active. You must complete the account setup before you\n create an organization.

                                \n
                              • \n
                              • \n

                                ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number\n of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to\n request an increase in your limit.

                                \n

                                Or the number of invitations that you tried to send would cause you to exceed\n the limit of accounts in your organization. Send fewer invitations or contact\n Amazon Web Services Support to request an increase in the number of accounts.

                                \n \n

                                Deleted and closed accounts still count toward your limit.

                                \n
                                \n \n

                                If you get this exception when running a command immediately after\n creating the organization, wait one hour and try again. After an hour, if\n the command continues to fail with this error, contact Amazon Web Services Support.

                                \n
                                \n
                              • \n
                              • \n

                                ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED:\n Your organization has more than 5000 accounts, and you can only use the standard migration process for organizations with less than 5000 accounts.\n Use the assisted migration process to enable all features mode, or create a support case for assistance if you are unable to use assisted migration.

                                \n
                              • \n
                              • \n

                                CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot\n register a suspended account as a delegated administrator.

                                \n
                              • \n
                              • \n

                                CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register\n the management account of the organization as a delegated administrator for an\n Amazon Web Services service integrated with Organizations. You can designate only a member account as a\n delegated administrator.

                                \n
                              • \n
                              • \n

                                CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management\n account. To close the management account for the organization, you must first\n either remove or close all member accounts in the organization. Follow standard\n account closure process using root credentials.​

                                \n
                              • \n
                              • \n

                                CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an\n account that is registered as a delegated administrator for a service integrated\n with your organization. To complete this operation, you must first deregister\n this account as a delegated administrator.

                                \n
                              • \n
                              • \n

                                CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the\n past 30 days.

                                \n
                              • \n
                              • \n

                                CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can close at a time. ​

                                \n
                              • \n
                              • \n

                                CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an\n organization in the specified region, you must enable all features mode.

                                \n
                              • \n
                              • \n

                                DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an\n Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has\n a delegated administrator. To complete this operation, you must first deregister\n any existing delegated administrators for this service.

                                \n
                              • \n
                              • \n

                                EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for\n a limited period of time. You must resubmit the request and generate a new\n verfication code.

                                \n
                              • \n
                              • \n

                                HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n handshakes that you can send in one day.

                                \n
                              • \n
                              • \n

                                INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported\n payment method is associated with the account. Amazon Web Services does not support cards\n issued by financial institutions in Russia or Belarus. For more information, see\n Managing your\n Amazon Web Services payments.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in\n this organization, you first must migrate the organization's management account\n to the marketplace that corresponds to the management account's address. All\n accounts in an organization must be associated with the same marketplace.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in\n China. To create an organization, the master must have a valid business license.\n For more information, contact customer support.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must\n first provide a valid contact address and phone number for the management\n account. Then try the operation again.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the\n management account must have an associated account in the Amazon Web Services GovCloud\n (US-West) Region. For more information, see Organizations\n in the \n Amazon Web Services GovCloud User Guide.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with\n this management account, you first must associate a valid payment instrument,\n such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

                                \n
                              • \n
                              • \n

                                MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to\n register more delegated administrators than allowed for the service principal.\n

                                \n
                              • \n
                              • \n

                                MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number\n of policies of a certain type that can be attached to an entity at one\n time.

                                \n
                              • \n
                              • \n

                                MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this\n resource.

                                \n
                              • \n
                              • \n

                                MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with\n this member account, you first must associate a valid payment instrument, such\n as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

                                \n
                              • \n
                              • \n

                                MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy\n from an entity that would cause the entity to have fewer than the minimum number\n of policies of a certain type required.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation\n that requires the organization to be configured to support all features. An\n organization that supports only consolidated billing features can't perform this\n operation.

                                \n
                              • \n
                              • \n

                                OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many\n levels deep.

                                \n
                              • \n
                              • \n

                                OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you\n can have in an organization.

                                \n
                              • \n
                              • \n

                                POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger\n than the maximum size.

                                \n
                              • \n
                              • \n

                                POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies\n that you can have in an organization.

                                \n
                              • \n
                              • \n

                                SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated\n administrator before you enabled service access. Call the\n EnableAWSServiceAccess API first.

                                \n
                              • \n
                              • \n

                                TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags\n that are not compliant with the tag policy requirements for this account.

                                \n
                              • \n
                              • \n

                                WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created.\n Invited accounts aren't subject to this waiting period.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              Performing this operation violates a minimum or maximum value limit. For example,\n attempting to remove the last service control policy (SCP) from an OU or root, inviting\n or creating too many accounts to the organization, or attaching too many policies to an\n account, OU, or root. This exception includes a reason that contains additional\n information about the violated limit:

                              \n \n

                              Some of the reasons in the following list might not be applicable to this specific\n API or operation.

                              \n
                              \n
                                \n
                              • \n

                                ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management\n account from the organization. You can't remove the management account. Instead,\n after you remove all member accounts, delete the organization itself.

                                \n
                              • \n
                              • \n

                                ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an\n account from the organization that doesn't yet have enough information to exist\n as a standalone account. This account requires you to first complete phone\n verification. Follow the steps at Removing a member account from your organization in the\n Organizations User Guide.

                                \n
                              • \n
                              • \n

                                ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can create in one day.

                                \n
                              • \n
                              • \n

                                ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your\n account isn't fully active. You must complete the account setup before you\n create an organization.

                                \n
                              • \n
                              • \n

                                ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number\n of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to\n request an increase in your limit.

                                \n

                                Or the number of invitations that you tried to send would cause you to exceed\n the limit of accounts in your organization. Send fewer invitations or contact\n Amazon Web Services Support to request an increase in the number of accounts.

                                \n \n

                                Deleted and closed accounts still count toward your limit.

                                \n
                                \n \n

                                If you get this exception when running a command immediately after\n creating the organization, wait one hour and try again. After an hour, if\n the command continues to fail with this error, contact Amazon Web Services Support.

                                \n
                                \n
                              • \n
                              • \n

                                ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has\n more than 5000 accounts, and you can only use the standard migration process for\n organizations with less than 5000 accounts. Use the assisted migration process\n to enable all features mode, or create a support case for assistance if you are\n unable to use assisted migration.

                                \n
                              • \n
                              • \n

                                CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot\n register a suspended account as a delegated administrator.

                                \n
                              • \n
                              • \n

                                CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register\n the management account of the organization as a delegated administrator for an\n Amazon Web Services service integrated with Organizations. You can designate only a member account as a\n delegated administrator.

                                \n
                              • \n
                              • \n

                                CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management\n account. To close the management account for the organization, you must first\n either remove or close all member accounts in the organization. Follow standard\n account closure process using root credentials.​

                                \n
                              • \n
                              • \n

                                CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an\n account that is registered as a delegated administrator for a service integrated\n with your organization. To complete this operation, you must first deregister\n this account as a delegated administrator.

                                \n
                              • \n
                              • \n

                                CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the\n past 30 days.

                                \n
                              • \n
                              • \n

                                CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can close at a time. ​

                                \n
                              • \n
                              • \n

                                CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an\n organization in the specified region, you must enable all features mode.

                                \n
                              • \n
                              • \n

                                DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an\n Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has\n a delegated administrator. To complete this operation, you must first deregister\n any existing delegated administrators for this service.

                                \n
                              • \n
                              • \n

                                EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for\n a limited period of time. You must resubmit the request and generate a new\n verfication code.

                                \n
                              • \n
                              • \n

                                HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n handshakes that you can send in one day.

                                \n
                              • \n
                              • \n

                                INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported\n payment method is associated with the account. Amazon Web Services does not support cards\n issued by financial institutions in Russia or Belarus. For more information, see\n Managing your\n Amazon Web Services payments.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in\n this organization, you first must migrate the organization's management account\n to the marketplace that corresponds to the management account's address. All\n accounts in an organization must be associated with the same marketplace.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in\n China. To create an organization, the master must have a valid business license.\n For more information, contact customer support.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must\n first provide a valid contact address and phone number for the management\n account. Then try the operation again.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the\n management account must have an associated account in the Amazon Web Services GovCloud\n (US-West) Region. For more information, see Organizations\n in the \n Amazon Web Services GovCloud User Guide.

                                \n
                              • \n
                              • \n

                                MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with\n this management account, you first must associate a valid payment instrument,\n such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

                                \n
                              • \n
                              • \n

                                MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to\n register more delegated administrators than allowed for the service principal.\n

                                \n
                              • \n
                              • \n

                                MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number\n of policies of a certain type that can be attached to an entity at one\n time.

                                \n
                              • \n
                              • \n

                                MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this\n resource.

                                \n
                              • \n
                              • \n

                                MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with\n this member account, you first must associate a valid payment instrument, such\n as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

                                \n
                              • \n
                              • \n

                                MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy\n from an entity that would cause the entity to have fewer than the minimum number\n of policies of a certain type required.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation\n that requires the organization to be configured to support all features. An\n organization that supports only consolidated billing features can't perform this\n operation.

                                \n
                              • \n
                              • \n

                                OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many\n levels deep.

                                \n
                              • \n
                              • \n

                                OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you\n can have in an organization.

                                \n
                              • \n
                              • \n

                                POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger\n than the maximum size.

                                \n
                              • \n
                              • \n

                                POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies\n that you can have in an organization.

                                \n
                              • \n
                              • \n

                                POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access\n before you disabled the policy type (for example, SECURITYHUB_POLICY). To\n complete this operation, you must first disable the policy type.

                                \n
                              • \n
                              • \n

                                SERVICE_ACCESS_NOT_ENABLED:

                                \n
                                  \n
                                • \n

                                  You attempted to register a delegated administrator before you enabled\n service access. Call the EnableAWSServiceAccess API\n first.

                                  \n
                                • \n
                                • \n

                                  You attempted to enable a policy type before you enabled service\n access. Call the EnableAWSServiceAccess API first.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags\n that are not compliant with the tag policy requirements for this account.

                                \n
                              • \n
                              • \n

                                WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at\n least seven days after the account was created. Invited accounts aren't subject\n to this waiting period.

                                \n
                              • \n
                              ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -2353,6 +2353,12 @@ "smithy.api#enumValue": "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE" } }, + "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "POLICY_TYPE_ENABLED_FOR_THIS_SERVICE" + } + }, "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE": { "target": "smithy.api#Unit", "traits": { @@ -3082,7 +3088,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a policy of a specified type that you can attach to a root, an organizational\n unit (OU), or an individual Amazon Web Services account.

                              \n

                              For more information about policies and their use, see Managing\n Organizations policies.

                              \n

                              If the request includes tags, then the requester must have the\n organizations:TagResource permission.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Creates a policy of a specified type that you can attach to a root, an organizational\n unit (OU), or an individual Amazon Web Services account.

                              \n

                              For more information about policies and their use, see Managing\n Organizations policies.

                              \n

                              If the request includes tags, then the requester must have the\n organizations:TagResource permission.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To create a service control policy", @@ -3135,7 +3141,7 @@ "Type": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

                              The type of policy to create. You can specify one of the following values:

                              \n ", + "smithy.api#documentation": "

                              The type of policy to create. You can specify one of the following values:

                              \n ", "smithy.api#required": {} } }, @@ -3507,7 +3513,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes the specified policy from your organization. Before you perform this\n operation, you must first detach the policy from all organizational units (OUs), roots,\n and accounts.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Deletes the specified policy from your organization. Before you perform this\n operation, you must first detach the policy from all organizational units (OUs), roots,\n and accounts.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To delete a policy", @@ -3569,7 +3575,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Deletes the resource policy from your organization.

                              \n

                              You can only call this operation from the organization's management account.

                              " + "smithy.api#documentation": "

                              Deletes the resource policy from your organization.

                              \n

                              This operation can be called only from the organization's management account.

                              " } }, "com.amazonaws.organizations#DeregisterDelegatedAdministrator": { @@ -3667,7 +3673,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves Organizations-related information about the specified account.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Retrieves Organizations-related information about the specified account.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To get the details about an account", @@ -3748,7 +3754,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves the current status of an asynchronous request to create an account.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Retrieves the current status of an asynchronous request to create an account.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To get information about a request to create an account", @@ -3843,7 +3849,7 @@ "PolicyType": { "target": "com.amazonaws.organizations#EffectivePolicyType", "traits": { - "smithy.api#documentation": "

                              The type of policy that you want information about. You can specify one of the\n following values:

                              \n ", + "smithy.api#documentation": "

                              The type of policy that you want information about. You can specify one of the\n following values:

                              \n ", "smithy.api#required": {} } }, @@ -4075,7 +4081,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves information about an organizational unit (OU).

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Retrieves information about an organizational unit (OU).

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To get information about an organizational unit", @@ -4155,7 +4161,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves information about a policy.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Retrieves information about a policy.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To get information about a policy", @@ -4241,7 +4247,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves information about a resource policy.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "smithy.api#documentation": "

                              Retrieves information about a resource policy.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              " } }, "com.amazonaws.organizations#DescribeResourcePolicyResponse": { @@ -4318,7 +4324,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Detaches a policy from a target root, organizational unit (OU), or account.

                              \n \n

                              If the policy being detached is a service control policy (SCP), the changes to\n permissions for Identity and Access Management (IAM) users and roles in affected accounts are\n immediate.

                              \n
                              \n

                              Every root, OU, and account must have at least one SCP attached. If you want to\n replace the default FullAWSAccess policy with an SCP that limits the\n permissions that can be delegated, you must attach the replacement SCP before you can\n remove the default SCP. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and\n leave the FullAWSAccess SCP still attached, and specify \"Effect\":\n \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in\n the FullAWSAccess policy (or any other attached SCP), you're using the\n authorization strategy of a \"deny list\".

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Detaches a policy from a target root, organizational unit (OU), or account.

                              \n \n

                              If the policy being detached is a service control policy (SCP), the changes to\n permissions for Identity and Access Management (IAM) users and roles in affected accounts are\n immediate.

                              \n
                              \n

                              Every root, OU, and account must have at least one SCP attached. If you want to\n replace the default FullAWSAccess policy with an SCP that limits the\n permissions that can be delegated, you must attach the replacement SCP before you can\n remove the default SCP. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and\n leave the FullAWSAccess SCP still attached, and specify \"Effect\":\n \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in\n the FullAWSAccess policy (or any other attached SCP), you're using the\n authorization strategy of a \"deny list\".

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To detach a policy from a root, OU, or account", @@ -4450,7 +4456,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Disables an organizational policy type in a root. A policy of a certain type can be\n attached to entities in a root only if that type is enabled in the root. After you\n perform this operation, you no longer can attach policies of the specified type to that\n root or to any organizational unit (OU) or account in that root. You can undo this by\n using the EnablePolicyType operation.

                              \n

                              This is an asynchronous request that Amazon Web Services performs in the background. If you disable\n a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you\n first use ListRoots to see the status of policy types for a specified\n root, and then use this operation.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              \n

                              To view the status of available policy types in the organization, use DescribeOrganization.

                              ", + "smithy.api#documentation": "

                              Disables an organizational policy type in a root. A policy of a certain type can be\n attached to entities in a root only if that type is enabled in the root. After you\n perform this operation, you no longer can attach policies of the specified type to that\n root or to any organizational unit (OU) or account in that root. You can undo this by\n using the EnablePolicyType operation.

                              \n

                              This is an asynchronous request that Amazon Web Services performs in the background. If you disable\n a policy type for a root, it still appears enabled for the organization if all features are enabled for the organization. Amazon Web Services recommends that you\n first use ListRoots to see the status of policy types for a specified\n root, and then use this operation.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              \n

                              To view the status of available policy types in the organization, use DescribeOrganization.

                              ", "smithy.api#examples": [ { "title": "To disable a policy type in a root", @@ -4484,7 +4490,7 @@ "PolicyType": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

                              The policy type that you want to disable in this root. You can specify one of the\n following values:

                              \n ", + "smithy.api#documentation": "

                              The policy type that you want to disable in this root. You can specify one of the\n following values:

                              \n ", "smithy.api#required": {} } } @@ -4648,6 +4654,12 @@ "traits": { "smithy.api#enumValue": "DECLARATIVE_POLICY_EC2" } + }, + "SECURITYHUB_POLICY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SECURITYHUB_POLICY" + } } } }, @@ -4697,7 +4709,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Provides an Amazon Web Services service (the service that is specified by\n ServicePrincipal) with permissions to view the structure of an organization, \n create a service-linked role in all the accounts in the organization,\n and allow the service to perform operations\n on behalf of the organization and its accounts. Establishing these permissions can be a first step\n in enabling the integration of an Amazon Web Services service with Organizations.

                              \n \n

                              We recommend that you enable integration between Organizations and the specified Amazon Web Services\n service by using the console or commands that are provided by the specified service.\n Doing so ensures that the service is aware that it can create the resources that are\n required for the integration. How the service creates those resources in the\n organization's accounts depends on that service. For more information, see the\n documentation for the other Amazon Web Services service.

                              \n
                              \n

                              For more information about enabling services to integrate with Organizations, see Using\n Organizations with other Amazon Web Services services in the\n Organizations User Guide.

                              \n

                              You can only call this operation from the organization's management account and only\n if the organization has enabled all\n features.

                              " + "smithy.api#documentation": "

                              Provides an Amazon Web Services service (the service that is specified by\n ServicePrincipal) with permissions to view the structure of an organization, \n create a service-linked role in all the accounts in the organization,\n and allow the service to perform operations\n on behalf of the organization and its accounts. Establishing these permissions can be a first step\n in enabling the integration of an Amazon Web Services service with Organizations.

                              \n \n

                              We recommend that you enable integration between Organizations and the specified Amazon Web Services\n service by using the console or commands that are provided by the specified service.\n Doing so ensures that the service is aware that it can create the resources that are\n required for the integration. How the service creates those resources in the\n organization's accounts depends on that service. For more information, see the\n documentation for the other Amazon Web Services service.

                              \n
                              \n

                              For more information about enabling services to integrate with Organizations, see Using\n Organizations with other Amazon Web Services services in the\n Organizations User Guide.

                              \n

                              This operation can be called only from the organization's management account.

                              " } }, "com.amazonaws.organizations#EnableAWSServiceAccessRequest": { @@ -4849,7 +4861,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Enables a policy type in a root. After you enable a policy type in a root, you can\n attach policies of that type to the root, any organizational unit (OU), or account in\n that root. You can undo this by using the DisablePolicyType\n operation.

                              \n

                              This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services\n recommends that you first use ListRoots to see the status of policy\n types for a specified root, and then use this operation.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              \n

                              You can enable a policy type in a root only if that policy type is available in the\n organization. To view the status of available policy types in the organization, use\n DescribeOrganization.

                              ", + "smithy.api#documentation": "

                              Enables a policy type in a root. After you enable a policy type in a root, you can\n attach policies of that type to the root, any organizational unit (OU), or account in\n that root. You can undo this by using the DisablePolicyType\n operation.

                              \n

                              This is an asynchronous request that Amazon Web Services performs in the background. Amazon Web Services\n recommends that you first use ListRoots to see the status of policy\n types for a specified root, and then use this operation.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              \n

                              You can enable a policy type in a root only if that policy type is available in the\n organization. To view the status of available policy types in the organization, use\n DescribeOrganization.

                              ", "smithy.api#examples": [ { "title": "To enable a policy type in a root", @@ -4888,7 +4900,7 @@ "PolicyType": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

                              The policy type that you want to enable. You can specify one of the following\n values:

                              \n ", + "smithy.api#documentation": "

                              The policy type that you want to enable. You can specify one of the following\n values:

                              \n ", "smithy.api#required": {} } } @@ -5048,7 +5060,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The requested operation would violate the constraint identified in the reason\n code.

                              \n \n

                              Some of the reasons in the following list might not be applicable to this specific\n API or operation:

                              \n
                              \n
                                \n
                              • \n

                                ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number\n of accounts in an organization. Note that deleted and closed accounts still\n count toward your limit.

                                \n \n

                                If you get this exception immediately after creating the organization,\n wait one hour and try again. If after an hour it continues to fail with this\n error, contact Amazon Web Services\n Support.

                                \n
                                \n
                              • \n
                              • \n

                                ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the\n invited account is already a member of an organization.

                                \n
                              • \n
                              • \n

                                HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n handshakes that you can send in one day.

                                \n
                              • \n
                              • \n

                                INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to\n join an organization while it's in the process of enabling all features. You can\n resume inviting accounts after you finalize the process when all accounts have\n agreed to the change.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid\n because the organization has already enabled all features.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request\n is invalid because the organization has already started the process to enable\n all features.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the\n account is from a different marketplace than the accounts in the organization.\n For example, accounts with India addresses must be associated with the AISPL\n marketplace. All accounts in an organization must be from the same\n marketplace.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change\n the membership of an account too quickly after its previous change.

                                \n
                              • \n
                              • \n

                                PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account\n that doesn't have a payment instrument, such as a credit card, associated with\n it.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The requested operation would violate the constraint identified in the reason\n code.

                              \n \n

                              Some of the reasons in the following list might not be applicable to this specific\n API or operation:

                              \n
                              \n
                                \n
                              • \n

                                ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number\n of accounts in an organization. Note that deleted and closed accounts still\n count toward your limit.

                                \n \n

                                If you get this exception immediately after creating the organization,\n wait one hour and try again. If after an hour it continues to fail with this\n error, contact Amazon Web Services\n Support.

                                \n
                                \n
                              • \n
                              • \n

                                ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the\n invited account is already a member of an organization.

                                \n
                              • \n
                              • \n

                                HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n handshakes that you can send in one day.

                                \n
                              • \n
                              • \n

                                INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to\n join an organization while it's in the process of enabling all features. You can\n resume inviting accounts after you finalize the process when all accounts have\n agreed to the change.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid\n because the organization has already enabled all features.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake request\n is invalid because the organization has already started the process to enable\n all features.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the\n account is from a different marketplace than the accounts in the\n organization.

                                \n
                              • \n
                              • \n

                                ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change\n the membership of an account too quickly after its previous change.

                                \n
                              • \n
                              • \n

                                PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account\n that doesn't have a payment instrument, such as a credit card, associated with\n it.

                                \n
                              • \n
                              ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -5413,7 +5425,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The requested operation failed because you provided invalid values for one or more of\n the request parameters. This exception includes a reason that contains additional\n information about the violated limit:

                              \n \n

                              Some of the reasons in the following list might not be applicable to this specific\n API or operation.

                              \n
                              \n
                                \n
                              • \n

                                DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same\n entity.

                                \n
                              • \n
                              • \n

                                IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be\n modified.

                                \n
                              • \n
                              • \n

                                INPUT_REQUIRED: You must include a value for all required parameters.

                                \n
                              • \n
                              • \n

                                INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the\n invited account owner.

                                \n
                              • \n
                              • \n

                                INVALID_ENUM: You specified an invalid value.

                                \n
                              • \n
                              • \n

                                INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.

                                \n
                              • \n
                              • \n

                                INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid\n characters.

                                \n
                              • \n
                              • \n

                                INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least\n one invalid value.

                                \n
                              • \n
                              • \n

                                INVALID_PAGINATION_TOKEN: Get the value for the NextToken\n parameter from the response to a previous call of the operation.

                                \n
                              • \n
                              • \n

                                INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,\n organization, or email) as a party.

                                \n
                              • \n
                              • \n

                                INVALID_PATTERN: You provided a value that doesn't match the required\n pattern.

                                \n
                              • \n
                              • \n

                                INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match\n the required pattern.

                                \n
                              • \n
                              • \n

                                INVALID_PRINCIPAL: You specified an invalid principal element in the policy.

                                \n
                              • \n
                              • \n

                                INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name\n can't begin with the reserved prefix AWSServiceRoleFor.

                                \n
                              • \n
                              • \n

                                INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name\n (ARN) for the organization.

                                \n
                              • \n
                              • \n

                                INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

                                \n
                              • \n
                              • \n

                                INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag.\n You can’t add, edit, or delete system tag keys because they're reserved for\n Amazon Web Services use. System tags don’t count against your tags per resource limit.

                                \n
                              • \n
                              • \n

                                MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the\n operation.

                                \n
                              • \n
                              • \n

                                MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than\n allowed.

                                \n
                              • \n
                              • \n

                                MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value\n than allowed.

                                \n
                              • \n
                              • \n

                                MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than\n allowed.

                                \n
                              • \n
                              • \n

                                MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value\n than allowed.

                                \n
                              • \n
                              • \n

                                MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between\n entities in the same root.

                                \n
                              • \n
                              • \n

                                NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy.

                                \n
                              • \n
                              • \n

                                TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target\n entity.

                                \n
                              • \n
                              • \n

                                UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't\n recognized.

                                \n
                              • \n
                              ", + "smithy.api#documentation": "

                              The requested operation failed because you provided invalid values for one or more of\n the request parameters. This exception includes a reason that contains additional\n information about the violated limit:

                              \n \n

                              Some of the reasons in the following list might not be applicable to this specific\n API or operation.

                              \n
                              \n
                                \n
                              • \n

                                DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same\n entity.

                                \n
                              • \n
                              • \n

                                IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web Services and can't be\n modified.

                                \n
                              • \n
                              • \n

                                INPUT_REQUIRED: You must include a value for all required parameters.

                                \n
                              • \n
                              • \n

                                INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address for the\n invited account owner.

                                \n
                              • \n
                              • \n

                                INVALID_ENUM: You specified an invalid value.

                                \n
                              • \n
                              • \n

                                INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.

                                \n
                              • \n
                              • \n

                                INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid\n characters.

                                \n
                              • \n
                              • \n

                                INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least\n one invalid value.

                                \n
                              • \n
                              • \n

                                INVALID_PAGINATION_TOKEN: Get the value for the NextToken\n parameter from the response to a previous call of the operation.

                                \n
                              • \n
                              • \n

                                INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,\n organization, or email) as a party.

                                \n
                              • \n
                              • \n

                                INVALID_PATTERN: You provided a value that doesn't match the required\n pattern.

                                \n
                              • \n
                              • \n

                                INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match\n the required pattern.

                                \n
                              • \n
                              • \n

                                INVALID_PRINCIPAL: You specified an invalid principal element in the\n policy.

                                \n
                              • \n
                              • \n

                                INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name\n can't begin with the reserved prefix AWSServiceRoleFor.

                                \n
                              • \n
                              • \n

                                INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name\n (ARN) for the organization.

                                \n
                              • \n
                              • \n

                                INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

                                \n
                              • \n
                              • \n

                                INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag.\n You can’t add, edit, or delete system tag keys because they're reserved for\n Amazon Web Services use. System tags don’t count against your tags per resource limit.

                                \n
                              • \n
                              • \n

                                MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the\n operation.

                                \n
                              • \n
                              • \n

                                MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than\n allowed.

                                \n
                              • \n
                              • \n

                                MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value\n than allowed.

                                \n
                              • \n
                              • \n

                                MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than\n allowed.

                                \n
                              • \n
                              • \n

                                MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value\n than allowed.

                                \n
                              • \n
                              • \n

                                MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between\n entities in the same root.

                                \n
                              • \n
                              • \n

                                NON_DETACHABLE_POLICY: You can't detach this Amazon Web Services Managed Policy.

                                \n
                              • \n
                              • \n

                                TARGET_NOT_SUPPORTED: You can't perform the specified operation on that target\n entity.

                                \n
                              • \n
                              • \n

                                UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that isn't\n recognized.

                                \n
                              • \n
                              ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -5647,7 +5659,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Sends an invitation to another account to join your organization as a member account.\n Organizations sends email on your behalf to the email address that is associated with the\n other account's owner. The invitation is implemented as a Handshake\n whose details are in the response.

                              \n \n
                                \n
                              • \n

                                You can invite Amazon Web Services accounts only from the same seller as the management\n account. For example, if your organization's management account was created\n by Amazon Internet Services Pvt. Ltd (AISPL), an Amazon Web Services seller in India, you\n can invite only other AISPL accounts to your organization. You can't combine\n accounts from AISPL and Amazon Web Services or from any other Amazon Web Services seller. For more\n information, see Consolidated\n billing in India.

                                \n
                              • \n
                              • \n

                                If you receive an exception that indicates that you exceeded your account\n limits for the organization or that the operation failed because your\n organization is still initializing, wait one hour and then try again. If the\n error persists after an hour, contact Amazon Web Services Support.

                                \n
                              • \n
                              \n
                              \n

                              If the request includes tags, then the requester must have the\n organizations:TagResource permission.

                              \n

                              This operation can be called only from the organization's management account.

                              ", + "smithy.api#documentation": "

                              Sends an invitation to another account to join your organization as a member account.\n Organizations sends email on your behalf to the email address that is associated with the\n other account's owner. The invitation is implemented as a Handshake\n whose details are in the response.

                              \n \n

                              If you receive an exception that indicates that you exceeded your account\n limits for the organization or that the operation failed because your\n organization is still initializing, wait one hour and then try again. If the\n error persists after an hour, contact Amazon Web Services Support.

                              \n
                              \n

                              If the request includes tags, then the requester must have the\n organizations:TagResource permission.

                              \n

                              This operation can be called only from the organization's management account.

                              ", "smithy.api#examples": [ { "title": "To invite an account to join an organization", @@ -5786,7 +5798,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Removes a member account from its parent organization. This version of the operation\n is performed by the account that wants to leave. To remove a member account as a user in\n the management account, use RemoveAccountFromOrganization\n instead.

                              \n

                              This operation can be called only from a member account in the organization.

                              \n \n
                                \n
                              • \n

                                The management account in an organization with all features enabled can\n set service control policies (SCPs) that can restrict what administrators of\n member accounts can do. This includes preventing them from successfully\n calling LeaveOrganization and leaving the organization.

                                \n
                              • \n
                              • \n

                                You can leave an organization as a member account only if the account is\n configured with the information required to operate as a standalone account.\n When you create an account in an organization using the Organizations console,\n API, or CLI commands, the information required of standalone accounts is\n not automatically collected. For each account that\n you want to make standalone, you must perform the following steps. If any of\n the steps are already completed for this account, that step doesn't\n appear.

                                \n
                                  \n
                                • \n

                                  Choose a support plan

                                  \n
                                • \n
                                • \n

                                  Provide and verify the required contact information

                                  \n
                                • \n
                                • \n

                                  Provide a current payment method

                                  \n
                                • \n
                                \n

                                Amazon Web Services uses the payment method to charge for any billable (not free tier)\n Amazon Web Services activity that occurs while the account isn't attached to an\n organization. For more information, see Considerations before removing an account from an organization\n in the Organizations User Guide.

                                \n
                              • \n
                              • \n

                                The account that you want to leave must not be a delegated administrator\n account for any Amazon Web Services service enabled for your organization. If the account\n is a delegated administrator, you must first change the delegated\n administrator account to another account that is remaining in the\n organization.

                                \n
                              • \n
                              • \n

                                You can leave an organization only after you enable IAM user access to\n billing in your account. For more information, see About IAM access to the Billing and Cost Management console in the\n Amazon Web Services Billing and Cost Management User Guide.

                                \n
                              • \n
                              • \n

                                After the account leaves the organization, all tags that were attached to\n the account object in the organization are deleted. Amazon Web Services accounts outside\n of an organization do not support tags.

                                \n
                              • \n
                              • \n

                                A newly created account has a waiting period before it can be removed from\n its organization.\n You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

                                \n
                              • \n
                              • \n

                                If you are using an organization principal to call\n LeaveOrganization across multiple accounts, you can only do\n this up to 5 accounts per second in a single organization.

                                \n
                              • \n
                              \n
                              ", + "smithy.api#documentation": "

                              Removes a member account from its parent organization. This version of the operation\n is performed by the account that wants to leave. To remove a member account as a user in\n the management account, use RemoveAccountFromOrganization\n instead.

                              \n

                              This operation can be called only from a member account in the organization.

                              \n \n
                                \n
                              • \n

                                The management account in an organization with all features enabled can\n set service control policies (SCPs) that can restrict what administrators of\n member accounts can do. This includes preventing them from successfully\n calling LeaveOrganization and leaving the organization.

                                \n
                              • \n
                              • \n

                                You can leave an organization as a member account only if the account is\n configured with the information required to operate as a standalone account.\n When you create an account in an organization using the Organizations console,\n API, or CLI commands, the information required of standalone accounts is\n not automatically collected. For each account that\n you want to make standalone, you must perform the following steps. If any of\n the steps are already completed for this account, that step doesn't\n appear.

                                \n
                                  \n
                                • \n

                                  Choose a support plan

                                  \n
                                • \n
                                • \n

                                  Provide and verify the required contact information

                                  \n
                                • \n
                                • \n

                                  Provide a current payment method

                                  \n
                                • \n
                                \n

                                Amazon Web Services uses the payment method to charge for any billable (not free tier)\n Amazon Web Services activity that occurs while the account isn't attached to an\n organization. For more information, see Considerations before removing an account from an organization\n in the Organizations User Guide.

                                \n
                              • \n
                              • \n

                                The account that you want to leave must not be a delegated administrator\n account for any Amazon Web Services service enabled for your organization. If the account\n is a delegated administrator, you must first change the delegated\n administrator account to another account that is remaining in the\n organization.

                                \n
                              • \n
                              • \n

                                After the account leaves the organization, all tags that were attached to\n the account object in the organization are deleted. Amazon Web Services accounts outside\n of an organization do not support tags.

                                \n
                              • \n
                              • \n

                                A newly created account has a waiting period before it can be removed from\n its organization.\n You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period.

                                \n
                              • \n
                              • \n

                                If you are using an organization principal to call\n LeaveOrganization across multiple accounts, you can only do\n this up to 5 accounts per second in a single organization.

                                \n
                              • \n
                              \n
                              ", "smithy.api#examples": [ { "title": "To leave an organization as a member account", @@ -5827,7 +5839,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Returns a list of the Amazon Web Services services that you enabled to integrate with your\n organization. After a service on this list creates the resources that it requires for\n the integration, it can perform operations on your organization and its accounts.

                              \n

                              For more information about integrating other services with Organizations, including the\n list of services that currently work with Organizations, see Using Organizations with other Amazon Web Services\n services in the Organizations User Guide.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Returns a list of the Amazon Web Services services that you enabled to integrate with your\n organization. After a service on this list creates the resources that it requires for\n the integration, it can perform operations on your organization and its accounts.

                              \n

                              For more information about integrating other services with Organizations, including the\n list of services that currently work with Organizations, see Using Organizations with other Amazon Web Services\n services in the Organizations User Guide.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5901,7 +5913,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists all the accounts in the organization. To request only the accounts in a\n specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists all the accounts in the organization. To request only the accounts in a\n specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5938,7 +5950,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the accounts in an organization that are contained by the specified target root\n or organizational unit (OU). If you specify the root, you get a list of all the accounts\n that aren't in any OU. If you specify an OU, you get a list of all the accounts in only\n that OU and not in any child OUs. To get a list of all accounts in the organization, use\n the ListAccounts operation.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists the accounts in an organization that are contained by the specified target root\n or organizational unit (OU). If you specify the root, you get a list of all the accounts\n that aren't in any OU. If you specify an OU, you get a list of all the accounts in only\n that OU and not in any child OUs. To get a list of all accounts in the organization, use\n the ListAccounts operation.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list of all of the accounts in a root or OU", @@ -6093,7 +6105,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists all of the organizational units (OUs) or accounts that are contained in the\n specified parent OU or root. This operation, along with ListParents\n enables you to traverse the tree structure that makes up this root.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists all of the organizational units (OUs) or accounts that are contained in the\n specified parent OU or root. This operation, along with ListParents\n enables you to traverse the tree structure that makes up this root.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list of all of the child accounts and OUs in a parent root or OU", @@ -6206,7 +6218,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the account creation requests that match the specified status that is currently\n being tracked for the organization.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists the account creation requests that match the specified status that is currently\n being tracked for the organization.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To get a list of all account creation requests made in the organization", @@ -6334,7 +6346,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the Amazon Web Services accounts that are designated as delegated administrators in this\n organization.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists the Amazon Web Services accounts that are designated as delegated administrators in this\n organization.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -6427,7 +6439,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              List the Amazon Web Services services for which the specified account is a delegated\n administrator.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              List the Amazon Web Services services for which the specified account is a delegated\n administrator.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -6644,7 +6656,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the handshakes that are associated with the organization that the requesting\n user is part of. The ListHandshakesForOrganization operation returns a list\n of handshake structures. Each structure contains details and status about a\n handshake.

                              \n

                              Handshakes that are ACCEPTED, DECLINED,\n CANCELED, or EXPIRED appear in the results of this API for\n only 30 days after changing to that state. After that, they're deleted and no longer\n accessible.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists the handshakes that are associated with the organization that the requesting\n user is part of. The ListHandshakesForOrganization operation returns a list\n of handshake structures. Each structure contains details and status about a\n handshake.

                              \n

                              Handshakes that are ACCEPTED, DECLINED,\n CANCELED, or EXPIRED appear in the results of this API for\n only 30 days after changing to that state. After that, they're deleted and no longer\n accessible.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list of the handshakes associated with an organization", @@ -6821,7 +6833,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the organizational units (OUs) in a parent organizational unit or root.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists the organizational units (OUs) in a parent organizational unit or root.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list of all of the child OUs in a parent root or OU", @@ -6928,7 +6940,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the root or organizational units (OUs) that serve as the immediate parent of the\n specified child OU or account. This operation, along with ListChildren\n enables you to traverse the tree structure that makes up this root.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              \n \n

                              In the current release, a child can have only a single parent.

                              \n
                              ", + "smithy.api#documentation": "

                              Lists the root or organizational units (OUs) that serve as the immediate parent of the\n specified child OU or account. This operation, along with ListChildren\n enables you to traverse the tree structure that makes up this root.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              \n \n

                              In the current release, a child can have only a single parent.

                              \n
                              ", "smithy.api#examples": [ { "title": "To retrieve a list of all of the parents of a child OU or account", @@ -7029,7 +7041,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Retrieves the list of all policies in an organization of a specified type.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Retrieves the list of all policies in an organization of a specified type.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list policies in the organization", @@ -7106,7 +7118,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the policies that are directly attached to the specified target root,\n organizational unit (OU), or account. You must specify the policy type that you want\n included in the returned list.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists the policies that are directly attached to the specified target root,\n organizational unit (OU), or account. You must specify the policy type that you want\n included in the returned list.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list policies attached to a root, OU, or account", @@ -7149,7 +7161,7 @@ "Filter": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

                              The type of policy that you want to include in the returned list. You must specify one\n of the following values:

                              \n ", + "smithy.api#documentation": "

                              The type of policy that you want to include in the returned list. You must specify one\n of the following values:

                              \n ", "smithy.api#required": {} } }, @@ -7196,7 +7208,7 @@ "Filter": { "target": "com.amazonaws.organizations#PolicyType", "traits": { - "smithy.api#documentation": "

                              Specifies the type of policy that you want to include in the response. You must\n specify one of the following values:

                              \n ", + "smithy.api#documentation": "

                              Specifies the type of policy that you want to include in the response. You must\n specify one of the following values:

                              \n ", "smithy.api#required": {} } }, @@ -7263,7 +7275,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists the roots that are defined in the current organization.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              \n \n

                              Policy types can be enabled and disabled in roots. This is distinct from whether\n they're available in the organization. When you enable all features, you make policy\n types available for use in that organization. Individual policy types can then be\n enabled and disabled in a root. To see the availability of a policy type in an\n organization, use DescribeOrganization.

                              \n
                              ", + "smithy.api#documentation": "

                              Lists the roots that are defined in the current organization.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              \n \n

                              Policy types can be enabled and disabled in roots. This is distinct from whether\n they're available in the organization. When you enable all features, you make policy\n types available for use in that organization. Individual policy types can then be\n enabled and disabled in a root. To see the availability of a policy type in an\n organization, use DescribeOrganization.

                              \n
                              ", "smithy.api#examples": [ { "title": "To retrieve a list of roots in the organization", @@ -7361,7 +7373,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists tags that are attached to the specified resource.

                              \n

                              You can attach tags to the following resources in Organizations.

                              \n
                                \n
                              • \n

                                Amazon Web Services account

                                \n
                              • \n
                              • \n

                                Organization root

                                \n
                              • \n
                              • \n

                                Organizational unit (OU)

                                \n
                              • \n
                              • \n

                                Policy (any type)

                                \n
                              • \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists tags that are attached to the specified resource.

                              \n

                              You can attach tags to the following resources in Organizations.

                              \n
                                \n
                              • \n

                                Amazon Web Services account

                                \n
                              • \n
                              • \n

                                Organization root

                                \n
                              • \n
                              • \n

                                Organizational unit (OU)

                                \n
                              • \n
                              • \n

                                Policy (any type)

                                \n
                              • \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -7442,7 +7454,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Lists all the roots, organizational units (OUs), and accounts that the specified\n policy is attached to.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Lists all the roots, organizational units (OUs), and accounts that the specified\n policy is attached to.

                              \n \n

                              Always check the NextToken response parameter \nfor a null value when calling a List* operation. These operations can \noccasionally return an empty set of results even when there are more results available. The \nNextToken response parameter value is null\n only \nwhen there are no more results to display.

                              \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To retrieve a list of roots, OUs, and accounts to which a policy is attached", @@ -8158,6 +8170,12 @@ "traits": { "smithy.api#enumValue": "DECLARATIVE_POLICY_EC2" } + }, + "SECURITYHUB_POLICY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SECURITYHUB_POLICY" + } } } }, @@ -8284,7 +8302,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates or updates a resource policy.

                              \n

                              You can only call this operation from the organization's management account.

                              " + "smithy.api#documentation": "

                              Creates or updates a resource policy.

                              \n

                              This operation can be called only from the organization's management account..

                              " } }, "com.amazonaws.organizations#PutResourcePolicyRequest": { @@ -8727,7 +8745,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Adds one or more tags to the specified resource.

                              \n

                              Currently, you can attach tags to the following resources in Organizations.

                              \n
                                \n
                              • \n

                                Amazon Web Services account

                                \n
                              • \n
                              • \n

                                Organization root

                                \n
                              • \n
                              • \n

                                Organizational unit (OU)

                                \n
                              • \n
                              • \n

                                Policy (any type)

                                \n
                              • \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "smithy.api#documentation": "

                              Adds one or more tags to the specified resource.

                              \n

                              Currently, you can attach tags to the following resources in Organizations.

                              \n
                                \n
                              • \n

                                Amazon Web Services account

                                \n
                              • \n
                              • \n

                                Organization root

                                \n
                              • \n
                              • \n

                                Organizational unit (OU)

                                \n
                              • \n
                              • \n

                                Policy (any type)

                                \n
                              • \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              " } }, "com.amazonaws.organizations#TagResourceRequest": { @@ -8890,7 +8908,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Removes any tags with the specified keys from the specified resource.

                              \n

                              You can attach tags to the following resources in Organizations.

                              \n
                                \n
                              • \n

                                Amazon Web Services account

                                \n
                              • \n
                              • \n

                                Organization root

                                \n
                              • \n
                              • \n

                                Organizational unit (OU)

                                \n
                              • \n
                              • \n

                                Policy (any type)

                                \n
                              • \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              " + "smithy.api#documentation": "

                              Removes any tags with the specified keys from the specified resource.

                              \n

                              You can attach tags to the following resources in Organizations.

                              \n
                                \n
                              • \n

                                Amazon Web Services account

                                \n
                              • \n
                              • \n

                                Organization root

                                \n
                              • \n
                              • \n

                                Organizational unit (OU)

                                \n
                              • \n
                              • \n

                                Policy (any type)

                                \n
                              • \n
                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              " } }, "com.amazonaws.organizations#UntagResourceRequest": { @@ -9052,7 +9070,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Updates an existing policy with a new name, description, or content. If you don't\n supply any parameter, that value remains unchanged. You can't change a policy's\n type.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator for an Amazon Web Services service.

                              ", + "smithy.api#documentation": "

                              Updates an existing policy with a new name, description, or content. If you don't\n supply any parameter, that value remains unchanged. You can't change a policy's\n type.

                              \n

                              This operation can be called only from the organization's\nmanagement account or by a member account that is a delegated administrator.

                              ", "smithy.api#examples": [ { "title": "To update the content of a policy", diff --git a/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json b/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json index f39a1c6e7b1..3343ef310bc 100644 --- a/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json +++ b/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json @@ -340,7 +340,7 @@ "traits": { "smithy.api#length": { "min": 2, - "max": 4096 + "max": 4224 }, "smithy.api#pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])+$", "smithy.api#sensitive": {} @@ -472,7 +472,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Decrypts ciphertext data to plaintext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Decrypt data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              You can use an decryption key generated within Amazon Web Services Payment Cryptography, or you can import your own decryption key by calling ImportKey. For this operation, the key must have KeyModesOfUse set to Decrypt. In asymmetric decryption, Amazon Web Services Payment Cryptography decrypts the ciphertext using the private component of the asymmetric encryption key pair. For data encryption outside of Amazon Web Services Payment Cryptography, you can export the public component of the asymmetric key pair by calling GetPublicCertificate.

                              \n

                              This operation also supports dynamic keys, allowing you to pass a dynamic decryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To decrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped decryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              For symmetric and DUKPT decryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV decryption, Amazon Web Services Payment Cryptography supports TDES algorithms. For asymmetric decryption, Amazon Web Services Payment Cryptography supports RSA.

                              \n

                              When you use TDES or TDES DUKPT, the ciphertext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the ciphertext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Decrypts ciphertext data to plaintext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Decrypt data in the Amazon Web Services Payment Cryptography User Guide.

                              You can use an decryption key generated within Amazon Web Services Payment Cryptography, or you can import your own decryption key by calling ImportKey. For this operation, the key must have KeyModesOfUse set to Decrypt. In asymmetric decryption, Amazon Web Services Payment Cryptography decrypts the ciphertext using the private component of the asymmetric encryption key pair. For data encryption outside of Amazon Web Services Payment Cryptography, you can export the public component of the asymmetric key pair by calling GetPublicCertificate.

                              This operation also supports dynamic keys, allowing you to pass a dynamic decryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To decrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped decryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              For symmetric and DUKPT decryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV decryption, Amazon Web Services Payment Cryptography supports TDES algorithms. For asymmetric decryption, Amazon Web Services Payment Cryptography supports RSA.

                              When you use TDES or TDES DUKPT, the ciphertext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the ciphertext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/keys/{KeyIdentifier}/decrypt", @@ -486,7 +486,7 @@ "KeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for ciphertext decryption.

                              \n

                              When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                              ", + "smithy.api#documentation": "

                              The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for ciphertext decryption.

                              When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -529,7 +529,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -616,7 +616,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              ", "smithy.api#required": {} @@ -638,7 +638,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              ", "smithy.api#required": {} @@ -647,7 +647,7 @@ "DukptKeyDerivationType": { "target": "com.amazonaws.paymentcryptographydata#DukptDerivationType", "traits": { - "smithy.api#documentation": "

                              The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY\n

                              " + "smithy.api#documentation": "

                              The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY

                              " } }, "DukptKeyVariant": { @@ -700,7 +700,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              ", "smithy.api#required": {} @@ -709,13 +709,13 @@ "Mode": { "target": "com.amazonaws.paymentcryptographydata#DukptEncryptionMode", "traits": { - "smithy.api#documentation": "

                              The block cipher method to use for encryption.

                              \n

                              The default is CBC.

                              " + "smithy.api#documentation": "

                              The block cipher method to use for encryption.

                              The default is CBC.

                              " } }, "DukptKeyDerivationType": { "target": "com.amazonaws.paymentcryptographydata#DukptDerivationType", "traits": { - "smithy.api#documentation": "

                              The key type encrypted using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY\n

                              " + "smithy.api#documentation": "

                              The key type encrypted using DUKPT from a Base Derivation Key (BDK) and Key Serial Number (KSN). This must be less than or equal to the strength of the BDK. For example, you can't use AES_128 as a derivation type for a BDK of AES_128 or TDES_2KEY

                              " } }, "DukptKeyVariant": { @@ -888,7 +888,7 @@ "SharedInformation": { "target": "com.amazonaws.paymentcryptographydata#SharedInformation", "traits": { - "smithy.api#documentation": "

                              A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                              \n

                              It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                              ", + "smithy.api#documentation": "

                              A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                              It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                              ", "smithy.api#required": {} } } @@ -974,14 +974,14 @@ "PinBlockPaddingType": { "target": "com.amazonaws.paymentcryptographydata#PinBlockPaddingType", "traits": { - "smithy.api#documentation": "

                              The padding to be added to the PIN block prior to encryption.

                              \n

                              Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

                              ", + "smithy.api#documentation": "

                              The padding to be added to the PIN block prior to encryption.

                              Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

                              ", "smithy.api#required": {} } }, "PinBlockLengthPosition": { "target": "com.amazonaws.paymentcryptographydata#PinBlockLengthPosition", "traits": { - "smithy.api#documentation": "

                              Specifies if PIN block length should be added to front of the pin block.

                              \n

                              If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

                              ", + "smithy.api#documentation": "

                              Specifies if PIN block length should be added to front of the pin block.

                              If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

                              ", "smithy.api#required": {} } } @@ -1098,7 +1098,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Encrypts plaintext data to ciphertext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              You can generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey. You can import your own encryption key by calling ImportKey.

                              \n

                              For this operation, the key must have KeyModesOfUse set to Encrypt. In asymmetric encryption, plaintext is encrypted using public component. You can import the public component of an asymmetric key pair created outside Amazon Web Services Payment Cryptography by calling ImportKey.

                              \n

                              This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV encryption, Amazon Web Services Payment Cryptography supports TDES algorithms.For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA.

                              \n

                              When you use TDES or TDES DUKPT, the plaintext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the plaintext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                              \n

                              To encrypt using DUKPT, you must already have a BDK (Base Derivation Key) key in your account with KeyModesOfUse set to DeriveKey, or you can generate a new DUKPT key by calling CreateKey. To encrypt using EMV, you must already have an IMK (Issuer Master Key) key in your account with KeyModesOfUse set to DeriveKey.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Encrypts plaintext data to ciphertext using a symmetric (TDES, AES), asymmetric (RSA), or derived (DUKPT or EMV) encryption key scheme. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                              You can generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey. You can import your own encryption key by calling ImportKey.

                              For this operation, the key must have KeyModesOfUse set to Encrypt. In asymmetric encryption, plaintext is encrypted using public component. You can import the public component of an asymmetric key pair created outside Amazon Web Services Payment Cryptography by calling ImportKey.

                              This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. For EMV encryption, Amazon Web Services Payment Cryptography supports TDES algorithms.For asymmetric encryption, Amazon Web Services Payment Cryptography supports RSA.

                              When you use TDES or TDES DUKPT, the plaintext data length must be a multiple of 8 bytes. For AES or AES DUKPT, the plaintext data length must be a multiple of 16 bytes. For RSA, it sould be equal to the key size unless padding is enabled.

                              To encrypt using DUKPT, you must already have a BDK (Base Derivation Key) key in your account with KeyModesOfUse set to DeriveKey, or you can generate a new DUKPT key by calling CreateKey. To encrypt using EMV, you must already have an IMK (Issuer Master Key) key in your account with KeyModesOfUse set to DeriveKey.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/keys/{KeyIdentifier}/encrypt", @@ -1112,7 +1112,7 @@ "KeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.

                              \n

                              When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                              ", + "smithy.api#documentation": "

                              The keyARN of the encryption key that Amazon Web Services Payment Cryptography uses for plaintext encryption.

                              When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1120,7 +1120,7 @@ "PlainText": { "target": "com.amazonaws.paymentcryptographydata#PlainTextType", "traits": { - "smithy.api#documentation": "

                              The plaintext to be encrypted.

                              \n \n

                              For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm and padding type that you define in AsymmetricEncryptionAttributes. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                              \n
                              ", + "smithy.api#documentation": "

                              The plaintext to be encrypted.

                              For encryption using asymmetric keys, plaintext data length is constrained by encryption key strength that you define in KeyAlgorithm and padding type that you define in AsymmetricEncryptionAttributes. For more information, see Encrypt data in the Amazon Web Services Payment Cryptography User Guide.

                              ", "smithy.api#required": {} } }, @@ -1155,7 +1155,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              " + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              " } }, "CipherText": { @@ -1286,7 +1286,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Generates card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or Card Security Codes (CSC). For more information, see Generate card data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              This operation generates a CVV or CSC value that is printed on a payment credit or debit card during card production. The CVV or CSC, PAN (Primary Account Number) and expiration date of the card are required to check its validity during transaction processing. To begin this operation, a CVK (Card Verification Key) encryption key is required. You can use CreateKey or ImportKey to establish a CVK within Amazon Web Services Payment Cryptography. The KeyModesOfUse should be set to Generate and Verify for a CVK encryption key.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Generates card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or Card Security Codes (CSC). For more information, see Generate card data in the Amazon Web Services Payment Cryptography User Guide.

                              This operation generates a CVV or CSC value that is printed on a payment credit or debit card during card production. The CVV or CSC, PAN (Primary Account Number) and expiration date of the card are required to check its validity during transaction processing. To begin this operation, a CVK (Card Verification Key) encryption key is required. You can use CreateKey or ImportKey to establish a CVK within Amazon Web Services Payment Cryptography. The KeyModesOfUse should be set to Generate and Verify for a CVK encryption key.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/cardvalidationdata/generate", @@ -1342,7 +1342,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -1384,7 +1384,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Generates a Message Authentication Code (MAC) cryptogram within Amazon Web Services Payment Cryptography.

                              \n

                              You can use this operation to authenticate card-related data by using known data values to generate MAC for data validation between the sending and receiving parties. This operation uses message data, a secret encryption key and MAC algorithm to generate a unique MAC value for transmission. The receiving party of the MAC must use the same message data, secret encryption key and MAC algorithm to reproduce another MAC value for comparision.

                              \n

                              You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values. The MAC generation encryption key must have valid values for KeyUsage such as TR31_M7_HMAC_KEY for HMAC generation, and they key must have KeyModesOfUse set to Generate and Verify.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Generates a Message Authentication Code (MAC) cryptogram within Amazon Web Services Payment Cryptography.

                              You can use this operation to authenticate card-related data by using known data values to generate MAC for data validation between the sending and receiving parties. This operation uses message data, a secret encryption key and MAC algorithm to generate a unique MAC value for transmission. The receiving party of the MAC must use the same message data, secret encryption key and MAC algorithm to reproduce another MAC value for comparision.

                              You can use this operation to generate a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values. The MAC generation encryption key must have valid values for KeyUsage such as TR31_M7_HMAC_KEY for HMAC generation, and they key must have KeyModesOfUse set to Generate and Verify.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/mac/generate", @@ -1418,7 +1418,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Generates an issuer script mac for EMV payment cards that use offline PINs as the cardholder verification method (CVM).

                              \n

                              This operation generates an authenticated issuer script response by appending the incoming message data (APDU command) with the target encrypted PIN block in ISO2 format. The command structure and method to send the issuer script update to the card is not defined by this operation and is typically determined by the applicable payment card scheme.

                              \n

                              The primary inputs to this operation include the incoming new encrypted pinblock, PIN encryption key (PEK), issuer master key (IMK), primary account number (PAN), and the payment card derivation method.

                              \n

                              The operation uses two issuer master keys - secure messaging for confidentiality (IMK-SMC) and secure messaging for integrity (IMK-SMI). The SMC key is used to internally derive a key to secure the pin, while SMI key is used to internally derive a key to authenticate the script reponse as per the EMV 4.4 - Book 2 - Security and Key Management specification.

                              \n

                              This operation supports Amex, EMV2000, EMVCommon, Mastercard and Visa derivation methods, each requiring specific input parameters. Users must follow the specific derivation method and input parameters defined by the respective payment card scheme.

                              \n \n

                              Use GenerateMac operation when sending a script update to an EMV card that does not involve PIN change. When assigning IAM permissions, it is important to understand that EncryptData using EMV keys and GenerateMac perform similar functions to this command.

                              \n
                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Generates an issuer script mac for EMV payment cards that use offline PINs as the cardholder verification method (CVM).

                              This operation generates an authenticated issuer script response by appending the incoming message data (APDU command) with the target encrypted PIN block in ISO2 format. The command structure and method to send the issuer script update to the card is not defined by this operation and is typically determined by the applicable payment card scheme.

                              The primary inputs to this operation include the incoming new encrypted pinblock, PIN encryption key (PEK), issuer master key (IMK), primary account number (PAN), and the payment card derivation method.

                              The operation uses two issuer master keys - secure messaging for confidentiality (IMK-SMC) and secure messaging for integrity (IMK-SMI). The SMC key is used to internally derive a key to secure the pin, while SMI key is used to internally derive a key to authenticate the script reponse as per the EMV 4.4 - Book 2 - Security and Key Management specification.

                              This operation supports Amex, EMV2000, EMVCommon, Mastercard and Visa derivation methods, each requiring specific input parameters. Users must follow the specific derivation method and input parameters defined by the respective payment card scheme.

                              Use GenerateMac operation when sending a script update to an EMV card that does not involve PIN change. When assigning IAM permissions, it is important to understand that EncryptData using EMV keys and GenerateMac perform similar functions to this command.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/macemvpinchange/generate", @@ -1601,7 +1601,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -1643,7 +1643,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see Generate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation.

                              \n

                              Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block. You can also use it for reveal PIN, wherein the generated PIN block is protected by the ECDH derived key before transmission from Amazon Web Services Payment Cryptography. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see Generate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                              PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation.

                              Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block. You can also use it for reveal PIN, wherein the generated PIN block is protected by the ECDH derived key before transmission from Amazon Web Services Payment Cryptography. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/pindata/generate", @@ -1691,7 +1691,7 @@ "PinBlockFormat": { "target": "com.amazonaws.paymentcryptographydata#PinBlockFormatForPinData", "traits": { - "smithy.api#documentation": "

                              The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                              \n

                              The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                              \n

                              The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                              ", + "smithy.api#documentation": "

                              The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                              The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                              The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                              ", "smithy.api#required": {} } }, @@ -1716,7 +1716,7 @@ "GenerationKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -1730,7 +1730,7 @@ "EncryptionKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -1764,14 +1764,14 @@ "smithy.api#sensitive": {} } }, - "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24": { + "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24": { "type": "string", "traits": { "smithy.api#length": { - "min": 10, + "min": 16, "max": 24 }, - "smithy.api#pattern": "^[0-9a-fA-F]+$" + "smithy.api#pattern": "^(?:[0-9a-fA-F]{16}|[0-9a-fA-F]{20}|[0-9a-fA-F]{24})$" } }, "com.amazonaws.paymentcryptographydata#HexLengthBetween2And4": { @@ -2091,6 +2091,10 @@ { "value": "ANSI_X9_24", "name": "ANSI_X9_24" + }, + { + "value": "HMAC", + "name": "HMAC" } ] } @@ -2186,7 +2190,7 @@ "type": "structure", "members": { "KeySerialNumber": { - "target": "com.amazonaws.paymentcryptographydata#HexLengthBetween10And24", + "target": "com.amazonaws.paymentcryptographydata#HexLength16Or20Or24", "traits": { "smithy.api#documentation": "

                              The unique identifier known as Key Serial Number (KSN) that comes from an encrypting device using DUKPT encryption method. The KSN is derived from the encrypting device unique identifier and an internal transaction counter.

                              ", "smithy.api#required": {} @@ -2468,7 +2472,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

                              You use the Amazon Web Services Payment Cryptography Data Plane to manage how encryption keys are used for payment-related transaction processing and associated cryptographic operations. You can encrypt, decrypt, generate, verify, and translate payment-related cryptographic operations in Amazon Web Services Payment Cryptography. For more information, see Data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              To manage your encryption keys, you use the Amazon Web Services Payment Cryptography Control Plane. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys.

                              ", + "smithy.api#documentation": "

                              You use the Amazon Web Services Payment Cryptography Data Plane to manage how encryption keys are used for payment-related transaction processing and associated cryptographic operations. You can encrypt, decrypt, generate, verify, and translate payment-related cryptographic operations in Amazon Web Services Payment Cryptography. For more information, see Data operations in the Amazon Web Services Payment Cryptography User Guide.

                              To manage your encryption keys, you use the Amazon Web Services Payment Cryptography Control Plane. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys.

                              ", "smithy.api#title": "Payment Cryptography Data Plane", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3349,7 +3353,7 @@ "traits": { "smithy.api#length": { "min": 2, - "max": 4096 + "max": 4224 }, "smithy.api#pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])+$", "smithy.api#sensitive": {} @@ -3360,7 +3364,7 @@ "traits": { "smithy.api#length": { "min": 2, - "max": 4064 + "max": 4096 }, "smithy.api#pattern": "^(?:[0-9a-fA-F][0-9a-fA-F])+$", "smithy.api#sensitive": {} @@ -3414,7 +3418,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys.

                              \n

                              You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt.

                              \n

                              This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To re-encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Re-encrypt ciphertext using DUKPT or Symmetric data encryption keys.

                              You can either generate an encryption key within Amazon Web Services Payment Cryptography by calling CreateKey or import your own encryption key by calling ImportKey. The KeyArn for use with this operation must be in a compatible key state with KeyModesOfUse set to Encrypt.

                              This operation also supports dynamic keys, allowing you to pass a dynamic encryption key as a TR-31 WrappedKeyBlock. This can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To re-encrypt using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped encryption key material. The incoming wrapped key shall have a key purpose of D0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              For symmetric and DUKPT encryption, Amazon Web Services Payment Cryptography supports TDES and AES algorithms. To encrypt using DUKPT, a DUKPT key must already exist within your account with KeyModesOfUse set to DeriveKey or a new DUKPT can be generated by calling CreateKey.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/keys/{IncomingKeyIdentifier}/reencrypt", @@ -3428,7 +3432,7 @@ "IncomingKeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the encryption key of incoming ciphertext data.

                              \n

                              When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                              ", + "smithy.api#documentation": "

                              The keyARN of the encryption key of incoming ciphertext data.

                              When a WrappedKeyBlock is provided, this value will be the identifier to the key wrapping key. Otherwise, it is the key identifier used to perform the operation.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3491,7 +3495,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -3862,6 +3866,30 @@ "traits": { "smithy.api#enumValue": "AES_256" } + }, + "HMAC_SHA256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA256" + } + }, + "HMAC_SHA384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA384" + } + }, + "HMAC_SHA512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA512" + } + }, + "HMAC_SHA224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA224" + } } } }, @@ -3937,7 +3965,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4. For more information, see Translate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              PIN block translation involves changing a PIN block from one encryption key to another and optionally change its format. PIN block translation occurs entirely within the HSM boundary and PIN data never enters or leaves Amazon Web Services Payment Cryptography in clear text. The encryption key transformation can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for DUKPT to PEK.

                              \n

                              Amazon Web Services Payment Cryptography also supports use of dynamic keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for this operation.

                              \n

                              Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To translate PIN block using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped key shall have a key purpose of P0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block, which is translated to a PEK encrypted PIN block for use within the service. You can also use ECDH for reveal PIN, wherein the service translates the PIN block from PEK to a ECDH derived encryption key. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              The allowed combinations of PIN block format translations are guided by PCI. It is important to note that not all encrypted PIN block formats (example, format 1) require PAN (Primary Account Number) as input. And as such, PIN block format that requires PAN (example, formats 0,3,4) cannot be translated to a format (format 1) that does not require a PAN for generation.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n \n

                              Amazon Web Services Payment Cryptography currently supports ISO PIN block 4 translation for PIN block built using legacy PAN length. That is, PAN is the right most 12 digits excluding the check digits.

                              \n
                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Translates encrypted PIN block from and to ISO 9564 formats 0,1,3,4. For more information, see Translate PIN data in the Amazon Web Services Payment Cryptography User Guide.

                              PIN block translation involves changing a PIN block from one encryption key to another and optionally change its format. PIN block translation occurs entirely within the HSM boundary and PIN data never enters or leaves Amazon Web Services Payment Cryptography in clear text. The encryption key transformation can be from PEK (Pin Encryption Key) to BDK (Base Derivation Key) for DUKPT or from BDK for DUKPT to PEK.

                              Amazon Web Services Payment Cryptography also supports use of dynamic keys and ECDH (Elliptic Curve Diffie-Hellman) based key exchange for this operation.

                              Dynamic keys allow you to pass a PEK as a TR-31 WrappedKeyBlock. They can be used when key material is frequently rotated, such as during every card transaction, and there is need to avoid importing short-lived keys into Amazon Web Services Payment Cryptography. To translate PIN block using dynamic keys, the keyARN is the Key Encryption Key (KEK) of the TR-31 wrapped PEK. The incoming wrapped key shall have a key purpose of P0 with a mode of use of B or D. For more information, see Using Dynamic Keys in the Amazon Web Services Payment Cryptography User Guide.

                              Using ECDH key exchange, you can receive cardholder selectable PINs into Amazon Web Services Payment Cryptography. The ECDH derived key protects the incoming PIN block, which is translated to a PEK encrypted PIN block for use within the service. You can also use ECDH for reveal PIN, wherein the service translates the PIN block from PEK to a ECDH derived encryption key. For more information on establishing ECDH derived keys, see the Generating keys in the Amazon Web Services Payment Cryptography User Guide.

                              The allowed combinations of PIN block format translations are guided by PCI. It is important to note that not all encrypted PIN block formats (example, format 1) require PAN (Primary Account Number) as input. And as such, PIN block format that requires PAN (example, formats 0,3,4) cannot be translated to a format (format 1) that does not require a PAN for generation.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Amazon Web Services Payment Cryptography currently supports ISO PIN block 4 translation for PIN block built using legacy PAN length. That is, PAN is the right most 12 digits excluding the check digits.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/pindata/translate", @@ -3951,14 +3979,14 @@ "IncomingKeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.

                              \n

                              For dynamic keys, it is the keyARN of KEK of the TR-31 wrapped PEK. For ECDH, it is the keyARN of the asymmetric ECC key.

                              ", + "smithy.api#documentation": "

                              The keyARN of the encryption key under which incoming PIN block data is encrypted. This key type can be PEK or BDK.

                              For dynamic keys, it is the keyARN of KEK of the TR-31 wrapped PEK. For ECDH, it is the keyARN of the asymmetric ECC key.

                              ", "smithy.api#required": {} } }, "OutgoingKeyIdentifier": { "target": "com.amazonaws.paymentcryptographydata#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.

                              \n

                              For ECDH, it is the keyARN of the asymmetric ECC key.

                              ", + "smithy.api#documentation": "

                              The keyARN of the encryption key for encrypting outgoing PIN block data. This key type can be PEK or BDK.

                              For ECDH, it is the keyARN of the asymmetric ECC key.

                              ", "smithy.api#required": {} } }, @@ -4032,7 +4060,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } } @@ -4241,7 +4269,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Verifies Authorization Request Cryptogram (ARQC) for a EMV chip payment card authorization. For more information, see Verify auth request cryptogram in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              ARQC generation is done outside of Amazon Web Services Payment Cryptography and is typically generated on a point of sale terminal for an EMV chip card to obtain payment authorization during transaction time. For ARQC verification, you must first import the ARQC generated outside of Amazon Web Services Payment Cryptography by calling ImportKey. This operation uses the imported ARQC and an major encryption key (DUKPT) created by calling CreateKey to either provide a boolean ARQC verification result or provide an APRC (Authorization Response Cryptogram) response using Method 1 or Method 2. The ARPC_METHOD_1 uses AuthResponseCode to generate ARPC and ARPC_METHOD_2 uses CardStatusUpdate to generate ARPC.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Verifies Authorization Request Cryptogram (ARQC) for a EMV chip payment card authorization. For more information, see Verify auth request cryptogram in the Amazon Web Services Payment Cryptography User Guide.

                              ARQC generation is done outside of Amazon Web Services Payment Cryptography and is typically generated on a point of sale terminal for an EMV chip card to obtain payment authorization during transaction time. For ARQC verification, you must first import the ARQC generated outside of Amazon Web Services Payment Cryptography by calling ImportKey. This operation uses the imported ARQC and an major encryption key (DUKPT) created by calling CreateKey to either provide a boolean ARQC verification result or provide an APRC (Authorization Response Cryptogram) response using Method 1 or Method 2. The ARPC_METHOD_1 uses AuthResponseCode to generate ARPC and ARPC_METHOD_2 uses CardStatusUpdate to generate ARPC.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/cryptogram/verify", @@ -4311,7 +4339,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -4355,7 +4383,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Verifies card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2) and Card Security Codes (CSC). For more information, see Verify card data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              This operation validates the CVV or CSC codes that is printed on a payment credit or debit card during card payment transaction. The input values are typically provided as part of an inbound transaction to an issuer or supporting platform partner. Amazon Web Services Payment Cryptography uses CVV or CSC, PAN (Primary Account Number) and expiration date of the card to check its validity during transaction processing. In this operation, the CVK (Card Verification Key) encryption key for use with card data verification is same as the one in used for GenerateCardValidationData.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Verifies card-related validation data using algorithms such as Card Verification Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2) and Card Security Codes (CSC). For more information, see Verify card data in the Amazon Web Services Payment Cryptography User Guide.

                              This operation validates the CVV or CSC codes that is printed on a payment credit or debit card during card payment transaction. The input values are typically provided as part of an inbound transaction to an issuer or supporting platform partner. Amazon Web Services Payment Cryptography uses CVV or CSC, PAN (Primary Account Number) and expiration date of the card to check its validity during transaction processing. In this operation, the CVK (Card Verification Key) encryption key for use with card data verification is same as the one in used for GenerateCardValidationData.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/cardvalidationdata/verify", @@ -4412,7 +4440,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } } @@ -4450,7 +4478,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Verifies a Message Authentication Code (MAC).

                              \n

                              You can use this operation to verify MAC for message data authentication such as . In this operation, you must use the same message data, secret encryption key and MAC algorithm that was used to generate MAC. You can use this operation to verify a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Verifies a Message Authentication Code (MAC).

                              You can use this operation to verify MAC for message data authentication such as . In this operation, you must use the same message data, secret encryption key and MAC algorithm that was used to generate MAC. You can use this operation to verify a DUPKT, CMAC, HMAC or EMV MAC by setting generation attributes and algorithm to the associated values.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/mac/verify", @@ -4513,7 +4541,7 @@ "KeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } } @@ -4551,7 +4579,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Verifies pin-related data such as PIN and PIN Offset using algorithms including VISA PVV and IBM3624. For more information, see Verify PIN data in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              This operation verifies PIN data for user payment card. A card holder PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation uses PIN Verification Key (PVK) for PIN or PIN Offset generation and then encrypts it using PIN Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography.

                              \n

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Verifies pin-related data such as PIN and PIN Offset using algorithms including VISA PVV and IBM3624. For more information, see Verify PIN data in the Amazon Web Services Payment Cryptography User Guide.

                              This operation verifies PIN data for user payment card. A card holder PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation uses PIN Verification Key (PVK) for PIN or PIN Offset generation and then encrypts it using PIN Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography.

                              For information about valid keys for this operation, see Understanding key attributes and Key types for specific data operations in the Amazon Web Services Payment Cryptography User Guide.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#http": { "method": "POST", "uri": "/pindata/verify", @@ -4600,7 +4628,7 @@ "PinBlockFormat": { "target": "com.amazonaws.paymentcryptographydata#PinBlockFormatForPinData", "traits": { - "smithy.api#documentation": "

                              The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                              \n

                              The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                              \n

                              The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                              ", + "smithy.api#documentation": "

                              The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3.

                              The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports a PIN from 4 to 12 digits in length.

                              The ISO_Format_3 PIN block format is the same as ISO_Format_0 except that the fill digits are random values from 10 to 15.

                              ", "smithy.api#required": {} } }, @@ -4637,7 +4665,7 @@ "VerificationKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } }, @@ -4651,7 +4679,7 @@ "EncryptionKeyCheckValue": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValue", "traits": { - "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              \n

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", + "smithy.api#documentation": "

                              The key check value (KCV) of the encryption key. The KCV is used to check if all parties holding a given key have the same key or to detect that a key has changed.

                              Amazon Web Services Payment Cryptography computes the KCV according to the CMAC specification.

                              ", "smithy.api#required": {} } } @@ -4815,7 +4843,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptographydata#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              \n

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " + "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/payment-cryptography.json b/tools/code-generation/smithy/api-descriptions/payment-cryptography.json index c8d8920c0a0..7d21900b53c 100644 --- a/tools/code-generation/smithy/api-descriptions/payment-cryptography.json +++ b/tools/code-generation/smithy/api-descriptions/payment-cryptography.json @@ -20,7 +20,7 @@ "AliasName": { "target": "com.amazonaws.paymentcryptography#AliasName", "traits": { - "smithy.api#documentation": "

                              A friendly name that you can use to refer to a key. The value must begin with alias/.

                              \n \n

                              Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              \n
                              ", + "smithy.api#documentation": "

                              A friendly name that you can use to refer to a key. The value must begin with alias/.

                              Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              ", "smithy.api#required": {} } }, @@ -146,7 +146,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography key. You can use an alias to identify a key in the console and when you call cryptographic operations such as EncryptData or DecryptData.

                              \n

                              You can associate the alias with any key in the same Amazon Web Services Region. Each alias is associated with only one key at a time, but a key can have multiple aliases. You can't create an alias without a key. The alias must be unique in the account and Amazon Web Services Region, but you can create another alias with the same name in a different Amazon Web Services Region.

                              \n

                              To change the key that's associated with the alias, call UpdateAlias. To delete the alias, call DeleteAlias. These operations don't affect the underlying key. To get the alias that you created, call ListAliases.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography key. You can use an alias to identify a key in the console and when you call cryptographic operations such as EncryptData or DecryptData.

                              You can associate the alias with any key in the same Amazon Web Services Region. Each alias is associated with only one key at a time, but a key can have multiple aliases. You can't create an alias without a key. The alias must be unique in the account and Amazon Web Services Region, but you can create another alias with the same name in a different Amazon Web Services Region.

                              To change the key that's associated with the alias, call UpdateAlias. To delete the alias, call DeleteAlias. These operations don't affect the underlying key. To get the alias that you created, call ListAliases.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#idempotent": {} } }, @@ -157,7 +157,7 @@ "target": "com.amazonaws.paymentcryptography#AliasName", "traits": { "aws.cloudformation#cfnMutability": "create", - "smithy.api#documentation": "

                              A friendly name that you can use to refer to a key. An alias must begin with alias/ followed by a name, for example alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-).

                              \n \n

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              \n
                              ", + "smithy.api#documentation": "

                              A friendly name that you can use to refer to a key. An alias must begin with alias/ followed by a name, for example alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-).

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              ", "smithy.api#required": {}, "smithy.api#suppress": [ "UnstableTrait" @@ -234,7 +234,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                              \n

                              In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                              \n

                              When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                              \n

                              Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.

                              In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.

                              When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY), key algorithm (example: TDES_2KEY), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY) and key modes of use (example: Encrypt). Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.

                              For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.

                              You can use the CreateKey operation to generate an ECC (Elliptic Curve Cryptography) key pair used for establishing an ECDH (Elliptic Curve Diffie-Hellman) key agreement between two parties. In the ECDH key agreement process, both parties generate their own ECC key pair with key usage K3 and exchange the public keys. Each party then use their private key, the received public key from the other party, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm to derive a shared key.

                              To maintain the single-use principle of cryptographic keys in payments, ECDH derived keys should not be used for multiple purposes, such as a TR31_P0_PIN_ENCRYPTION_KEY and TR31_K1_KEY_BLOCK_PROTECTION_KEY. When creating ECC key pairs in Amazon Web Services Payment Cryptography you can optionally set the DeriveKeyUsage parameter, which defines the key usage bound to the symmetric key that will be derived using the ECC key pair.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#CreateKeyInput": { @@ -255,7 +255,7 @@ "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              \n

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              ", + "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              ", "smithy.api#suppress": [ "UnstableTrait" ] @@ -286,7 +286,7 @@ "target": "com.amazonaws.paymentcryptography#Tags", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                              Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                              \n

                              Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key.

                              \n \n

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              \n
                              \n \n

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              \n
                              ", + "smithy.api#documentation": "

                              Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                              Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key.

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              ", "smithy.api#suppress": [ "UnstableTrait" ] @@ -296,7 +296,7 @@ "target": "com.amazonaws.paymentcryptography#DeriveKeyUsage", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

                              The cryptographic usage of an ECDH derived key as defined in section A.5.2 of the TR-31 spec.

                              ", + "smithy.api#documentation": "

                              The intended cryptographic usage of keys derived from the ECC key pair to be created.

                              After creating an ECC key pair, you cannot change the intended cryptographic usage of keys derived from it using ECDH.

                              ", "smithy.api#suppress": [ "UnstableTrait" ] @@ -359,7 +359,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Deletes the alias, but doesn't affect the underlying key.

                              \n

                              Each key can have multiple aliases. To get the aliases of all keys, use the UpdateAlias operation. To change the alias of a key, first use DeleteAlias to delete the current alias and then use CreateAlias to create a new alias. To associate an existing alias with a different key, call UpdateAlias.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Deletes the alias, but doesn't affect the underlying key.

                              Each key can have multiple aliases. To get the aliases of all keys, use the UpdateAlias operation. To change the alias of a key, first use DeleteAlias to delete the current alias and then use CreateAlias to create a new alias. To associate an existing alias with a different key, call UpdateAlias.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#idempotent": {} } }, @@ -418,7 +418,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Deletes the key material and metadata associated with Amazon Web Services Payment Cryptography key.

                              \n

                              Key deletion is irreversible. After a key is deleted, you can't perform cryptographic operations using the key. For example, you can't decrypt data that was encrypted by a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable. Because key deletion is destructive, Amazon Web Services Payment Cryptography has a safety mechanism to prevent accidental deletion of a key. When you call this operation, Amazon Web Services Payment Cryptography disables the specified key but doesn't delete it until after a waiting period set using DeleteKeyInDays. The default waiting period is 7 days. During the waiting period, the KeyState is DELETE_PENDING. After the key is deleted, the KeyState is DELETE_COMPLETE.

                              \n

                              You should delete a key only when you are sure that you don't need to use it anymore and no other parties are utilizing this key. If you aren't sure, consider deactivating it instead by calling StopKeyUsage.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Deletes the key material and metadata associated with Amazon Web Services Payment Cryptography key.

                              Key deletion is irreversible. After a key is deleted, you can't perform cryptographic operations using the key. For example, you can't decrypt data that was encrypted by a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable. Because key deletion is destructive, Amazon Web Services Payment Cryptography has a safety mechanism to prevent accidental deletion of a key. When you call this operation, Amazon Web Services Payment Cryptography disables the specified key but doesn't delete it until after a waiting period set using DeleteKeyInDays. The default waiting period is 7 days. During the waiting period, the KeyState is DELETE_PENDING. After the key is deleted, the KeyState is DELETE_COMPLETE.

                              You should delete a key only when you are sure that you don't need to use it anymore and no other parties are utilizing this key. If you aren't sure, consider deactivating it instead by calling StopKeyUsage.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#idempotent": {} } }, @@ -555,12 +555,12 @@ "SharedInformation": { "target": "com.amazonaws.paymentcryptography#SharedInformation", "traits": { - "smithy.api#documentation": "

                              A byte string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                              \n

                              It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes, and re-using shared information for multiple ECDH key derivations is not recommended.

                              " + "smithy.api#documentation": "

                              A string containing information that binds the ECDH derived key to the two parties involved or to the context of the key.

                              It may include details like identities of the two parties deriving the key, context of the operation, session IDs, and optionally a nonce. It must not contain zero bytes. It is not recommended to reuse shared information for multiple ECDH key derivations, as it could result in derived key material being the same across different derivations.

                              " } } }, "traits": { - "smithy.api#documentation": "

                              Derivation data used to derive an ECDH key.

                              " + "smithy.api#documentation": "

                              The shared information used when deriving a key using ECDH.

                              " } }, "com.amazonaws.paymentcryptography#EvenHexLengthBetween16And32": { @@ -585,7 +585,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. Specify KCV for IPEK export only.

                              \n

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " + "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity. Specify KCV for IPEK export only.

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " } } }, @@ -599,49 +599,49 @@ "PrivateKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the asymmetric ECC key.

                              ", + "smithy.api#documentation": "

                              The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                              ", "smithy.api#required": {} } }, "CertificateAuthorityPublicKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the certificate that signed the client's PublicKeyCertificate.

                              ", + "smithy.api#documentation": "

                              The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                              ", "smithy.api#required": {} } }, "PublicKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                              The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                              ", + "smithy.api#documentation": "

                              The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                              ", "smithy.api#required": {} } }, "DeriveKeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#SymmetricKeyAlgorithm", "traits": { - "smithy.api#documentation": "

                              The key algorithm of the derived ECDH key.

                              ", + "smithy.api#documentation": "

                              The key algorithm of the shared derived ECDH key.

                              ", "smithy.api#required": {} } }, "KeyDerivationFunction": { "target": "com.amazonaws.paymentcryptography#KeyDerivationFunction", "traits": { - "smithy.api#documentation": "

                              The key derivation function to use for deriving a key using ECDH.

                              ", + "smithy.api#documentation": "

                              The key derivation function to use when deriving a key using ECDH.

                              ", "smithy.api#required": {} } }, "KeyDerivationHashAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyDerivationHashAlgorithm", "traits": { - "smithy.api#documentation": "

                              The hash type to use for deriving a key using ECDH.

                              ", + "smithy.api#documentation": "

                              The hash type to use when deriving a key using ECDH.

                              ", "smithy.api#required": {} } }, "DerivationData": { "target": "com.amazonaws.paymentcryptography#DiffieHellmanDerivationData", "traits": { - "smithy.api#documentation": "

                              Derivation data used to derive an ECDH key.

                              ", + "smithy.api#documentation": "

                              The shared information used when deriving a key using ECDH.

                              ", "smithy.api#required": {} } }, @@ -650,7 +650,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Parameter information for key material export using the asymmetric ECDH key exchange method.

                              " + "smithy.api#documentation": "

                              Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                              " } }, "com.amazonaws.paymentcryptography#ExportDukptInitialKey": { @@ -659,7 +659,7 @@ "KeySerialNumber": { "target": "com.amazonaws.paymentcryptography#HexLength20Or24", "traits": { - "smithy.api#documentation": "

                              The KSN for IPEK generation using DUKPT.

                              \n

                              KSN must be padded before sending to Amazon Web Services Payment Cryptography. KSN hex length should be 20 for a TDES_2KEY key or 24 for an AES key.

                              ", + "smithy.api#documentation": "

                              The KSN for IPEK generation using DUKPT.

                              KSN must be padded before sending to Amazon Web Services Payment Cryptography. KSN hex length should be 20 for a TDES_2KEY key or 24 for an AES key.

                              ", "smithy.api#required": {} } } @@ -701,7 +701,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Exports a key from Amazon Web Services Payment Cryptography.

                              \n

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                              \n

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanism. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              \n

                              The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                              \n

                              You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                              \n

                              For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                              \n

                              The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                              \n \n

                              Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                              \n
                              \n

                              \n To export initial keys (KEK) or IPEK using TR-34\n

                              \n

                              Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                              \n

                              To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 7 days.

                              \n

                              Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              Set the following parameters:

                              \n
                                \n
                              • \n

                                \n ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                                \n
                              • \n
                              • \n

                                \n ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                                \n
                              • \n
                              • \n

                                \n KeyMaterial: Use Tr34KeyBlock parameters.

                                \n
                              • \n
                              • \n

                                \n CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                                \n
                              • \n
                              • \n

                                \n ExportToken: Obtained from KDH by calling GetParametersForImport.

                                \n
                              • \n
                              • \n

                                \n WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                                \n
                              • \n
                              \n

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                              \n

                              \n To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap\n

                              \n

                              Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                              \n

                              Next call ExportKey and set the following parameters:

                              \n
                                \n
                              • \n

                                \n CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                                \n
                              • \n
                              • \n

                                \n KeyMaterial: Set to KeyCryptogram.

                                \n
                              • \n
                              • \n

                                \n WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                                \n
                              • \n
                              \n

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                              \n

                              \n To export working keys or IPEK using TR-31\n

                              \n

                              Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                              \n

                              Set the following parameters:

                              \n
                                \n
                              • \n

                                \n ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                                \n
                              • \n
                              • \n

                                \n ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                                \n
                              • \n
                              • \n

                                \n KeyMaterial: Use Tr31KeyBlock parameters.

                                \n
                              • \n
                              \n

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the working key or IPEK as a TR-31 WrappedKeyBlock.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Exports a key from Amazon Web Services Payment Cryptography.

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                              You can also use ExportKey functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey attribute KSN (KeySerialNumber). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.

                              For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion within KeyBlockHeaders indicates the version of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                              The OptionalBlocks contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.

                              Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.

                              To export initial keys (KEK) or IPEK using TR-34

                              Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.

                              To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 30 days.

                              Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              Set the following parameters:

                              • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                              • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                              • KeyMaterial: Use Tr34KeyBlock parameters.

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KRD wrapping key certificate.

                              • ExportToken: Obtained from KDH by calling GetParametersForImport.

                              • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.

                              To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap

                              Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey.

                              Next call ExportKey and set the following parameters:

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed wrapping key certificate.

                              • KeyMaterial: Set to KeyCryptogram.

                              • WrappingKeyCertificate: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.

                              To export working keys or IPEK using TR-31

                              Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.

                              Set the following parameters:

                              • ExportAttributes: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.

                              • ExportKeyIdentifier: The KeyARN of the KEK or BDK (in case of IPEK) under export.

                              • KeyMaterial: Use Tr31KeyBlock parameters.

                              To export working keys using ECDH

                              You can also use ECDH key agreement to export working keys in a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                              To initiate a TR-31 key export using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. You can then complete a TR-31 key export by deriving a shared wrapping key using the service ECC key pair, public certificate of your ECC key pair outside of Amazon Web Services Payment Cryptography, and the key derivation parameters including key derivation function, hash algorithm, derivation data, key algorithm.

                              • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                              • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                              • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                              • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                              When this operation is successful, Amazon Web Services Payment Cryptography returns the working key as a TR-31 WrappedKeyBlock, where the wrapping key is the ECDH derived key.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#ExportKeyCryptogram": { @@ -784,7 +784,7 @@ "DiffieHellmanTr31KeyBlock": { "target": "com.amazonaws.paymentcryptography#ExportDiffieHellmanTr31KeyBlock", "traits": { - "smithy.api#documentation": "

                              Parameter information for key material export using the asymmetric ECDH key exchange method.

                              " + "smithy.api#documentation": "

                              Key derivation parameter information for key material export using asymmetric ECDH key exchange method.

                              " } } }, @@ -853,7 +853,7 @@ "ExportToken": { "target": "com.amazonaws.paymentcryptography#ExportTokenId", "traits": { - "smithy.api#documentation": "

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                              ", + "smithy.api#documentation": "

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                              ", "smithy.api#required": {} } }, @@ -911,7 +911,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Gets the Amazon Web Services Payment Cryptography key associated with the alias.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Gets the Amazon Web Services Payment Cryptography key associated with the alias.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#readonly": {} } }, @@ -979,7 +979,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Gets the key material for an Amazon Web Services Payment Cryptography key, including the immutable and mutable data specified when the key was created.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Gets the key material for an Amazon Web Services Payment Cryptography key, including the immutable and mutable data specified when the key was created.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#readonly": {} } }, @@ -1053,7 +1053,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                              \n

                              The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 7 days. You can use the same export token to export multiple keys from your service account.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.

                              The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 30 days. You can use the same export token to export multiple keys from your service account.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#GetParametersForExportInput": { @@ -1084,7 +1084,7 @@ "SigningKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                              The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 7 days.

                              ", + "smithy.api#documentation": "

                              The signing key certificate in PEM format (base64 encoded) of the public key for signature within the TR-34 key block. The certificate expires after 30 days.

                              ", "smithy.api#required": {} } }, @@ -1105,7 +1105,7 @@ "ExportToken": { "target": "com.amazonaws.paymentcryptography#ExportTokenId", "traits": { - "smithy.api#documentation": "

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 7 days. You can use the same export token to export multiple keys from the same service account.

                              ", + "smithy.api#documentation": "

                              The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 30 days. You can use the same export token to export multiple keys from the same service account.

                              ", "smithy.api#required": {} } }, @@ -1157,7 +1157,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                              \n

                              The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 7 days. You can use the same import token to import multiple keys into your service account.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.

                              The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 30 days. You can use the same import token to import multiple keys into your service account.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#GetParametersForImportInput": { @@ -1166,14 +1166,14 @@ "KeyMaterialType": { "target": "com.amazonaws.paymentcryptography#KeyMaterialType", "traits": { - "smithy.api#documentation": "

                              The method to use for key material import. Import token is only required for TR-34 WrappedKeyBlock (TR34_KEY_BLOCK) and RSA WrappedKeyCryptogram (KEY_CRYPTOGRAM).

                              \n

                              Import token is not required for TR-31, root public key cerificate or trusted public key certificate.

                              ", + "smithy.api#documentation": "

                              The method to use for key material import. Import token is only required for TR-34 WrappedKeyBlock (TR34_KEY_BLOCK) and RSA WrappedKeyCryptogram (KEY_CRYPTOGRAM).

                              Import token is not required for TR-31, root public key cerificate or trusted public key certificate.

                              ", "smithy.api#required": {} } }, "WrappingKeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyAlgorithm", "traits": { - "smithy.api#documentation": "

                              The wrapping key algorithm to generate a wrapping key certificate. This certificate wraps the key under import.

                              \n

                              At this time, RSA_2048 is the allowed algorithm for TR-34 WrappedKeyBlock import. Additionally, RSA_2048, RSA_3072, RSA_4096 are the allowed algorithms for RSA WrappedKeyCryptogram import.

                              ", + "smithy.api#documentation": "

                              The wrapping key algorithm to generate a wrapping key certificate. This certificate wraps the key under import.

                              At this time, RSA_2048 is the allowed algorithm for TR-34 WrappedKeyBlock import. Additionally, RSA_2048, RSA_3072, RSA_4096 are the allowed algorithms for RSA WrappedKeyCryptogram import.

                              ", "smithy.api#required": {} } } @@ -1188,7 +1188,7 @@ "WrappingKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                              The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 7 days.

                              ", + "smithy.api#documentation": "

                              The wrapping key certificate in PEM format (base64 encoded) of the wrapping key for use within the TR-34 key block. The certificate expires in 30 days.

                              ", "smithy.api#required": {} } }, @@ -1209,7 +1209,7 @@ "ImportToken": { "target": "com.amazonaws.paymentcryptography#ImportTokenId", "traits": { - "smithy.api#documentation": "

                              The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                              ", + "smithy.api#documentation": "

                              The import token to initiate key import into Amazon Web Services Payment Cryptography. The import token expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                              ", "smithy.api#required": {} } }, @@ -1255,7 +1255,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Gets the public key certificate of the asymmetric key pair that exists within Amazon Web Services Payment Cryptography.

                              \n

                              Unlike the private key of an asymmetric key, which never leaves Amazon Web Services Payment Cryptography unencrypted, callers with GetPublicKeyCertificate permission can download the public key certificate of the asymmetric key. You can share the public key certificate to allow others to encrypt messages and verify signatures outside of Amazon Web Services Payment Cryptography

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              ", + "smithy.api#documentation": "

                              Gets the public key certificate of the asymmetric key pair that exists within Amazon Web Services Payment Cryptography.

                              Unlike the private key of an asymmetric key, which never leaves Amazon Web Services Payment Cryptography unencrypted, callers with GetPublicKeyCertificate permission can download the public key certificate of the asymmetric key. You can share the public key certificate to allow others to encrypt messages and verify signatures outside of Amazon Web Services Payment Cryptography

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              ", "smithy.api#readonly": {} } }, @@ -1312,49 +1312,49 @@ "PrivateKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the asymmetric ECC key.

                              ", + "smithy.api#documentation": "

                              The keyARN of the asymmetric ECC key created within Amazon Web Services Payment Cryptography.

                              ", "smithy.api#required": {} } }, "CertificateAuthorityPublicKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "

                              The keyARN of the certificate that signed the client's PublicKeyCertificate.

                              ", + "smithy.api#documentation": "

                              The keyARN of the CA that signed the PublicKeyCertificate for the client's receiving ECC key pair.

                              ", "smithy.api#required": {} } }, "PublicKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "

                              The client's public key certificate in PEM format (base64 encoded) to use for ECDH key derivation.

                              ", + "smithy.api#documentation": "

                              The public key certificate of the client's receiving ECC key pair, in PEM format (base64 encoded), to use for ECDH key derivation.

                              ", "smithy.api#required": {} } }, "DeriveKeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#SymmetricKeyAlgorithm", "traits": { - "smithy.api#documentation": "

                              The key algorithm of the derived ECDH key.

                              ", + "smithy.api#documentation": "

                              The key algorithm of the shared derived ECDH key.

                              ", "smithy.api#required": {} } }, "KeyDerivationFunction": { "target": "com.amazonaws.paymentcryptography#KeyDerivationFunction", "traits": { - "smithy.api#documentation": "

                              The key derivation function to use for deriving a key using ECDH.

                              ", + "smithy.api#documentation": "

                              The key derivation function to use when deriving a key using ECDH.

                              ", "smithy.api#required": {} } }, "KeyDerivationHashAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyDerivationHashAlgorithm", "traits": { - "smithy.api#documentation": "

                              The hash type to use for deriving a key using ECDH.

                              ", + "smithy.api#documentation": "

                              The hash type to use when deriving a key using ECDH.

                              ", "smithy.api#required": {} } }, "DerivationData": { "target": "com.amazonaws.paymentcryptography#DiffieHellmanDerivationData", "traits": { - "smithy.api#documentation": "

                              Derivation data used to derive an ECDH key.

                              ", + "smithy.api#documentation": "

                              The shared information used when deriving a key using ECDH.

                              ", "smithy.api#required": {} } }, @@ -1367,7 +1367,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Parameter information for key material import using the asymmetric ECDH key exchange method.

                              " + "smithy.api#documentation": "

                              Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                              " } }, "com.amazonaws.paymentcryptography#ImportKey": { @@ -1406,7 +1406,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                              \n

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                              \n

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              \n

                              The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.

                              \n

                              You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                              \n

                              \n To import a public root key certificate\n

                              \n

                              Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                              \n

                              Set the following parameters:

                              \n
                                \n
                              • \n

                                \n KeyMaterial: RootCertificatePublicKey\n

                                \n
                              • \n
                              • \n

                                \n KeyClass: PUBLIC_KEY\n

                                \n
                              • \n
                              • \n

                                \n KeyModesOfUse: Verify\n

                                \n
                              • \n
                              • \n

                                \n KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE\n

                                \n
                              • \n
                              • \n

                                \n PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                                \n
                              • \n
                              \n

                              \n To import a trusted public key certificate\n

                              \n

                              The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                              \n
                                \n
                              • \n

                                \n KeyMaterial: TrustedCertificatePublicKey\n

                                \n
                              • \n
                              • \n

                                \n CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                                \n
                              • \n
                              • \n

                                \n KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                                \n
                              • \n
                              • \n

                                \n PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                                \n
                              • \n
                              \n

                              \n To import initial keys (KEK or ZMK or similar) using TR-34\n

                              \n

                              Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                              \n

                              To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 7 days.

                              \n

                              Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              Set the following parameters:

                              \n
                                \n
                              • \n

                                \n KeyMaterial: Use Tr34KeyBlock parameters.

                                \n
                              • \n
                              • \n

                                \n CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                                \n
                              • \n
                              • \n

                                \n ImportToken: Obtained from KRD by calling GetParametersForImport.

                                \n
                              • \n
                              • \n

                                \n WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                                \n
                              • \n
                              • \n

                                \n SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                                \n
                              • \n
                              \n

                              \n To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap\n

                              \n

                              Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 7 days.

                              \n

                              You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                              \n

                              \n To import working keys using TR-31\n

                              \n

                              Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                              \n
                                \n
                              • \n

                                \n KeyMaterial: Use Tr31KeyBlock parameters.

                                \n
                              • \n
                              • \n

                                \n WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                                \n
                              • \n
                              • \n

                                \n WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                                \n
                              • \n
                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.

                              Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.

                              For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm, RSA unwrap, and ECDH (Elliptic Curve Diffie-Hellman) key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.

                              PCI requires specific minimum key strength of wrapping keys used to protect the keys being exchanged electronically. These requirements can change when PCI standards are revised. The rules specify that wrapping keys used for transport must be at least as strong as the key being protected. For more information on recommended key strength of wrapping keys and key exchange mechanism, see Importing and exporting keys in the Amazon Web Services Payment Cryptography User Guide.

                              You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.

                              To import a public root key certificate

                              Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.

                              Set the following parameters:

                              • KeyMaterial: RootCertificatePublicKey

                              • KeyClass: PUBLIC_KEY

                              • KeyModesOfUse: Verify

                              • KeyUsage: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE

                              • PublicKeyCertificate: The public key certificate in PEM format (base64 encoded) of the private root key under import.

                              To import a trusted public key certificate

                              The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:

                              • KeyMaterial: TrustedCertificatePublicKey

                              • CertificateAuthorityPublicKeyIdentifier: KeyArn of the RootCertificatePublicKey.

                              • KeyModesOfUse and KeyUsage: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.

                              • PublicKeyCertificate: The trusted public key certificate in PEM format (base64 encoded) under import.

                              To import initial keys (KEK or ZMK or similar) using TR-34

                              Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.

                              To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 30 days.

                              Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey for RootCertificatePublicKey. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.

                              Set the following parameters:

                              • KeyMaterial: Use Tr34KeyBlock parameters.

                              • CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate chain that signed the KDH signing key certificate.

                              • ImportToken: Obtained from KRD by calling GetParametersForImport.

                              • WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.

                              • SigningKeyCertificate: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.

                              To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap

                              Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 30 days.

                              You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey with KeyMaterial set to KEY_CRYPTOGRAM and provide the ImportToken and KeyAttributes for the key under import.

                              To import working keys using TR-31

                              Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:

                              • KeyMaterial: Use Tr31KeyBlock parameters.

                              • WrappedKeyBlock: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.

                              • WrappingKeyIdentifier: The KeyArn of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.

                              To import working keys using ECDH

                              You can also use ECDH key agreement to import working keys as a TR-31 keyblock, where the wrapping key is an ECDH derived key.

                              To initiate a TR-31 key import using ECDH, both sides must create an ECC key pair with key usage K3 and exchange public key certificates. In Amazon Web Services Payment Cryptography, you can do this by calling CreateKey and then GetPublicKeyCertificate to retrieve its public key certificate. Next, you can then generate a TR-31 WrappedKeyBlock using your own ECC key pair, the public certificate of the service's ECC key pair, and the key derivation parameters including key derivation function, hash algorithm, derivation data, and key algorithm. If you have not already done so, you must import the CA chain that issued the receiving public key certificate by calling ImportKey with input RootCertificatePublicKey for root CA or TrustedPublicKey for intermediate CA. To complete the TR-31 key import, you can use the following parameters. It is important that the ECDH key derivation parameters you use should match those used during import to derive the same shared wrapping key within Amazon Web Services Payment Cryptography.

                              • KeyMaterial: Use DiffieHellmanTr31KeyBlock parameters.

                              • PrivateKeyIdentifier: The KeyArn of the ECC key pair created within Amazon Web Services Payment Cryptography to derive a shared KEK.

                              • PublicKeyCertificate: The public key certificate of the receiving ECC key pair in PEM format (base64 encoded) to derive a shared KEK.

                              • CertificateAuthorityPublicKeyIdentifier: The keyARN of the CA that signed the public key certificate of the receiving ECC key pair.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#ImportKeyCryptogram": { @@ -1435,7 +1435,7 @@ "ImportToken": { "target": "com.amazonaws.paymentcryptography#ImportTokenId", "traits": { - "smithy.api#documentation": "

                              The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                              ", + "smithy.api#documentation": "

                              The import token that initiates key import using the asymmetric RSA wrap and unwrap key exchange method into AWS Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                              ", "smithy.api#required": {} } }, @@ -1463,7 +1463,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              \n

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " + "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " } }, "Enabled": { @@ -1475,7 +1475,7 @@ "Tags": { "target": "com.amazonaws.paymentcryptography#Tags", "traits": { - "smithy.api#documentation": "

                              Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                              \n

                              Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the specified one.

                              \n \n

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              \n
                              \n \n

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              \n
                              " + "smithy.api#documentation": "

                              Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.

                              Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the specified one.

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              " } } }, @@ -1519,7 +1519,7 @@ "DiffieHellmanTr31KeyBlock": { "target": "com.amazonaws.paymentcryptography#ImportDiffieHellmanTr31KeyBlock", "traits": { - "smithy.api#documentation": "

                              Parameter information for key material import using the asymmetric ECDH key exchange method.

                              " + "smithy.api#documentation": "

                              Key derivation parameter information for key material import using asymmetric ECDH key exchange method.

                              " } } }, @@ -1590,7 +1590,7 @@ "ImportToken": { "target": "com.amazonaws.paymentcryptography#ImportTokenId", "traits": { - "smithy.api#documentation": "

                              The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 7 days. You can use the same import token to import multiple keys to the same service account.

                              ", + "smithy.api#documentation": "

                              The import token that initiates key import using the asymmetric TR-34 key exchange method into Amazon Web Services Payment Cryptography. It expires after 30 days. You can use the same import token to import multiple keys to the same service account.

                              ", "smithy.api#required": {} } }, @@ -1667,7 +1667,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              \n

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              ", + "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              ", "smithy.api#required": {} } }, @@ -1806,6 +1806,22 @@ "value": "AES_256", "name": "AES_256" }, + { + "value": "HMAC_SHA256", + "name": "HMAC_SHA256" + }, + { + "value": "HMAC_SHA384", + "name": "HMAC_SHA384" + }, + { + "value": "HMAC_SHA512", + "name": "HMAC_SHA512" + }, + { + "value": "HMAC_SHA224", + "name": "HMAC_SHA224" + }, { "value": "RSA_2048", "name": "RSA_2048" @@ -1873,7 +1889,7 @@ "KeyAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyAlgorithm", "traits": { - "smithy.api#documentation": "

                              The key algorithm to be use during creation of an Amazon Web Services Payment Cryptography key.

                              \n

                              For symmetric keys, Amazon Web Services Payment Cryptography supports AES and TDES algorithms. For asymmetric keys, Amazon Web Services Payment Cryptography supports RSA and ECC_NIST algorithms.

                              ", + "smithy.api#documentation": "

                              The key algorithm to be use during creation of an Amazon Web Services Payment Cryptography key.

                              For symmetric keys, Amazon Web Services Payment Cryptography supports AES and TDES algorithms. For asymmetric keys, Amazon Web Services Payment Cryptography supports RSA and ECC_NIST algorithms.

                              ", "smithy.api#required": {} } }, @@ -1898,7 +1914,7 @@ "KeyExportability": { "target": "com.amazonaws.paymentcryptography#KeyExportability", "traits": { - "smithy.api#documentation": "

                              Specifies subsequent exportability of the key within the key block after it is received by the receiving party. It can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                              \n

                              When set to EXPORTABLE, the key can be subsequently exported by the receiver under a KEK using TR-31 or TR-34 key block export only. When set to NON_EXPORTABLE, the key cannot be subsequently exported by the receiver. When set to SENSITIVE, the key can be exported by the receiver under a KEK using TR-31, TR-34, RSA wrap and unwrap cryptogram or using a symmetric cryptogram key export method. For further information refer to ANSI X9.143-2022.

                              " + "smithy.api#documentation": "

                              Specifies subsequent exportability of the key within the key block after it is received by the receiving party. It can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.

                              When set to EXPORTABLE, the key can be subsequently exported by the receiver under a KEK using TR-31 or TR-34 key block export only. When set to NON_EXPORTABLE, the key cannot be subsequently exported by the receiver. When set to SENSITIVE, the key can be exported by the receiver under a KEK using TR-31, TR-34, RSA wrap and unwrap cryptogram or using a symmetric cryptogram key export method. For further information refer to ANSI X9.143-2022.

                              " } }, "KeyVersion": { @@ -1910,7 +1926,7 @@ "OptionalBlocks": { "target": "com.amazonaws.paymentcryptography#OptionalBlocks", "traits": { - "smithy.api#documentation": "

                              Parameter used to indicate the type of optional data in key block headers. Refer to ANSI X9.143-2022 for information on allowed data type for optional blocks.

                              \n

                              Optional block character limit is 112 characters. For each optional block, 2 characters are reserved for optional block ID and 2 characters reserved for optional block length. More than one optional blocks can be included as long as the combined length does not increase 112 characters.

                              " + "smithy.api#documentation": "

                              Parameter used to indicate the type of optional data in key block headers. Refer to ANSI X9.143-2022 for information on allowed data type for optional blocks.

                              Optional block character limit is 112 characters. For each optional block, 2 characters are reserved for optional block ID and 2 characters reserved for optional block length. More than one optional blocks can be included as long as the combined length does not increase 112 characters.

                              " } } }, @@ -1939,6 +1955,10 @@ { "value": "ANSI_X9_24", "name": "ANSI_X9_24" + }, + { + "value": "HMAC", + "name": "HMAC" } ] } @@ -2410,7 +2430,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the aliases by keyARN. For more information, see Using aliases in the Amazon Web Services Payment Cryptography User Guide.

                              \n

                              This is a paginated operation, which means that each response might contain only a subset of all the aliases. When the response contains only a subset of aliases, it includes a NextToken value.\n Use this value in a subsequent ListAliases request to get more aliases. When you receive a response with no NextToken (or an empty or null value), that means there are no more aliases to get.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the aliases by keyARN. For more information, see Using aliases in the Amazon Web Services Payment Cryptography User Guide.

                              This is a paginated operation, which means that each response might contain only a subset of all the aliases. When the response contains only a subset of aliases, it includes a NextToken value. Use this value in a subsequent ListAliases request to get more aliases. When you receive a response with no NextToken (or an empty or null value), that means there are no more aliases to get.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2438,7 +2458,7 @@ "MaxResults": { "target": "com.amazonaws.paymentcryptography#MaxResults", "traits": { - "smithy.api#documentation": "

                              Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                              \n

                              This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                              " + "smithy.api#documentation": "

                              Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                              This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                              " } } }, @@ -2501,7 +2521,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Lists the keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of keys.

                              \n

                              This is a paginated operation, which means that each response might contain only a subset of all the keys.\n When the response contains only a subset of keys, it includes a NextToken value. Use this value in a subsequent ListKeys request to get more keys.\n When you receive a response with no NextToken (or an empty or null value), that means there are no more keys to get.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Lists the keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of keys.

                              This is a paginated operation, which means that each response might contain only a subset of all the keys. When the response contains only a subset of keys, it includes a NextToken value. Use this value in a subsequent ListKeys request to get more keys. When you receive a response with no NextToken (or an empty or null value), that means there are no more keys to get.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2529,7 +2549,7 @@ "MaxResults": { "target": "com.amazonaws.paymentcryptography#MaxResults", "traits": { - "smithy.api#documentation": "

                              Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                              \n

                              This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                              " + "smithy.api#documentation": "

                              Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                              This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                              " } } }, @@ -2592,7 +2612,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Lists the tags for an Amazon Web Services resource.

                              \n

                              This is a paginated operation, which means that each response might contain only a subset of all the tags.\n When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTagsForResource request to get more tags.\n When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n ", + "smithy.api#documentation": "

                              Lists the tags for an Amazon Web Services resource.

                              This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTagsForResource request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2621,7 +2641,7 @@ "MaxResults": { "target": "com.amazonaws.paymentcryptography#MaxResults", "traits": { - "smithy.api#documentation": "

                              Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                              \n

                              This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                              " + "smithy.api#documentation": "

                              Use this parameter to specify the maximum number of items to return. When this value is present, Amazon Web Services Payment Cryptography does not return more than the specified number of items, but it might return fewer.

                              This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

                              " } } }, @@ -2748,7 +2768,7 @@ }, "aws.protocols#awsJson1_0": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

                              Amazon Web Services Payment Cryptography Control Plane APIs manage encryption keys for use during payment-related cryptographic operations. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys. For more information, see Identity and access management in the Amazon Web Services Payment Cryptography User Guide.\n

                              \n

                              To use encryption keys for payment-related transaction processing and associated cryptographic operations, you use the Amazon Web Services Payment Cryptography Data Plane. You can perform actions like encrypt, decrypt, generate, and verify payment-related data.

                              \n

                              All Amazon Web Services Payment Cryptography API calls must be signed and transmitted using Transport Layer Security (TLS). We recommend you always use the latest supported TLS version for logging API requests.

                              \n

                              Amazon Web Services Payment Cryptography supports CloudTrail for control plane operations, a service that logs Amazon Web Services API calls and related events for your Amazon Web Services account and delivers them to an Amazon S3 bucket you specify. By using the information collected by CloudTrail, you can determine what requests were made to Amazon Web Services Payment Cryptography, who made the request, when it was made, and so on. If you don't configure a trail, you can still view the most recent events in the CloudTrail console. For more information, see the CloudTrail User Guide.

                              ", + "smithy.api#documentation": "

                              Amazon Web Services Payment Cryptography Control Plane APIs manage encryption keys for use during payment-related cryptographic operations. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys. For more information, see Identity and access management in the Amazon Web Services Payment Cryptography User Guide.

                              To use encryption keys for payment-related transaction processing and associated cryptographic operations, you use the Amazon Web Services Payment Cryptography Data Plane. You can perform actions like encrypt, decrypt, generate, and verify payment-related data.

                              All Amazon Web Services Payment Cryptography API calls must be signed and transmitted using Transport Layer Security (TLS). We recommend you always use the latest supported TLS version for logging API requests.

                              Amazon Web Services Payment Cryptography supports CloudTrail for control plane operations, a service that logs Amazon Web Services API calls and related events for your Amazon Web Services account and delivers them to an Amazon S3 bucket you specify. By using the information collected by CloudTrail, you can determine what requests were made to Amazon Web Services Payment Cryptography, who made the request, when it was made, and so on. If you don't configure a trail, you can still view the most recent events in the CloudTrail console. For more information, see the CloudTrail User Guide.

                              ", "smithy.api#title": "Payment Cryptography Control Plane", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3478,7 +3498,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Cancels a scheduled key deletion during the waiting period. Use this operation to restore a Key that is scheduled for deletion.

                              \n

                              During the waiting period, the KeyState is DELETE_PENDING and deletePendingTimestamp contains the date and time after which the Key will be deleted.\n After Key is restored, the KeyState is CREATE_COMPLETE, and the value for deletePendingTimestamp is removed.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Cancels a scheduled key deletion during the waiting period. Use this operation to restore a Key that is scheduled for deletion.

                              During the waiting period, the KeyState is DELETE_PENDING and deletePendingTimestamp contains the date and time after which the Key will be deleted. After Key is restored, the KeyState is CREATE_COMPLETE, and the value for deletePendingTimestamp is removed.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#RestoreKeyInput": { @@ -3609,7 +3629,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Enables an Amazon Web Services Payment Cryptography key, which makes it active for cryptographic operations within Amazon Web Services Payment Cryptography

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Enables an Amazon Web Services Payment Cryptography key, which makes it active for cryptographic operations within Amazon Web Services Payment Cryptography

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#StartKeyUsageInput": { @@ -3682,7 +3702,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Disables an Amazon Web Services Payment Cryptography key, which makes it inactive within Amazon Web Services Payment Cryptography.

                              \n

                              You can use this operation instead of DeleteKey to deactivate a key. You can enable the key in the future by calling StartKeyUsage.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Disables an Amazon Web Services Payment Cryptography key, which makes it inactive within Amazon Web Services Payment Cryptography.

                              You can use this operation instead of DeleteKey to deactivate a key. You can enable the key in the future by calling StartKeyUsage.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#StopKeyUsageInput": { @@ -3751,6 +3771,30 @@ "traits": { "smithy.api#enumValue": "AES_256" } + }, + "HMAC_SHA256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA256" + } + }, + "HMAC_SHA384": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA384" + } + }, + "HMAC_SHA512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA512" + } + }, + "HMAC_SHA224": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HMAC_SHA224" + } } } }, @@ -3834,7 +3878,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Adds or edits tags on an Amazon Web Services Payment Cryptography key.

                              \n \n

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              \n
                              \n

                              Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value. You can also add tags to an Amazon Web Services Payment Cryptography key when you create it with CreateKey.

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Adds or edits tags on an Amazon Web Services Payment Cryptography key.

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value. You can also add tags to an Amazon Web Services Payment Cryptography key when you create it with CreateKey.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#TagResourceInput": { @@ -3850,7 +3894,7 @@ "Tags": { "target": "com.amazonaws.paymentcryptography#Tags", "traits": { - "smithy.api#documentation": "

                              One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the new one.

                              \n \n

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              \n
                              \n

                              To use this parameter, you must have TagResource permission in an IAM policy.

                              \n \n

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              \n
                              ", + "smithy.api#documentation": "

                              One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the new one.

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              To use this parameter, you must have TagResource permission in an IAM policy.

                              Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.

                              ", "smithy.api#required": {} } } @@ -3998,7 +4042,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Deletes a tag from an Amazon Web Services Payment Cryptography key.

                              \n \n

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              \n
                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Deletes a tag from an Amazon Web Services Payment Cryptography key.

                              Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#UntagResourceInput": { @@ -4014,7 +4058,7 @@ "TagKeys": { "target": "com.amazonaws.paymentcryptography#TagKeys", "traits": { - "smithy.api#documentation": "

                              One or more tag keys. Don't include the tag values.

                              \n

                              If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an exception or return a response. To confirm that the operation succeeded, use the ListTagsForResource operation.

                              ", + "smithy.api#documentation": "

                              One or more tag keys. Don't include the tag values.

                              If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an exception or return a response. To confirm that the operation succeeded, use the ListTagsForResource operation.

                              ", "smithy.api#required": {} } } @@ -4063,7 +4107,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

                              Associates an existing Amazon Web Services Payment Cryptography alias with a different key. Each alias is associated with only one Amazon Web Services Payment Cryptography key at a time, although a key can have multiple aliases. The alias and the Amazon Web Services Payment Cryptography key must be in the same Amazon Web Services account and Amazon Web Services Region

                              \n

                              \n Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              \n

                              \n Related operations:\n

                              \n " + "smithy.api#documentation": "

                              Associates an existing Amazon Web Services Payment Cryptography alias with a different key. Each alias is associated with only one Amazon Web Services Payment Cryptography key at a time, although a key can have multiple aliases. The alias and the Amazon Web Services Payment Cryptography key must be in the same Amazon Web Services account and Amazon Web Services Region

                              Cross-account use: This operation can't be used across different Amazon Web Services accounts.

                              Related operations:

                              " } }, "com.amazonaws.paymentcryptography#UpdateAliasInput": { @@ -4152,7 +4196,7 @@ "KeyCheckValueAlgorithm": { "target": "com.amazonaws.paymentcryptography#KeyCheckValueAlgorithm", "traits": { - "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              \n

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " + "smithy.api#documentation": "

                              The algorithm that Amazon Web Services Payment Cryptography uses to calculate the key check value (KCV). It is used to validate the key integrity.

                              For TDES keys, the KCV is computed by encrypting 8 bytes, each with value of zero, with the key to be checked and retaining the 3 highest order bytes of the encrypted result. For AES keys, the KCV is computed using a CMAC algorithm where the input data is 16 bytes of zero and retaining the 3 highest order bytes of the encrypted result.

                              " } } }, diff --git a/tools/code-generation/smithy/api-descriptions/pcs.json b/tools/code-generation/smithy/api-descriptions/pcs.json index 164fe9aaaba..b91243d434c 100644 --- a/tools/code-generation/smithy/api-descriptions/pcs.json +++ b/tools/code-generation/smithy/api-descriptions/pcs.json @@ -820,7 +820,7 @@ "min": 1, "max": 1011 }, - "smithy.api#pattern": "^arn:aws*:pcs:.*:[0-9]{12}:.*/[a-z0-9_\\-]+$" + "smithy.api#pattern": "^arn:aws.*:pcs:.*:[0-9]{12}:.*/[a-z0-9_\\-]+$" } }, "com.amazonaws.pcs#BootstrapId": { @@ -2491,7 +2491,7 @@ "com.amazonaws.pcs#InstanceProfileArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}$" + "smithy.api#pattern": "^arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/[\\w+=,.@-]{1,128}$" } }, "com.amazonaws.pcs#InternalServerException": { diff --git a/tools/code-generation/smithy/api-descriptions/rds.json b/tools/code-generation/smithy/api-descriptions/rds.json index 442dca91b5d..2439a50545a 100644 --- a/tools/code-generation/smithy/api-descriptions/rds.json +++ b/tools/code-generation/smithy/api-descriptions/rds.json @@ -3038,7 +3038,7 @@ "InitQuery": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                              Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. \n The setting is typically used with SET statements to make sure that each connection has identical settings. \n Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty.\n For including multiple variables in a single SET statement, use a comma separator.

                              \n

                              For example: SET variable1=value1, variable2=value2\n

                              \n

                              Default: no initialization query

                              " + "smithy.api#documentation": "

                              Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. \n The setting is typically used with SET statements to make sure that each connection has identical settings. \n Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty.\n For including multiple variables in a single SET statement, use a comma separator.

                              \n

                              For example: SET variable1=value1, variable2=value2\n

                              \n

                              Default: no initialization query

                              \n \n

                              Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. \n Anyone with access to view or manage your proxy target group configuration can view the initialization query. \n You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.

                              \n
                              " } } }, @@ -3076,7 +3076,7 @@ "InitQuery": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                              One or more SQL statements for the proxy to run when opening each new database connection. \n The setting is typically used with SET statements to make sure that each connection has identical settings. \n The query added here must be valid. For including multiple variables in a single SET statement, use a comma separator. \n This is an optional field.

                              \n

                              For example: SET variable1=value1, variable2=value2\n

                              " + "smithy.api#documentation": "

                              One or more SQL statements for the proxy to run when opening each new database connection. \n The setting is typically used with SET statements to make sure that each connection has identical settings. \n The query added here must be valid. For including multiple variables in a single SET statement, use a comma separator. \n This is an optional field.

                              \n

                              For example: SET variable1=value1, variable2=value2\n

                              \n \n

                              Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. \n Anyone with access to view or manage your proxy target group configuration can view the initialization query. \n You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.

                              \n
                              " } } }, @@ -5441,7 +5441,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a new DB instance that acts as a read replica for an existing source DB\n instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running\n Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a\n Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working\n with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

                              \n

                              Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance\n operation.

                              \n

                              All read replica DB instances are created with backups disabled. All other attributes\n (including DB security groups and DB parameter groups) are inherited from the source DB\n instance or cluster, except as specified.

                              \n \n

                              Your source DB instance or cluster must have backup retention enabled.

                              \n
                              ", + "smithy.api#documentation": "

                              Creates a new DB instance that acts as a read replica for an existing source DB\n instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running\n MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a\n Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working\n with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica\n in the Amazon RDS User Guide.

                              \n

                              Amazon RDS for Db2 supports this operation for standby replicas. To create a standby\n replica for a DB instance running Db2, you must set ReplicaMode to\n mounted.

                              \n

                              Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance\n operation.

                              \n

                              RDS creates read replicas with backups disabled. All other attributes\n (including DB security groups and DB parameter groups) are inherited from the source DB\n instance or cluster, except as specified.

                              \n \n

                              Your source DB instance or cluster must have backup retention enabled.

                              \n
                              ", "smithy.api#examples": [ { "title": "To create a DB instance read replica", @@ -5477,7 +5477,7 @@ "SourceDBInstanceIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                              The identifier of the DB instance that will act as the source for the read replica.\n Each DB instance can have up to 15 read replicas, with the exception of Oracle and SQL\n Server, which can have up to five.

                              \n

                              Constraints:

                              \n
                                \n
                              • \n

                                Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server DB\n instance.

                                \n
                              • \n
                              • \n

                                Can't be specified if the SourceDBClusterIdentifier parameter is\n also specified.

                                \n
                              • \n
                              • \n

                                For the limitations of Oracle read replicas, see Version and licensing considerations for RDS for Oracle replicas in the\n Amazon RDS User Guide.

                                \n
                              • \n
                              • \n

                                For the limitations of SQL Server read replicas, see Read replica limitations with SQL Server in the Amazon RDS User Guide.

                                \n
                              • \n
                              • \n

                                The specified DB instance must have automatic backups enabled, that is, its backup\n retention period must be greater than 0.

                                \n
                              • \n
                              • \n

                                If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB\n instance identifier.

                                \n
                              • \n
                              • \n

                                If the source DB instance is in a different Amazon Web Services Region from the read\n replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User\n Guide. This doesn't apply to SQL Server or RDS Custom, which\n don't support cross-Region replicas.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The identifier of the DB instance that will act as the source for the read replica.\n Each DB instance can have up to 15 read replicas, except for the following\n engines:

                              \n
                                \n
                              • \n

                                Db2 - Can have up to three replicas.

                                \n
                              • \n
                              • \n

                                Oracle - Can have up to five read replicas.

                                \n
                              • \n
                              • \n

                                SQL Server - Can have up to five read replicas.

                                \n
                              • \n
                              \n

                              Constraints:

                              \n
                                \n
                              • \n

                                Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server DB\n instance.

                                \n
                              • \n
                              • \n

                                Can't be specified if the SourceDBClusterIdentifier parameter is\n also specified.

                                \n
                              • \n
                              • \n

                                For the limitations of Oracle read replicas, see Version and licensing considerations for RDS for Oracle replicas in the\n Amazon RDS User Guide.

                                \n
                              • \n
                              • \n

                                For the limitations of SQL Server read replicas, see Read replica limitations with SQL Server in the Amazon RDS User Guide.

                                \n
                              • \n
                              • \n

                                The specified DB instance must have automatic backups enabled, that is, its backup\n retention period must be greater than 0.

                                \n
                              • \n
                              • \n

                                If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB\n instance identifier.

                                \n
                              • \n
                              • \n

                                If the source DB instance is in a different Amazon Web Services Region from the read\n replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User\n Guide. This doesn't apply to SQL Server or RDS Custom, which\n don't support cross-Region replicas.

                                \n
                              • \n
                              " } }, "DBInstanceClass": { @@ -5525,7 +5525,7 @@ "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                              The name of the DB parameter group to associate with this read replica DB\n instance.

                              \n

                              For Single-AZ or Multi-AZ DB instance read replica instances, if you don't specify a\n value for DBParameterGroupName, then Amazon RDS uses the\n DBParameterGroup of the source DB instance for a same Region read\n replica, or the default DBParameterGroup for the specified DB engine for a\n cross-Region read replica.

                              \n

                              For Multi-AZ DB cluster same Region read replica instances, if you don't specify a\n value for DBParameterGroupName, then Amazon RDS uses the default\n DBParameterGroup.

                              \n

                              Specifying a parameter group for this operation is only supported for MySQL DB\n instances for cross-Region read replicas, for Multi-AZ DB cluster read replica\n instances, and for Oracle DB instances. It isn't supported for MySQL DB instances for\n same Region read replicas or for RDS Custom.

                              \n

                              Constraints:

                              \n
                                \n
                              • \n

                                Must be 1 to 255 letters, numbers, or hyphens.

                                \n
                              • \n
                              • \n

                                First character must be a letter.

                                \n
                              • \n
                              • \n

                                Can't end with a hyphen or contain two consecutive hyphens.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              The name of the DB parameter group to associate with this read replica DB\n instance.

                              \n

                              For the Db2 DB engine, if your source DB instance uses the Bring Your Own License\n model, then a custom parameter group must be associated with the replica. For a same\n Amazon Web Services Region replica, if you don't specify a custom parameter group, Amazon RDS\n associates the custom parameter group associated with the source DB instance. For a\n cross-Region replica, you must specify a custom parameter group. This custom parameter\n group must include your IBM Site ID and IBM Customer ID. For more information, see\n IBM IDs\n for Bring Your Own License for Db2.

                              \n

                              For Single-AZ or Multi-AZ DB instance read replica instances, if you don't specify a\n value for DBParameterGroupName, then Amazon RDS uses the\n DBParameterGroup of the source DB instance for a same Region read\n replica, or the default DBParameterGroup for the specified DB engine for a\n cross-Region read replica.

                              \n

                              For Multi-AZ DB cluster same Region read replica instances, if you don't specify a\n value for DBParameterGroupName, then Amazon RDS uses the default\n DBParameterGroup.

                              \n

                              Specifying a parameter group for this operation is only supported for MySQL DB\n instances for cross-Region read replicas, for Multi-AZ DB cluster read replica\n instances, for Db2 DB instances, and for Oracle DB instances. It isn't supported for\n MySQL DB instances for same Region read replicas or for RDS Custom.

                              \n

                              Constraints:

                              \n
                                \n
                              • \n

                                Must be 1 to 255 letters, numbers, or hyphens.

                                \n
                              • \n
                              • \n

                                First character must be a letter.

                                \n
                              • \n
                              • \n

                                Can't end with a hyphen or contain two consecutive hyphens.

                                \n
                              • \n
                              " } }, "PubliclyAccessible": { @@ -5678,7 +5678,7 @@ "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

                              The open mode of the replica database: mounted or read-only.

                              \n \n

                              This parameter is only supported for Oracle DB instances.

                              \n
                              \n

                              Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

                              \n

                              You can create a combination of mounted and read-only DB replicas for the same primary DB instance.\n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                              \n

                              For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. \n After replica creation, you can manage the open mode manually.

                              " + "smithy.api#documentation": "

                              The open mode of the replica database.

                              \n \n

                              This parameter is only supported for Db2 DB instances and Oracle DB\n instances.

                              \n
                              \n
                              \n
                              Db2
                              \n
                              \n

                              Standby DB replicas are included in Db2 Advanced Edition (AE) and Db2\n Standard Edition (SE). The main use case for standby replicas is\n cross-Region disaster recovery. Because it doesn't accept user\n connections, a standby replica can't serve a read-only workload.

                              \n

                              You can create a combination of standby and read-only DB replicas for the\n same primary DB instance. For more information, see Working with read\n replicas for Amazon RDS for Db2 in the Amazon RDS User\n Guide.

                              \n

                              To create standby DB replicas for RDS for Db2, set this parameter to\n mounted.

                              \n
                              \n
                              Oracle
                              \n
                              \n

                              Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

                              \n

                              You can create a combination of mounted and read-only DB replicas for the same primary DB instance.\n For more information, see Working with read replicas for Amazon RDS for Oracle \n in the Amazon RDS User Guide.

                              \n

                              For RDS Custom, you must specify this parameter and set it to\n mounted. The value won't be set by default. After replica\n creation, you can manage the open mode manually.

                              \n
                              \n
                              " } }, "MaxAllocatedStorage": { @@ -9234,7 +9234,7 @@ "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

                              The open mode of an Oracle read replica. The default is open-read-only. \n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                              \n \n

                              This attribute is only supported in RDS for Oracle.

                              \n
                              " + "smithy.api#documentation": "

                              The open mode of a Db2 or an Oracle read replica. The default is\n open-read-only. For more information, see Working with read replicas for\n Amazon RDS for Db2 and Working with read replicas\n for Amazon RDS for Oracle in the Amazon RDS User Guide.

                              \n \n

                              This attribute is only supported in RDS for Db2, RDS for Oracle, and RDS Custom\n for Oracle.

                              \n
                              " } }, "LicenseModel": { @@ -22736,7 +22736,7 @@ "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

                              A value that sets the open mode of a replica database to either mounted or read-only.

                              \n \n

                              Currently, this parameter is only supported for Oracle DB instances.

                              \n
                              \n

                              Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for \n mounted replicas is cross-Region disaster recovery. The primary database doesn't use \n Active Data Guard to transmit information to the mounted replica. Because it doesn't \n accept user connections, a mounted replica can't serve a read-only workload. \n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                              \n

                              This setting doesn't apply to RDS Custom DB instances.

                              " + "smithy.api#documentation": "

                              The open mode of a replica database.

                              \n \n

                              This parameter is only supported for Db2 DB instances and Oracle DB\n instances.

                              \n
                              \n
                              \n
                              Db2
                              \n
                              \n

                              Standby DB replicas are included in Db2 Advanced Edition (AE) and Db2\n Standard Edition (SE). The main use case for standby replicas is\n cross-Region disaster recovery. Because it doesn't accept user\n connections, a standby replica can't serve a read-only workload.

                              \n

                              You can create a combination of standby and read-only DB replicas for the\n same primary DB instance. For more information, see Working with read\n replicas for Amazon RDS for Db2 in the Amazon RDS User\n Guide.

                              \n

                              To create standby DB replicas for RDS for Db2, set this parameter to\n mounted.

                              \n
                              \n
                              Oracle
                              \n
                              \n

                              Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

                              \n

                              You can create a combination of mounted and read-only DB replicas for the\n same primary DB instance. For more information, see Working with\n read replicas for Amazon RDS for Oracle in the Amazon\n RDS User Guide.

                              \n

                              For RDS Custom, you must specify this parameter and set it to\n mounted. The value won't be set by default. After replica\n creation, you can manage the open mode manually.

                              \n
                              \n
                              " } }, "EnableCustomerOwnedIp": { diff --git a/tools/code-generation/smithy/api-descriptions/s3.json b/tools/code-generation/smithy/api-descriptions/s3.json index 79f2ed97d60..50754da435d 100644 --- a/tools/code-generation/smithy/api-descriptions/s3.json +++ b/tools/code-generation/smithy/api-descriptions/s3.json @@ -533,6 +533,9 @@ { "target": "com.amazonaws.s3#PutPublicAccessBlock" }, + { + "target": "com.amazonaws.s3#RenameObject" + }, { "target": "com.amazonaws.s3#RestoreObject" }, @@ -21804,6 +21807,9 @@ } } }, + "com.amazonaws.s3#ClientToken": { + "type": "string" + }, "com.amazonaws.s3#Code": { "type": "string" }, @@ -22289,7 +22295,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Creates a copy of an object that is already stored in Amazon S3.

                              \n \n

                              You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

                              \n
                              \n

                              You can copy individual objects between general purpose buckets, between directory buckets,\n and between general purpose buckets and directory buckets.

                              \n \n
                                \n
                              • \n

                                Amazon S3 supports copy operations using Multi-Region Access Points only as a\n destination when using the Multi-Region Access Point ARN.

                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                VPC endpoints don't support cross-Region requests (including copies). If you're\n using VPC endpoints, your source and destination buckets should be in the same\n Amazon Web Services Region as your VPC endpoint.

                                \n
                              • \n
                              \n
                              \n

                              Both the Region that you want to copy the object from and the Region that you want to\n copy the object to must be enabled for your account. For more information about how to\n enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services\n Account Management Guide.

                              \n \n

                              Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

                              \n
                              \n
                              \n
                              Authentication and authorization
                              \n
                              \n

                              All CopyObject requests must be authenticated and signed by using\n IAM credentials (access key ID and secret access key for the IAM identities).\n All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

                              \n

                              \n Directory buckets - You must use the\n IAM credentials to authenticate and authorize your access to the\n CopyObject API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

                              \n

                              Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

                              \n
                              \n
                              Permissions
                              \n
                              \n

                              You must have read access to the source object and\n write access to the destination bucket.

                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - You\n must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

                                \n
                                  \n
                                • \n

                                  If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

                                  \n
                                • \n
                                • \n

                                  If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in a CopyObject\n operation.

                                \n
                                  \n
                                • \n

                                  If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

                                  \n
                                • \n
                                • \n

                                  If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n can't be set to ReadOnly on the copy destination bucket.\n

                                  \n
                                • \n
                                \n

                                If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

                                \n

                                For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n
                              Response and special errors
                              \n
                              \n

                              When the request is an HTTP 1.1 request, the response is chunk encoded. When\n the request is not an HTTP 1.1 request, the response would not contain the\n Content-Length. You always need to read the entire response body\n to check if the copy succeeds.

                              \n
                                \n
                              • \n

                                If the copy is successful, you receive a response with information about\n the copied object.

                                \n
                              • \n
                              • \n

                                A copy request might return an error when Amazon S3 receives the copy request\n or while Amazon S3 is copying the files. A 200 OK response can\n contain either a success or an error.

                                \n
                                  \n
                                • \n

                                  If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

                                  \n
                                • \n
                                • \n

                                  If the error occurs during the copy operation, the error response\n is embedded in the 200 OK response. For example, in a\n cross-region copy, you may encounter throttling and receive a\n 200 OK response. For more information, see Resolve the Error 200 response when copying objects to\n Amazon S3. The 200 OK status code means the copy\n was accepted, but it doesn't mean the copy is complete. Another\n example is when you disconnect from Amazon S3 before the copy is complete,\n Amazon S3 might cancel the copy and you may receive a 200 OK\n response. You must stay connected to Amazon S3 until the entire response is\n successfully received and processed.

                                  \n

                                  If you call this API operation directly, make sure to design your\n application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The\n SDKs detect the embedded error and apply error handling per your\n configuration settings (including automatically retrying the request\n as appropriate). If the condition persists, the SDKs throw an\n exception (or, for the SDKs that don't use exceptions, they return an\n error).

                                  \n
                                • \n
                                \n
                              • \n
                              \n
                              \n
                              Charge
                              \n
                              \n

                              The copy request charge is based on the storage class and Region that you\n specify for the destination object. The request can also result in a data\n retrieval charge for the source if the source storage class bills for data\n retrieval. If the copy source is in a different region, the data transfer is\n billed to the copy source account. For pricing information, see Amazon S3 pricing.

                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n
                                \n
                              • \n

                                \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                                \n
                              • \n
                              • \n

                                \n Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the \n form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

                                \n
                              • \n
                              \n
                              \n
                              \n

                              The following operations are related to CopyObject:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n

                              Creates a copy of an object that is already stored in Amazon S3.

                              \n \n

                              You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

                              \n
                              \n

                              You can copy individual objects between general purpose buckets, between directory buckets,\n and between general purpose buckets and directory buckets.

                              \n \n
                                \n
                              • \n

                                Amazon S3 supports copy operations using Multi-Region Access Points only as a\n destination when using the Multi-Region Access Point ARN.

                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                VPC endpoints don't support cross-Region requests (including copies). If you're\n using VPC endpoints, your source and destination buckets should be in the same\n Amazon Web Services Region as your VPC endpoint.

                                \n
                              • \n
                              \n
                              \n

                              Both the Region that you want to copy the object from and the Region that you want to\n copy the object to must be enabled for your account. For more information about how to\n enable a Region for your account, see Enable or disable a Region for standalone accounts in the Amazon Web Services\n Account Management Guide.

                              \n \n

                              Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

                              \n
                              \n
                              \n
                              Authentication and authorization
                              \n
                              \n

                              All CopyObject requests must be authenticated and signed by using\n IAM credentials (access key ID and secret access key for the IAM identities).\n All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see\n REST Authentication.

                              \n

                              \n Directory buckets - You must use the\n IAM credentials to authenticate and authorize your access to the\n CopyObject API operation, instead of using the temporary security\n credentials through the CreateSession API operation.

                              \n

                              Amazon Web Services CLI or SDKs handles authentication and authorization on your\n behalf.

                              \n
                              \n
                              Permissions
                              \n
                              \n

                              You must have read access to the source object and\n write access to the destination bucket.

                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - You\n must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

                                \n
                                  \n
                                • \n

                                  If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

                                  \n
                                • \n
                                • \n

                                  If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the\n source and destination bucket types in a CopyObject\n operation.

                                \n
                                  \n
                                • \n

                                  If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By\n default, the session is in the ReadWrite mode. If you\n want to restrict the access, you can explicitly set the\n s3express:SessionMode condition key to\n ReadOnly on the copy source bucket.

                                  \n
                                • \n
                                • \n

                                  If the copy destination is a directory bucket, you must have the\n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the\n destination. The s3express:SessionMode condition key\n can't be set to ReadOnly on the copy destination bucket.\n

                                  \n
                                • \n
                                \n

                                If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

                                \n

                                For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for\n S3 Express One Zone in the Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n
                              Response and special errors
                              \n
                              \n

                              When the request is an HTTP 1.1 request, the response is chunk encoded. When\n the request is not an HTTP 1.1 request, the response would not contain the\n Content-Length. You always need to read the entire response body\n to check if the copy succeeds.

                              \n
                                \n
                              • \n

                                If the copy is successful, you receive a response with information about\n the copied object.

                                \n
                              • \n
                              • \n

                                A copy request might return an error when Amazon S3 receives the copy request\n or while Amazon S3 is copying the files. A 200 OK response can\n contain either a success or an error.

                                \n
                                  \n
                                • \n

                                  If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

                                  \n
                                • \n
                                • \n

                                  If the error occurs during the copy operation, the error response\n is embedded in the 200 OK response. For example, in a\n cross-region copy, you may encounter throttling and receive a\n 200 OK response. For more information, see Resolve the Error 200 response when copying objects to\n Amazon S3. The 200 OK status code means the copy\n was accepted, but it doesn't mean the copy is complete. Another\n example is when you disconnect from Amazon S3 before the copy is complete,\n Amazon S3 might cancel the copy and you may receive a 200 OK\n response. You must stay connected to Amazon S3 until the entire response is\n successfully received and processed.

                                  \n

                                  If you call this API operation directly, make sure to design your\n application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The\n SDKs detect the embedded error and apply error handling per your\n configuration settings (including automatically retrying the request\n as appropriate). If the condition persists, the SDKs throw an\n exception (or, for the SDKs that don't use exceptions, they return an\n error).

                                  \n
                                • \n
                                \n
                              • \n
                              \n
                              \n
                              Charge
                              \n
                              \n

                              The copy request charge is based on the storage class and Region that you\n specify for the destination object. The request can also result in a data\n retrieval charge for the source if the source storage class bills for data\n retrieval. If the copy source is in a different region, the data transfer is\n billed to the copy source account. For pricing information, see Amazon S3 pricing.

                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n
                                \n
                              • \n

                                \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                                \n
                              • \n
                              • \n

                                \n Amazon S3 on Outposts - When you use this action with S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the \n form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

                                \n
                              • \n
                              \n
                              \n
                              \n

                              The following operations are related to CopyObject:

                              \n ", "smithy.api#examples": [ { "title": "To copy an object", @@ -22868,7 +22874,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

                              This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

                              \n
                              \n

                              Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services\n Access Key ID to authenticate requests. Anonymous requests are never allowed to create\n buckets. By creating the bucket, you become the bucket owner.

                              \n

                              There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

                              \n \n
                                \n
                              • \n

                                \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global\n endpoint, the request goes to the us-east-1 Region. So the signature\n calculations in Signature Version 4 must use us-east-1 as the Region,\n even if the location constraint in the request specifies another Region where the\n bucket is to be created. If you create a bucket in a Region other than US East (N.\n Virginia), your application must be able to handle 307 redirect. For more\n information, see Virtual hosting of\n buckets in the Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - In\n addition to the s3:CreateBucket permission, the following\n permissions are required in a policy when your CreateBucket\n request includes specific headers:

                                \n
                                  \n
                                • \n

                                  \n Access control lists (ACLs)\n - In your CreateBucket request, if you specify an\n access control list (ACL) and set it to public-read,\n public-read-write, authenticated-read, or\n if you explicitly specify any other custom ACLs, both\n s3:CreateBucket and s3:PutBucketAcl\n permissions are required. In your CreateBucket request,\n if you set the ACL to private, or if you don't specify\n any ACLs, only the s3:CreateBucket permission is\n required.

                                  \n
                                • \n
                                • \n

                                  \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are\n required.

                                  \n
                                • \n
                                • \n

                                  \n S3 Object Ownership - If\n your CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is\n required.

                                  \n \n

                                  To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

                                  \n

                                  For the majority of modern use cases in S3, we recommend that\n you keep all Block Public Access settings enabled and keep ACLs\n disabled. If you would like to share data with users outside of\n your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

                                  \n
                                  \n
                                • \n
                                • \n

                                  \n S3 Block Public Access - If\n your specific use case requires granting public access to your S3\n resources, you can disable Block Public Access. Specifically, you can\n create a new bucket with Block Public Access enabled, then separately\n call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more\n information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions -\n You must have the s3express:CreateBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

                                \n \n

                                The permissions for ACLs, Object Lock, S3 Object Ownership, and S3\n Block Public Access are not supported for directory buckets. For\n directory buckets, all Block Public Access settings are enabled at the\n bucket level and S3 Object Ownership is set to Bucket owner enforced\n (ACLs disabled). These settings can't be modified.

                                \n

                                For more information about permissions for creating and working with\n directory buckets, see Directory buckets in the\n Amazon S3 User Guide. For more information about\n supported S3 features for directory buckets, see Features of S3 Express One Zone in the\n Amazon S3 User Guide.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to CreateBucket:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

                              \n
                              \n

                              Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services\n Access Key ID to authenticate requests. Anonymous requests are never allowed to create\n buckets. By creating the bucket, you become the bucket owner.

                              \n

                              There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

                              \n \n
                                \n
                              • \n

                                \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global\n endpoint, the request goes to the us-east-1 Region. So the signature\n calculations in Signature Version 4 must use us-east-1 as the Region,\n even if the location constraint in the request specifies another Region where the\n bucket is to be created. If you create a bucket in a Region other than US East (N.\n Virginia), your application must be able to handle 307 redirect. For more\n information, see Virtual hosting of\n buckets in the Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - In\n addition to the s3:CreateBucket permission, the following\n permissions are required in a policy when your CreateBucket\n request includes specific headers:

                                \n
                                  \n
                                • \n

                                  \n Access control lists (ACLs)\n - In your CreateBucket request, if you specify an\n access control list (ACL) and set it to public-read,\n public-read-write, authenticated-read, or\n if you explicitly specify any other custom ACLs, both\n s3:CreateBucket and s3:PutBucketAcl\n permissions are required. In your CreateBucket request,\n if you set the ACL to private, or if you don't specify\n any ACLs, only the s3:CreateBucket permission is\n required.

                                  \n
                                • \n
                                • \n

                                  \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are\n required.

                                  \n
                                • \n
                                • \n

                                  \n S3 Object Ownership - If\n your CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is\n required.

                                  \n \n

                                  To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

                                  \n

                                  For the majority of modern use cases in S3, we recommend that\n you keep all Block Public Access settings enabled and keep ACLs\n disabled. If you would like to share data with users outside of\n your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

                                  \n
                                  \n
                                • \n
                                • \n

                                  \n S3 Block Public Access - If\n your specific use case requires granting public access to your S3\n resources, you can disable Block Public Access. Specifically, you can\n create a new bucket with Block Public Access enabled, then separately\n call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more\n information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions -\n You must have the s3express:CreateBucket permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

                                \n \n

                                The permissions for ACLs, Object Lock, S3 Object Ownership, and S3\n Block Public Access are not supported for directory buckets. For\n directory buckets, all Block Public Access settings are enabled at the\n bucket level and S3 Object Ownership is set to Bucket owner enforced\n (ACLs disabled). These settings can't be modified.

                                \n

                                For more information about permissions for creating and working with\n directory buckets, see Directory buckets in the\n Amazon S3 User Guide. For more information about\n supported S3 features for directory buckets, see Features of S3 Express One Zone in the\n Amazon S3 User Guide.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to CreateBucket:

                              \n ", "smithy.api#examples": [ { "title": "To create a bucket in a specific region", @@ -23116,7 +23122,7 @@ "target": "com.amazonaws.s3#CreateMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

                              This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload request.\n For more information about multipart uploads, see Multipart Upload Overview in the\n Amazon S3 User Guide.

                              \n \n

                              After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stops charging you for\n storing them only after you either complete or abort a multipart upload.

                              \n
                              \n

                              If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n created multipart upload must be completed within the number of days specified in the\n bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible\n for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle\n Configuration.

                              \n \n
                                \n
                              • \n

                                \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n
                              \n
                              Request signing
                              \n
                              \n

                              For request signing, multipart upload is just a series of regular requests. You\n initiate a multipart upload, send one or more requests to upload parts, and then\n complete the multipart upload process. You sign each request individually. There\n is nothing special about signing multipart upload requests. For more information\n about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the\n Amazon S3 User Guide.

                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service (KMS)\n KMS key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey actions on\n the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from the\n encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and permissions and Protecting data\n using server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n
                              • \n
                              \n
                              \n
                              Encryption
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose buckets - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n Amazon S3 automatically encrypts all new objects that are uploaded to an S3\n bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is\n set to the default encryption configuration of the destination bucket. By\n default, all buckets have a base level of encryption configuration that uses\n server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination\n bucket has a default encryption configuration that uses server-side\n encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a\n customer-provided key to encrypt the uploaded parts. When you perform a\n CreateMultipartUpload operation, if you want to use a different type of\n encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed\n key, a KMS key, or a customer-provided key). When the encryption setting\n in your request is different from the default encryption configuration of\n the destination bucket, the encryption setting in your request takes\n precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and\n UploadPartCopy\n requests must match the headers you used in the\n CreateMultipartUpload request.

                                \n
                                  \n
                                • \n

                                  Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key\n (aws/s3) and KMS customer managed keys stored in Key Management Service\n (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data,\n specify the following headers in the request.

                                  \n
                                    \n
                                  • \n

                                    \n x-amz-server-side-encryption\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-aws-kms-key-id\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-context\n

                                    \n
                                  • \n
                                  \n \n
                                    \n
                                  • \n

                                    If you specify\n x-amz-server-side-encryption:aws:kms, but\n don't provide\n x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in\n KMS to protect the data.

                                    \n
                                  • \n
                                  • \n

                                    To perform a multipart upload with encryption by using an\n Amazon Web Services KMS key, the requester must have permission to the\n kms:Decrypt and\n kms:GenerateDataKey* actions on the key.\n These permissions are required because Amazon S3 must decrypt and\n read data from the encrypted file parts before it completes\n the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services\n KMS in the\n Amazon S3 User Guide.

                                    \n
                                  • \n
                                  • \n

                                    If your Identity and Access Management (IAM) user or role is in the same\n Amazon Web Services account as the KMS key, then you must have these\n permissions on the key policy. If your IAM user or role is\n in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or\n role.

                                    \n
                                  • \n
                                  • \n

                                    All GET and PUT requests for an\n object protected by KMS fail if you don't make them by\n using Secure Sockets Layer (SSL), Transport Layer Security\n (TLS), or Signature Version 4. For information about\n configuring any of the officially supported Amazon Web Services SDKs and\n Amazon Web Services CLI, see Specifying the Signature Version in\n Request Authentication in the\n Amazon S3 User Guide.

                                    \n
                                  • \n
                                  \n
                                  \n

                                  For more information about server-side encryption with KMS keys\n (SSE-KMS), see Protecting\n Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

                                  \n
                                • \n
                                • \n

                                  Use customer-provided encryption keys (SSE-C) – If you want to\n manage your own encryption keys, provide all the following headers in\n the request.

                                  \n
                                    \n
                                  • \n

                                    \n x-amz-server-side-encryption-customer-algorithm\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-customer-key\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-customer-key-MD5\n

                                    \n
                                  • \n
                                  \n

                                  For more information about server-side encryption with\n customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with\n customer-provided encryption keys (SSE-C) in the\n Amazon S3 User Guide.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

                                \n

                                In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

                                \n \n

                                When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

                                \n
                                \n \n

                                For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to CreateMultipartUpload:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n

                              This action initiates a multipart upload and returns an upload ID. This upload ID is\n used to associate all of the parts in the specific multipart upload. You specify this\n upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n upload ID in the final request to either complete or abort the multipart upload request.\n For more information about multipart uploads, see Multipart Upload Overview in the\n Amazon S3 User Guide.

                              \n \n

                              After you initiate a multipart upload and upload one or more parts, to stop being\n charged for storing the uploaded parts, you must either complete or abort the multipart\n upload. Amazon S3 frees up the space used to store the parts and stops charging you for\n storing them only after you either complete or abort a multipart upload.

                              \n
                              \n

                              If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n created multipart upload must be completed within the number of days specified in the\n bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible\n for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle\n Configuration.

                              \n \n
                                \n
                              • \n

                                \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n
                              \n
                              Request signing
                              \n
                              \n

                              For request signing, multipart upload is just a series of regular requests. You\n initiate a multipart upload, send one or more requests to upload parts, and then\n complete the multipart upload process. You sign each request individually. There\n is nothing special about signing multipart upload requests. For more information\n about signing, see Authenticating\n Requests (Amazon Web Services Signature Version 4) in the\n Amazon S3 User Guide.

                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - To\n perform a multipart upload with encryption using an Key Management Service (KMS)\n KMS key, the requester must have permission to the\n kms:Decrypt and kms:GenerateDataKey actions on\n the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs\n permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These\n permissions are required because Amazon S3 must decrypt and read data from the\n encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and permissions and Protecting data\n using server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n
                              • \n
                              \n
                              \n
                              Encryption
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose buckets - Server-side\n encryption is for data encryption at rest. Amazon S3 encrypts your data as it\n writes it to disks in its data centers and decrypts it when you access it.\n Amazon S3 automatically encrypts all new objects that are uploaded to an S3\n bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is\n set to the default encryption configuration of the destination bucket. By\n default, all buckets have a base level of encryption configuration that uses\n server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination\n bucket has a default encryption configuration that uses server-side\n encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a\n customer-provided key to encrypt the uploaded parts. When you perform a\n CreateMultipartUpload operation, if you want to use a different type of\n encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed\n key, a KMS key, or a customer-provided key). When the encryption setting\n in your request is different from the default encryption configuration of\n the destination bucket, the encryption setting in your request takes\n precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and\n UploadPartCopy\n requests must match the headers you used in the\n CreateMultipartUpload request.

                                \n
                                  \n
                                • \n

                                  Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key\n (aws/s3) and KMS customer managed keys stored in Key Management Service\n (KMS) – If you want Amazon Web Services to manage the keys used to encrypt data,\n specify the following headers in the request.

                                  \n
                                    \n
                                  • \n

                                    \n x-amz-server-side-encryption\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-aws-kms-key-id\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-context\n

                                    \n
                                  • \n
                                  \n \n
                                    \n
                                  • \n

                                    If you specify\n x-amz-server-side-encryption:aws:kms, but\n don't provide\n x-amz-server-side-encryption-aws-kms-key-id,\n Amazon S3 uses the Amazon Web Services managed key (aws/s3 key) in\n KMS to protect the data.

                                    \n
                                  • \n
                                  • \n

                                    To perform a multipart upload with encryption by using an\n Amazon Web Services KMS key, the requester must have permission to the\n kms:Decrypt and\n kms:GenerateDataKey* actions on the key.\n These permissions are required because Amazon S3 must decrypt and\n read data from the encrypted file parts before it completes\n the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services\n KMS in the\n Amazon S3 User Guide.

                                    \n
                                  • \n
                                  • \n

                                    If your Identity and Access Management (IAM) user or role is in the same\n Amazon Web Services account as the KMS key, then you must have these\n permissions on the key policy. If your IAM user or role is\n in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or\n role.

                                    \n
                                  • \n
                                  • \n

                                    All GET and PUT requests for an\n object protected by KMS fail if you don't make them by\n using Secure Sockets Layer (SSL), Transport Layer Security\n (TLS), or Signature Version 4. For information about\n configuring any of the officially supported Amazon Web Services SDKs and\n Amazon Web Services CLI, see Specifying the Signature Version in\n Request Authentication in the\n Amazon S3 User Guide.

                                    \n
                                  • \n
                                  \n
                                  \n

                                  For more information about server-side encryption with KMS keys\n (SSE-KMS), see Protecting\n Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

                                  \n
                                • \n
                                • \n

                                  Use customer-provided encryption keys (SSE-C) – If you want to\n manage your own encryption keys, provide all the following headers in\n the request.

                                  \n
                                    \n
                                  • \n

                                    \n x-amz-server-side-encryption-customer-algorithm\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-customer-key\n

                                    \n
                                  • \n
                                  • \n

                                    \n x-amz-server-side-encryption-customer-key-MD5\n

                                    \n
                                  • \n
                                  \n

                                  For more information about server-side encryption with\n customer-provided encryption keys (SSE-C), see Protecting data using server-side encryption with\n customer-provided encryption keys (SSE-C) in the\n Amazon S3 User Guide.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

                                \n

                                In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

                                \n \n

                                When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

                                \n
                                \n \n

                                For directory buckets, when you perform a\n CreateMultipartUpload operation and an\n UploadPartCopy operation, the request headers you provide\n in the CreateMultipartUpload request must match the default\n encryption configuration of the destination bucket.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to CreateMultipartUpload:

                              \n ", "smithy.api#examples": [ { "title": "To initiate a multipart upload", @@ -23917,6 +23923,13 @@ "smithy.api#httpQuery": "id", "smithy.api#required": {} } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } } }, "traits": { @@ -25692,7 +25705,7 @@ "target": "com.amazonaws.s3#GetBucketAclOutput" }, "traits": { - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              This implementation of the GET action uses the acl subresource\n to return the access control list (ACL) of a bucket. To use GET to return the\n ACL of the bucket, you must have the READ_ACP access to the bucket. If\n READ_ACP permission is granted to the anonymous user, you can return the\n ACL of the bucket without using an authorization header.

                              \n

                              When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

                              \n

                              When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

                              \n \n

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership,\n requests to read ACLs are still supported and return the\n bucket-owner-full-control ACL with the owner being the account that\n created the bucket. For more information, see Controlling object\n ownership and disabling ACLs in the\n Amazon S3 User Guide.

                              \n
                              \n

                              The following operations are related to GetBucketAcl:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              This implementation of the GET action uses the acl subresource\n to return the access control list (ACL) of a bucket. To use GET to return the\n ACL of the bucket, you must have the READ_ACP access to the bucket. If\n READ_ACP permission is granted to the anonymous user, you can return the\n ACL of the bucket without using an authorization header.

                              \n

                              When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

                              \n

                              When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

                              \n \n

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership,\n requests to read ACLs are still supported and return the\n bucket-owner-full-control ACL with the owner being the account that\n created the bucket. For more information, see Controlling object\n ownership and disabling ACLs in the\n Amazon S3 User Guide.

                              \n
                              \n

                              The following operations are related to GetBucketAcl:

                              \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?acl", @@ -26034,6 +26047,13 @@ "smithy.api#httpQuery": "id", "smithy.api#required": {} } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } } }, "traits": { @@ -26292,7 +26312,7 @@ "target": "com.amazonaws.s3#GetBucketLoggingOutput" }, "traits": { - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns the logging status of a bucket and the permissions users have to view and modify\n that status.

                              \n

                              The following operations are related to GetBucketLogging:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns the logging status of a bucket and the permissions users have to view and modify\n that status.

                              \n

                              The following operations are related to GetBucketLogging:

                              \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?logging", @@ -26562,7 +26582,7 @@ "target": "com.amazonaws.s3#GetBucketOwnershipControlsOutput" }, "traits": { - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you\n must have the s3:GetBucketOwnershipControls permission. For more information\n about Amazon S3 permissions, see Specifying permissions in a\n policy.

                              \n

                              For information about Amazon S3 Object Ownership, see Using Object\n Ownership.

                              \n

                              The following operations are related to GetBucketOwnershipControls:

                              \n ", + "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you\n must have the s3:GetBucketOwnershipControls permission. For more information\n about Amazon S3 permissions, see Specifying permissions in a\n policy.

                              \n \n

                              A bucket doesn't have OwnershipControls settings in the following cases:

                              \n
                                \n
                              • \n

                                The bucket was created before the BucketOwnerEnforced ownership setting was introduced and you've never explicitly applied this value

                                \n
                              • \n
                              • \n

                                You've manually deleted the bucket ownership control value using the DeleteBucketOwnershipControls API operation.

                                \n
                              • \n
                              \n

                              By default, Amazon S3 sets OwnershipControls for all newly created buckets.

                              \n
                              \n

                              For information about Amazon S3 Object Ownership, see Using Object\n Ownership.

                              \n

                              The following operations are related to GetBucketOwnershipControls:

                              \n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?ownershipControls", @@ -27530,7 +27550,7 @@ "Parts": { "target": "com.amazonaws.s3#PartsList", "traits": { - "smithy.api#documentation": "

                              A container for elements related to a particular part. A response can contain zero or\n more Parts elements.

                              \n \n
                                \n
                              • \n

                                \n General purpose buckets - For\n GetObjectAttributes, if a additional checksum (including\n x-amz-checksum-crc32, x-amz-checksum-crc32c,\n x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't\n applied to the object specified in the request, the response doesn't return\n Part.

                                \n
                              • \n
                              • \n

                                \n Directory buckets - For\n GetObjectAttributes, no matter whether a additional checksum is\n applied to the object specified in the request, the response returns\n Part.

                                \n
                              • \n
                              \n
                              ", + "smithy.api#documentation": "

                              A container for elements related to a particular part. A response can contain zero or\n more Parts elements.

                              \n \n
                                \n
                              • \n

                                \n General purpose buckets - For\n GetObjectAttributes, if an additional checksum (including\n x-amz-checksum-crc32, x-amz-checksum-crc32c,\n x-amz-checksum-sha1, or x-amz-checksum-sha256) isn't\n applied to the object specified in the request, the response doesn't return\n the Part element.

                                \n
                              • \n
                              • \n

                                \n Directory buckets - For\n GetObjectAttributes, regardless of whether an additional checksum is\n applied to the object specified in the request, the response returns\n the Part element.

                                \n
                              • \n
                              \n
                              ", "smithy.api#xmlFlattened": {}, "smithy.api#xmlName": "Part" } @@ -29106,6 +29126,13 @@ "smithy.api#httpHeader": "x-amz-mp-parts-count" } }, + "TagCount": { + "target": "com.amazonaws.s3#TagCount", + "traits": { + "smithy.api#documentation": "

                              The number of tags, if any, on the object, when you have the relevant permission to read\n object tags.

                              \n

                              You can use GetObjectTagging to retrieve\n the tag set associated with an object.

                              \n \n

                              This functionality is not supported for directory buckets.

                              \n
                              ", + "smithy.api#httpHeader": "x-amz-tagging-count" + } + }, "ObjectLockMode": { "target": "com.amazonaws.s3#ObjectLockMode", "traits": { @@ -29306,6 +29333,15 @@ "com.amazonaws.s3#ID": { "type": "string" }, + "com.amazonaws.s3#IdempotencyParameterMismatch": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Parameters on this idempotent request are inconsistent with parameters used in previous request(s).\n

                              \n

                              For a list of error codes and more information on Amazon S3 errors, see Error\n codes.

                              \n \n

                              Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

                              \n
                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.s3#IfMatch": { "type": "string" }, @@ -30347,6 +30383,13 @@ "smithy.api#documentation": "

                              The ContinuationToken that represents a placeholder from where this request\n should begin.

                              ", "smithy.api#httpQuery": "continuation-token" } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } } }, "traits": { @@ -30537,7 +30580,7 @@ "target": "com.amazonaws.s3#ListBucketsOutput" }, "traits": { - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use\n this operation, you must add the s3:ListAllMyBuckets policy action.

                              \n

                              For information about Amazon S3 buckets, see Creating, configuring, and\n working with Amazon S3 buckets.

                              \n \n

                              We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for \n Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved \n general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. \n All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota \n greater than 10,000.

                              \n
                              ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use\n this operation, you must add the s3:ListAllMyBuckets policy action.

                              \n

                              For information about Amazon S3 buckets, see Creating, configuring, and\n working with Amazon S3 buckets.

                              \n \n

                              We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for \n Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved \n general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. \n All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota \n greater than 10,000.

                              \n
                              ", "smithy.api#examples": [ { "title": "To list all buckets", @@ -30726,7 +30769,7 @@ "target": "com.amazonaws.s3#ListMultipartUploadsOutput" }, "traits": { - "smithy.api#documentation": "

                              This operation lists in-progress multipart uploads in a bucket. An in-progress multipart\n upload is a multipart upload that has been initiated by the\n CreateMultipartUpload request, but has not yet been completed or\n aborted.

                              \n \n

                              \n Directory buckets - If multipart uploads in\n a directory bucket are in progress, you can't delete the bucket until all the\n in-progress multipart uploads are aborted or completed. To delete these in-progress\n multipart uploads, use the ListMultipartUploads operation to list the\n in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

                              \n
                              \n

                              The ListMultipartUploads operation returns a maximum of 1,000 multipart\n uploads in the response. The limit of 1,000 multipart uploads is also the default value.\n You can further limit the number of uploads in a response by specifying the\n max-uploads request parameter. If there are more than 1,000 multipart\n uploads that satisfy your ListMultipartUploads request, the response returns\n an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To\n list the remaining multipart uploads, you need to make subsequent\n ListMultipartUploads requests. In these requests, include two query\n parameters: key-marker and upload-id-marker. Set the value of\n key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

                              \n \n

                              \n Directory buckets - The\n upload-id-marker element and the NextUploadIdMarker element\n aren't supported by directory buckets. To list the additional multipart uploads, you\n only need to set the value of key-marker to the NextKeyMarker\n value from the previous response.

                              \n
                              \n

                              For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

                              \n \n

                              \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n
                              • \n
                              \n
                              \n
                              Sorting of multipart uploads in response
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are\n sorted based on two criteria:

                                \n
                                  \n
                                • \n

                                  Key-based sorting - Multipart uploads are initially sorted\n in ascending order based on their object keys.

                                  \n
                                • \n
                                • \n

                                  Time-based sorting - For uploads that share the same object\n key, they are further sorted in ascending order based on the upload\n initiation time. Among uploads with the same key, the one that was\n initiated first will appear before the ones that were initiated\n later.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't\n sorted lexicographically based on the object keys.\n \n

                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to ListMultipartUploads:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n

                              This operation lists in-progress multipart uploads in a bucket. An in-progress multipart\n upload is a multipart upload that has been initiated by the\n CreateMultipartUpload request, but has not yet been completed or\n aborted.

                              \n \n

                              \n Directory buckets - If multipart uploads in\n a directory bucket are in progress, you can't delete the bucket until all the\n in-progress multipart uploads are aborted or completed. To delete these in-progress\n multipart uploads, use the ListMultipartUploads operation to list the\n in-progress multipart uploads in the bucket and use the\n AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

                              \n
                              \n

                              The ListMultipartUploads operation returns a maximum of 1,000 multipart\n uploads in the response. The limit of 1,000 multipart uploads is also the default value.\n You can further limit the number of uploads in a response by specifying the\n max-uploads request parameter. If there are more than 1,000 multipart\n uploads that satisfy your ListMultipartUploads request, the response returns\n an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To\n list the remaining multipart uploads, you need to make subsequent\n ListMultipartUploads requests. In these requests, include two query\n parameters: key-marker and upload-id-marker. Set the value of\n key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

                              \n \n

                              \n Directory buckets - The\n upload-id-marker element and the NextUploadIdMarker element\n aren't supported by directory buckets. To list the additional multipart uploads, you\n only need to set the value of key-marker to the NextKeyMarker\n value from the previous response.

                              \n
                              \n

                              For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

                              \n \n

                              \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n
                              • \n
                              \n
                              \n
                              Sorting of multipart uploads in response
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are\n sorted based on two criteria:

                                \n
                                  \n
                                • \n

                                  Key-based sorting - Multipart uploads are initially sorted\n in ascending order based on their object keys.

                                  \n
                                • \n
                                • \n

                                  Time-based sorting - For uploads that share the same object\n key, they are further sorted in ascending order based on the upload\n initiation time. Among uploads with the same key, the one that was\n initiated first will appear before the ones that were initiated\n later.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't\n sorted lexicographically based on the object keys.\n \n

                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to ListMultipartUploads:

                              \n ", "smithy.api#examples": [ { "title": "List next set of multipart uploads when previous result is truncated", @@ -30999,7 +31042,7 @@ "target": "com.amazonaws.s3#ListObjectVersionsOutput" }, "traits": { - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns metadata about all versions of the objects in a bucket. You can also use request\n parameters as selection criteria to return metadata about a subset of all the object\n versions.

                              \n \n

                              To use this operation, you must have permission to perform the\n s3:ListBucketVersions action. Be aware of the name difference.

                              \n
                              \n \n

                              A 200 OK response can contain valid or invalid XML. Make sure to design\n your application to parse the contents of the response and handle it\n appropriately.

                              \n
                              \n

                              To use this operation, you must have READ access to the bucket.

                              \n

                              The following operations are related to ListObjectVersions:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns metadata about all versions of the objects in a bucket. You can also use request\n parameters as selection criteria to return metadata about a subset of all the object\n versions.

                              \n \n

                              To use this operation, you must have permission to perform the\n s3:ListBucketVersions action. Be aware of the name difference.

                              \n
                              \n \n

                              A 200 OK response can contain valid or invalid XML. Make sure to design\n your application to parse the contents of the response and handle it\n appropriately.

                              \n
                              \n

                              To use this operation, you must have READ access to the bucket.

                              \n

                              The following operations are related to ListObjectVersions:

                              \n ", "smithy.api#examples": [ { "title": "To list object versions", @@ -31242,7 +31285,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK\n response can contain valid or invalid XML. Be sure to design your application to parse the\n contents of the response and handle it appropriately.

                              \n \n

                              This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility,\n Amazon S3 continues to support ListObjects.

                              \n
                              \n

                              The following operations are related to ListObjects:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK\n response can contain valid or invalid XML. Be sure to design your application to parse the\n contents of the response and handle it appropriately.

                              \n \n

                              This action has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility,\n Amazon S3 continues to support ListObjects.

                              \n
                              \n

                              The following operations are related to ListObjects:

                              \n ", "smithy.api#examples": [ { "title": "To list objects in a bucket", @@ -31564,7 +31607,7 @@ "ContinuationToken": { "target": "com.amazonaws.s3#Token", "traits": { - "smithy.api#documentation": "

                              If ContinuationToken was sent with the request, it is included in the\n response. You can use the returned ContinuationToken for pagination of the\n list response. You can use this ContinuationToken for pagination of the list\n results.

                              " + "smithy.api#documentation": "

                              If ContinuationToken was sent with the request, it is included in the\n response. You can use the returned ContinuationToken for pagination of the\n list response.

                              " } }, "NextContinuationToken": { @@ -31692,7 +31735,7 @@ "target": "com.amazonaws.s3#ListPartsOutput" }, "traits": { - "smithy.api#documentation": "

                              Lists the parts that have been uploaded for a specific multipart upload.

                              \n

                              To use this operation, you must provide the upload ID in the request. You\n obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

                              \n

                              The ListParts request returns a maximum of 1,000 uploaded parts. The limit\n of 1,000 parts is also the default value. You can restrict the number of parts in a\n response by specifying the max-parts request parameter. If your multipart\n upload consists of more than 1,000 parts, the response returns an IsTruncated\n field with the value of true, and a NextPartNumberMarker element.\n To list remaining uploaded parts, in subsequent ListParts requests, include\n the part-number-marker query string parameter and set its value to the\n NextPartNumberMarker field value from the previous response.

                              \n

                              For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

                              \n \n

                              \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

                                \n

                                If the upload was created using server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the\n kms:Decrypt action for the ListParts request to\n succeed.

                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to ListParts:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n

                              Lists the parts that have been uploaded for a specific multipart upload.

                              \n

                              To use this operation, you must provide the upload ID in the request. You\n obtain this uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

                              \n

                              The ListParts request returns a maximum of 1,000 uploaded parts. The limit\n of 1,000 parts is also the default value. You can restrict the number of parts in a\n response by specifying the max-parts request parameter. If your multipart\n upload consists of more than 1,000 parts, the response returns an IsTruncated\n field with the value of true, and a NextPartNumberMarker element.\n To list remaining uploaded parts, in subsequent ListParts requests, include\n the part-number-marker query string parameter and set its value to the\n NextPartNumberMarker field value from the previous response.

                              \n

                              For more information on multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3 User Guide.

                              \n \n

                              \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - For\n information about permissions required to use the multipart upload API, see\n Multipart Upload and\n Permissions in the Amazon S3 User Guide.

                                \n

                                If the upload was created using server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the\n kms:Decrypt action for the ListParts request to\n succeed.

                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              The following operations are related to ListParts:

                              \n ", "smithy.api#examples": [ { "title": "To list parts of a multipart upload.", @@ -33229,7 +33272,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Container for the owner's display name and ID.

                              " + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n

                              Container for the owner's display name and ID.

                              " } }, "com.amazonaws.s3#OwnerOverride": { @@ -33652,7 +33695,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set the ACL of a\n bucket, you must have the WRITE_ACP permission.

                              \n

                              You can use one of the following two ways to set a bucket's permissions:

                              \n
                                \n
                              • \n

                                Specify the ACL in the request body

                                \n
                              • \n
                              • \n

                                Specify permissions using request headers

                                \n
                              • \n
                              \n \n

                              You cannot specify access permission using both the body and the request\n headers.

                              \n
                              \n

                              Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

                              \n \n

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n

                              You can set access permissions by using one of the following methods:

                              \n
                                \n
                              • \n

                                Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned\n ACLs. Each canned ACL has a predefined set of grantees and\n permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other\n access control-specific headers in your request. For more information, see\n Canned\n ACL.

                                \n
                              • \n
                              • \n

                                Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use the x-amz-acl header to set a canned\n ACL. These parameters map to the set of permissions that Amazon S3 supports in an\n ACL. For more information, see Access Control List (ACL)\n Overview.

                                \n

                                You specify each grantee as a type=value pair, where the type is one of\n the following:

                                \n
                                  \n
                                • \n

                                  \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

                                  \n
                                • \n
                                • \n

                                  \n uri – if you are granting permissions to a predefined\n group

                                  \n
                                • \n
                                • \n

                                  \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

                                  \n \n

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  \n
                                    \n
                                  • \n

                                    US East (N. Virginia)

                                    \n
                                  • \n
                                  • \n

                                    US West (N. California)

                                    \n
                                  • \n
                                  • \n

                                    US West (Oregon)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Singapore)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Sydney)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Tokyo)

                                    \n
                                  • \n
                                  • \n

                                    Europe (Ireland)

                                    \n
                                  • \n
                                  • \n

                                    South America (São Paulo)

                                    \n
                                  • \n
                                  \n

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                  \n
                                  \n
                                • \n
                                \n

                                For example, the following x-amz-grant-write header grants\n create, overwrite, and delete objects permission to LogDelivery group\n predefined by Amazon S3 and two Amazon Web Services accounts identified by their email\n addresses.

                                \n

                                \n x-amz-grant-write:\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\",\n id=\"555566667777\" \n

                                \n
                              • \n
                              \n

                              You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

                              \n
                              \n
                              Grantee Values
                              \n
                              \n

                              You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways:

                              \n
                                \n
                              • \n

                                By the person's ID:

                                \n

                                \n <>ID<><>GranteesEmail<>\n \n

                                \n

                                DisplayName is optional and ignored in the request

                                \n
                              • \n
                              • \n

                                By URI:

                                \n

                                \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                                \n
                              • \n
                              • \n

                                By Email address:

                                \n

                                \n <>Grantees@email.com<>&\n

                                \n

                                The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

                                \n \n

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                \n
                                  \n
                                • \n

                                  US East (N. Virginia)

                                  \n
                                • \n
                                • \n

                                  US West (N. California)

                                  \n
                                • \n
                                • \n

                                  US West (Oregon)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Singapore)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Sydney)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Tokyo)

                                  \n
                                • \n
                                • \n

                                  Europe (Ireland)

                                  \n
                                • \n
                                • \n

                                  South America (São Paulo)

                                  \n
                                • \n
                                \n

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              \n

                              The following operations are related to PutBucketAcl:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Sets the permissions on an existing bucket using access control lists (ACL). For more\n information, see Using ACLs. To set the ACL of a\n bucket, you must have the WRITE_ACP permission.

                              \n

                              You can use one of the following two ways to set a bucket's permissions:

                              \n
                                \n
                              • \n

                                Specify the ACL in the request body

                                \n
                              • \n
                              • \n

                                Specify permissions using request headers

                                \n
                              • \n
                              \n \n

                              You cannot specify access permission using both the body and the request\n headers.

                              \n
                              \n

                              Depending on your application needs, you may choose to set the ACL on a bucket using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, then you can continue to use that\n approach.

                              \n \n

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n

                              You can set access permissions by using one of the following methods:

                              \n
                                \n
                              • \n

                                Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned\n ACLs. Each canned ACL has a predefined set of grantees and\n permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other\n access control-specific headers in your request. For more information, see\n Canned\n ACL.

                                \n
                              • \n
                              • \n

                                Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use the x-amz-acl header to set a canned\n ACL. These parameters map to the set of permissions that Amazon S3 supports in an\n ACL. For more information, see Access Control List (ACL)\n Overview.

                                \n

                                You specify each grantee as a type=value pair, where the type is one of\n the following:

                                \n
                                  \n
                                • \n

                                  \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

                                  \n
                                • \n
                                • \n

                                  \n uri – if you are granting permissions to a predefined\n group

                                  \n
                                • \n
                                • \n

                                  \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

                                  \n \n

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  \n
                                    \n
                                  • \n

                                    US East (N. Virginia)

                                    \n
                                  • \n
                                  • \n

                                    US West (N. California)

                                    \n
                                  • \n
                                  • \n

                                    US West (Oregon)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Singapore)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Sydney)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Tokyo)

                                    \n
                                  • \n
                                  • \n

                                    Europe (Ireland)

                                    \n
                                  • \n
                                  • \n

                                    South America (São Paulo)

                                    \n
                                  • \n
                                  \n

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                  \n
                                  \n
                                • \n
                                \n

                                For example, the following x-amz-grant-write header grants\n create, overwrite, and delete objects permission to LogDelivery group\n predefined by Amazon S3 and two Amazon Web Services accounts identified by their email\n addresses.

                                \n

                                \n x-amz-grant-write:\n uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\",\n id=\"555566667777\" \n

                                \n
                              • \n
                              \n

                              You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

                              \n
                              \n
                              Grantee Values
                              \n
                              \n

                              You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways. For examples of how to specify these \n grantee values in JSON format, see the Amazon Web Services CLI example in \n Enabling Amazon S3 server access logging in the \n Amazon S3 User Guide.

                              \n
                                \n
                              • \n

                                By the person's ID:

                                \n

                                \n <>ID<><>GranteesEmail<>\n \n

                                \n

                                DisplayName is optional and ignored in the request

                                \n
                              • \n
                              • \n

                                By URI:

                                \n

                                \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                                \n
                              • \n
                              • \n

                                By Email address:

                                \n

                                \n <>Grantees@email.com<>&\n

                                \n

                                The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

                                \n \n

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                \n
                                  \n
                                • \n

                                  US East (N. Virginia)

                                  \n
                                • \n
                                • \n

                                  US West (N. California)

                                  \n
                                • \n
                                • \n

                                  US West (Oregon)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Singapore)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Sydney)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Tokyo)

                                  \n
                                • \n
                                • \n

                                  Europe (Ireland)

                                  \n
                                • \n
                                • \n

                                  South America (São Paulo)

                                  \n
                                • \n
                                \n

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              \n

                              The following operations are related to PutBucketAcl:

                              \n ", "smithy.api#examples": [ { "title": "Put bucket acl", @@ -34067,6 +34110,13 @@ "smithy.api#required": {} } }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3#AccountId", + "traits": { + "smithy.api#documentation": "

                              The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

                              ", + "smithy.api#httpHeader": "x-amz-expected-bucket-owner" + } + }, "IntelligentTieringConfiguration": { "target": "com.amazonaws.s3#IntelligentTieringConfiguration", "traits": { @@ -34277,7 +34327,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as\n the source bucket. To set the logging status of a bucket, you must be the bucket\n owner.

                              \n

                              The bucket owner is automatically granted FULL_CONTROL to all logs. You use the\n Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

                              \n \n

                              If the target bucket for log delivery uses the bucket owner enforced setting for S3\n Object Ownership, you can't use the Grantee request element to grant access\n to others. Permissions can only be granted using policies. For more information, see\n Permissions for server access log delivery in the\n Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Grantee Values
                              \n
                              \n

                              You can specify the person (grantee) to whom you're assigning access rights (by\n using request elements) in the following ways:

                              \n
                                \n
                              • \n

                                By the person's ID:

                                \n

                                \n <>ID<><>GranteesEmail<>\n \n

                                \n

                                \n DisplayName is optional and ignored in the request.

                                \n
                              • \n
                              • \n

                                By Email address:

                                \n

                                \n <>Grantees@email.com<>\n

                                \n

                                The grantee is resolved to the CanonicalUser and, in a\n response to a GETObjectAcl request, appears as the\n CanonicalUser.

                                \n
                              • \n
                              • \n

                                By URI:

                                \n

                                \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                                \n
                              • \n
                              \n
                              \n
                              \n

                              To enable logging, you use LoggingEnabled and its children request\n elements. To disable logging, you use an empty BucketLoggingStatus request\n element:

                              \n

                              \n \n

                              \n

                              For more information about server access logging, see Server Access Logging in the\n Amazon S3 User Guide.

                              \n

                              For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

                              \n

                              The following operations are related to PutBucketLogging:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n \n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Set the logging parameters for a bucket and to specify permissions for who can view and\n modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as\n the source bucket. To set the logging status of a bucket, you must be the bucket\n owner.

                              \n

                              The bucket owner is automatically granted FULL_CONTROL to all logs. You use the\n Grantee request element to grant access to other people. The\n Permissions request element specifies the kind of access the grantee has to\n the logs.

                              \n \n

                              If the target bucket for log delivery uses the bucket owner enforced setting for S3\n Object Ownership, you can't use the Grantee request element to grant access\n to others. Permissions can only be granted using policies. For more information, see\n Permissions for server access log delivery in the\n Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Grantee Values
                              \n
                              \n

                              You can specify the person (grantee) to whom you're assigning access rights (by\n using request elements) in the following ways. For examples of how to specify these \n grantee values in JSON format, see the Amazon Web Services CLI example in \n Enabling Amazon S3 server access logging in the \n Amazon S3 User Guide.

                              \n
                                \n
                              • \n

                                By the person's ID:

                                \n

                                \n <>ID<><>GranteesEmail<>\n \n

                                \n

                                \n DisplayName is optional and ignored in the request.

                                \n
                              • \n
                              • \n

                                By Email address:

                                \n

                                \n <>Grantees@email.com<>\n

                                \n

                                The grantee is resolved to the CanonicalUser and, in a\n response to a GETObjectAcl request, appears as the\n CanonicalUser.

                                \n
                              • \n
                              • \n

                                By URI:

                                \n

                                \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                                \n
                              • \n
                              \n
                              \n
                              \n

                              To enable logging, you use LoggingEnabled and its children request\n elements. To disable logging, you use an empty BucketLoggingStatus request\n element:

                              \n

                              \n \n

                              \n

                              For more information about server access logging, see Server Access Logging in the\n Amazon S3 User Guide.

                              \n

                              For more information about creating a bucket, see CreateBucket. For more\n information about returning the logging status of a bucket, see GetBucketLogging.

                              \n

                              The following operations are related to PutBucketLogging:

                              \n ", "smithy.api#examples": [ { "title": "Set logging configuration for a bucket", @@ -35176,7 +35226,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

                              Adds an object to a bucket.

                              \n \n
                                \n
                              • \n

                                Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added\n the entire object to the bucket. You cannot use PutObject to only\n update a single piece of metadata for an existing object. You must put the entire\n object with updated metadata if you want to update some values.

                                \n
                              • \n
                              • \n

                                If your bucket uses the bucket owner enforced setting for Object Ownership,\n ACLs are disabled and no longer affect permissions. All objects written to the\n bucket by any account will be owned by the bucket owner.

                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n

                              Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides\n features that can modify this behavior:

                              \n
                                \n
                              • \n

                                \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

                                \n \n

                                This functionality is not supported for directory buckets.

                                \n
                                \n
                              • \n
                              • \n

                                \n If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

                                \n

                                Expects the * character (asterisk).

                                \n

                                For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.\n

                                \n \n

                                This functionality is not supported for S3 on Outposts.

                                \n
                                \n
                              • \n
                              • \n

                                \n S3 Versioning - When you enable versioning\n for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is\n made to the same object, Amazon S3 automatically generates a unique version ID of that\n object being stored in Amazon S3. You can retrieve, replace, or delete any version of the\n object. For more information about versioning, see Adding\n Objects to Versioning-Enabled Buckets in the Amazon S3 User\n Guide. For information about returning the versioning state of a\n bucket, see GetBucketVersioning.

                                \n \n

                                This functionality is not supported for directory buckets.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n PutObject request includes specific headers.

                                \n
                                  \n
                                • \n

                                  \n \n s3:PutObject\n -\n To successfully complete the PutObject request, you must\n always have the s3:PutObject permission on a bucket to\n add an object to it.

                                  \n
                                • \n
                                • \n

                                  \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your\n PutObject request, you must have the\n s3:PutObjectAcl.

                                  \n
                                • \n
                                • \n

                                  \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your\n PutObject request, you must have the\n s3:PutObjectTagging.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n

                                If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

                                \n
                              • \n
                              \n
                              \n
                              Data integrity with Content-MD5
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket - To ensure that\n data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks\n the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest,\n you can calculate the MD5 while putting the object to Amazon S3 and compare the\n returned ETag to the calculated MD5 value.

                                \n
                              • \n
                              • \n

                                \n Directory bucket -\n This functionality is not supported for directory buckets.

                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              For more information about related Amazon S3 APIs, see the following:

                              \n ", + "smithy.api#documentation": "\n

                              End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

                              \n

                              This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

                              \n
                              \n

                              Adds an object to a bucket.

                              \n \n
                                \n
                              • \n

                                Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added\n the entire object to the bucket. You cannot use PutObject to only\n update a single piece of metadata for an existing object. You must put the entire\n object with updated metadata if you want to update some values.

                                \n
                              • \n
                              • \n

                                If your bucket uses the bucket owner enforced setting for Object Ownership,\n ACLs are disabled and no longer affect permissions. All objects written to the\n bucket by any account will be owned by the bucket owner.

                                \n
                              • \n
                              • \n

                                \n Directory buckets -\n For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

                                \n
                              • \n
                              \n
                              \n

                              Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides\n features that can modify this behavior:

                              \n
                                \n
                              • \n

                                \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

                                \n \n

                                This functionality is not supported for directory buckets.

                                \n
                                \n
                              • \n
                              • \n

                                \n If-None-Match - Uploads the object only if the object key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

                                \n

                                Expects the * character (asterisk).

                                \n

                                For more information, see Add preconditions to S3 operations with conditional requests in the Amazon S3 User Guide or RFC 7232.\n

                                \n \n

                                This functionality is not supported for S3 on Outposts.

                                \n
                                \n
                              • \n
                              • \n

                                \n S3 Versioning - When you enable versioning\n for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is\n made to the same object, Amazon S3 automatically generates a unique version ID of that\n object being stored in Amazon S3. You can retrieve, replace, or delete any version of the\n object. For more information about versioning, see Adding\n Objects to Versioning-Enabled Buckets in the Amazon S3 User\n Guide. For information about returning the versioning state of a\n bucket, see GetBucketVersioning.

                                \n \n

                                This functionality is not supported for directory buckets.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              Permissions
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket permissions - The\n following permissions are required in your policies when your\n PutObject request includes specific headers.

                                \n
                                  \n
                                • \n

                                  \n \n s3:PutObject\n -\n To successfully complete the PutObject request, you must\n always have the s3:PutObject permission on a bucket to\n add an object to it.

                                  \n
                                • \n
                                • \n

                                  \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your\n PutObject request, you must have the\n s3:PutObjectAcl.

                                  \n
                                • \n
                                • \n

                                  \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your\n PutObject request, you must have the\n s3:PutObjectTagging.

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

                                \n

                                If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions\n in IAM identity-based policies and KMS key policies for the KMS\n key.

                                \n
                              • \n
                              \n
                              \n
                              Data integrity with Content-MD5
                              \n
                              \n
                                \n
                              • \n

                                \n General purpose bucket - To ensure that\n data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks\n the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest,\n you can calculate the MD5 while putting the object to Amazon S3 and compare the\n returned ETag to the calculated MD5 value.

                                \n
                              • \n
                              • \n

                                \n Directory bucket -\n This functionality is not supported for directory buckets.

                                \n
                              • \n
                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              \n

                              For more information about related Amazon S3 APIs, see the following:

                              \n ", "smithy.api#examples": [ { "title": "To create an object.", @@ -35307,7 +35357,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have the WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

                              \n

                              This functionality is not supported for Amazon S3 on Outposts.

                              \n

                              Depending on your application needs, you can choose to set the ACL on an object using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, you can continue to use that approach.\n For more information, see Access Control List (ACL) Overview\n in the Amazon S3 User Guide.

                              \n \n

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n

                              You can set access permissions using one of the following methods:

                              \n
                                \n
                              • \n

                                Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has\n a predefined set of grantees and permissions. Specify the canned ACL name as\n the value of x-amz-acl. If you use this header, you cannot use\n other access control-specific headers in your request. For more information,\n see Canned\n ACL.

                                \n
                              • \n
                              • \n

                                Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use x-amz-acl header to set a canned ACL.\n These parameters map to the set of permissions that Amazon S3 supports in an ACL.\n For more information, see Access Control List (ACL)\n Overview.

                                \n

                                You specify each grantee as a type=value pair, where the type is one of\n the following:

                                \n
                                  \n
                                • \n

                                  \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

                                  \n
                                • \n
                                • \n

                                  \n uri – if you are granting permissions to a predefined\n group

                                  \n
                                • \n
                                • \n

                                  \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

                                  \n \n

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  \n
                                    \n
                                  • \n

                                    US East (N. Virginia)

                                    \n
                                  • \n
                                  • \n

                                    US West (N. California)

                                    \n
                                  • \n
                                  • \n

                                    US West (Oregon)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Singapore)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Sydney)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Tokyo)

                                    \n
                                  • \n
                                  • \n

                                    Europe (Ireland)

                                    \n
                                  • \n
                                  • \n

                                    South America (São Paulo)

                                    \n
                                  • \n
                                  \n

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                  \n
                                  \n
                                • \n
                                \n

                                For example, the following x-amz-grant-read header grants\n list objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

                                \n

                                \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

                                \n
                              • \n
                              \n

                              You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

                              \n
                              \n
                              Grantee Values
                              \n
                              \n

                              You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways:

                              \n
                                \n
                              • \n

                                By the person's ID:

                                \n

                                \n <>ID<><>GranteesEmail<>\n \n

                                \n

                                DisplayName is optional and ignored in the request.

                                \n
                              • \n
                              • \n

                                By URI:

                                \n

                                \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                                \n
                              • \n
                              • \n

                                By Email address:

                                \n

                                \n <>Grantees@email.com<>lt;/Grantee>\n

                                \n

                                The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

                                \n \n

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                \n
                                  \n
                                • \n

                                  US East (N. Virginia)

                                  \n
                                • \n
                                • \n

                                  US West (N. California)

                                  \n
                                • \n
                                • \n

                                  US West (Oregon)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Singapore)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Sydney)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Tokyo)

                                  \n
                                • \n
                                • \n

                                  Europe (Ireland)

                                  \n
                                • \n
                                • \n

                                  South America (São Paulo)

                                  \n
                                • \n
                                \n

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              Versioning
                              \n
                              \n

                              The ACL of an object is set at the object version level. By default, PUT sets\n the ACL of the current version of an object. To set the ACL of a different\n version, use the versionId subresource.

                              \n
                              \n
                              \n

                              The following operations are related to PutObjectAcl:

                              \n ", + "smithy.api#documentation": "\n

                              This operation is not supported for directory buckets.

                              \n
                              \n

                              Uses the acl subresource to set the access control list (ACL) permissions\n for a new or existing object in an S3 bucket. You must have the WRITE_ACP\n permission to set the ACL of an object. For more information, see What\n permissions can I grant? in the Amazon S3 User Guide.

                              \n

                              This functionality is not supported for Amazon S3 on Outposts.

                              \n

                              Depending on your application needs, you can choose to set the ACL on an object using\n either the request body or the headers. For example, if you have an existing application\n that updates a bucket ACL using the request body, you can continue to use that approach.\n For more information, see Access Control List (ACL) Overview\n in the Amazon S3 User Guide.

                              \n \n

                              If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs\n are disabled and no longer affect permissions. You must use policies to grant access to\n your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return\n the AccessControlListNotSupported error code. Requests to read ACLs are\n still supported. For more information, see Controlling object\n ownership in the Amazon S3 User Guide.

                              \n
                              \n
                              \n
                              Permissions
                              \n
                              \n

                              You can set access permissions using one of the following methods:

                              \n
                                \n
                              • \n

                                Specify a canned ACL with the x-amz-acl request header. Amazon S3\n supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has\n a predefined set of grantees and permissions. Specify the canned ACL name as\n the value of x-amz-acl. If you use this header, you cannot use\n other access control-specific headers in your request. For more information,\n see Canned\n ACL.

                                \n
                              • \n
                              • \n

                                Specify access permissions explicitly with the\n x-amz-grant-read, x-amz-grant-read-acp,\n x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers,\n you specify explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3\n groups) who will receive the permission. If you use these ACL-specific\n headers, you cannot use x-amz-acl header to set a canned ACL.\n These parameters map to the set of permissions that Amazon S3 supports in an ACL.\n For more information, see Access Control List (ACL)\n Overview.

                                \n

                                You specify each grantee as a type=value pair, where the type is one of\n the following:

                                \n
                                  \n
                                • \n

                                  \n id – if the value specified is the canonical user ID\n of an Amazon Web Services account

                                  \n
                                • \n
                                • \n

                                  \n uri – if you are granting permissions to a predefined\n group

                                  \n
                                • \n
                                • \n

                                  \n emailAddress – if the value specified is the email\n address of an Amazon Web Services account

                                  \n \n

                                  Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                  \n
                                    \n
                                  • \n

                                    US East (N. Virginia)

                                    \n
                                  • \n
                                  • \n

                                    US West (N. California)

                                    \n
                                  • \n
                                  • \n

                                    US West (Oregon)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Singapore)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Sydney)

                                    \n
                                  • \n
                                  • \n

                                    Asia Pacific (Tokyo)

                                    \n
                                  • \n
                                  • \n

                                    Europe (Ireland)

                                    \n
                                  • \n
                                  • \n

                                    South America (São Paulo)

                                    \n
                                  • \n
                                  \n

                                  For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                  \n
                                  \n
                                • \n
                                \n

                                For example, the following x-amz-grant-read header grants\n list objects permission to the two Amazon Web Services accounts identified by their email\n addresses.

                                \n

                                \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\",\n emailAddress=\"abc@amazon.com\" \n

                                \n
                              • \n
                              \n

                              You can use either a canned ACL or specify access permissions explicitly. You\n cannot do both.

                              \n
                              \n
                              Grantee Values
                              \n
                              \n

                              You can specify the person (grantee) to whom you're assigning access rights\n (using request elements) in the following ways. For examples of how to specify these \n grantee values in JSON format, see the Amazon Web Services CLI example in \n Enabling Amazon S3 server access logging in the \n Amazon S3 User Guide.

                              \n
                                \n
                              • \n

                                By the person's ID:

                                \n

                                \n <>ID<><>GranteesEmail<>\n \n

                                \n

                                DisplayName is optional and ignored in the request.

                                \n
                              • \n
                              • \n

                                By URI:

                                \n

                                \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

                                \n
                              • \n
                              • \n

                                By Email address:

                                \n

                                \n <>Grantees@email.com<>lt;/Grantee>\n

                                \n

                                The grantee is resolved to the CanonicalUser and, in a response to a GET\n Object acl request, appears as the CanonicalUser.

                                \n \n

                                Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

                                \n
                                  \n
                                • \n

                                  US East (N. Virginia)

                                  \n
                                • \n
                                • \n

                                  US West (N. California)

                                  \n
                                • \n
                                • \n

                                  US West (Oregon)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Singapore)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Sydney)

                                  \n
                                • \n
                                • \n

                                  Asia Pacific (Tokyo)

                                  \n
                                • \n
                                • \n

                                  Europe (Ireland)

                                  \n
                                • \n
                                • \n

                                  South America (São Paulo)

                                  \n
                                • \n
                                \n

                                For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

                                \n
                                \n
                              • \n
                              \n
                              \n
                              Versioning
                              \n
                              \n

                              The ACL of an object is set at the object version level. By default, PUT sets\n the ACL of the current version of an object. To set the ACL of a different\n version, use the versionId subresource.

                              \n
                              \n
                              \n

                              The following operations are related to PutObjectAcl:

                              \n ", "smithy.api#examples": [ { "title": "To grant permissions using object ACL", @@ -36558,6 +36608,161 @@ } } }, + "com.amazonaws.s3#RenameObject": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3#RenameObjectRequest" + }, + "output": { + "target": "com.amazonaws.s3#RenameObjectOutput" + }, + "errors": [ + { + "target": "com.amazonaws.s3#IdempotencyParameterMismatch" + } + ], + "traits": { + "smithy.api#documentation": "

                              Renames an existing object in a directory bucket that uses the S3 Express One Zone\n storage class. You can use RenameObject by specifying an existing object’s\n name as the source and the new name of the object as the destination within the same\n directory bucket.

                              \n \n

                              \n RenameObject is only supported for objects stored in the S3 Express One Zone\n storage class.

                              \n
                              \n

                              To prevent overwriting an object, you can use the If-None-Match conditional header.

                              \n
                                \n
                              • \n

                                \n If-None-Match - Renames the object only if\n an object with the specified name does not already exist in the directory bucket. If\n you don't want to overwrite an existing object, you can add the\n If-None-Match conditional header with the value ‘*’ in\n the RenameObject request. Amazon S3 then returns a 412 Precondition\n Failed error if the object with the specified name already exists. \n For more information, see RFC 7232.

                                \n
                              • \n
                              \n
                              \n
                              Permissions
                              \n
                              \n

                              To grant access to the RenameObject operation on a directory bucket, we recommend that you\n use the CreateSession operation for session-based authorization.\n Specifically, you grant the s3express:CreateSession permission to the\n directory bucket in a bucket policy or an IAM identity-based policy. Then, you\n make the CreateSession API call on the directory bucket to obtain a\n session token. With the session token in your request header, you can make API\n requests to this operation. After the session token expires, you make another\n CreateSession API call to generate a new session token for use.\n The Amazon Web Services CLI and SDKs will create and manage your session including refreshing\n the session token automatically to avoid service interruptions when a session\n expires. In your bucket policy, you can specify the\n s3express:SessionMode condition key to control who can create a\n ReadWrite or ReadOnly session. A\n ReadWrite session is required for executing all the Zonal endpoint\n API operations, including RenameObject. For more information about\n authorization, see \n CreateSession\n . To learn more about Zonal endpoint APT operations, see Authorizing Zonal endpoint API\n operations with CreateSession in the Amazon S3 User\n Guide.

                              \n
                              \n
                              HTTP Host header syntax
                              \n
                              \n

                              \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

                              \n
                              \n
                              ", + "smithy.api#http": { + "method": "PUT", + "uri": "/{Bucket}/{Key+}?renameObject", + "code": 200 + } + } + }, + "com.amazonaws.s3#RenameObjectOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3#RenameObjectRequest": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.s3#BucketName", + "traits": { + "smithy.api#documentation": "

                              The bucket name of the directory bucket containing the object.

                              \n

                              You must use virtual-hosted-style requests in the format\n Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. \n Directory bucket names must be unique in the chosen\n Availability Zone. Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example,\n amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket\n naming rules in the Amazon S3 User Guide.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + }, + "Key": { + "target": "com.amazonaws.s3#ObjectKey", + "traits": { + "smithy.api#documentation": "

                              Key name of the object to rename.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Key" + } + } + }, + "RenameSource": { + "target": "com.amazonaws.s3#RenameSource", + "traits": { + "smithy.api#documentation": "

                              Specifies the source for the rename operation. The value must be URL encoded.

                              ", + "smithy.api#httpHeader": "x-amz-rename-source", + "smithy.api#required": {} + } + }, + "DestinationIfMatch": { + "target": "com.amazonaws.s3#IfMatch", + "traits": { + "smithy.api#documentation": "

                              Renames the object only if the ETag (entity tag) value provided during the operation\n matches the ETag of the object in S3. The If-Match header field makes the\n request method conditional on ETags. If the ETag values do not match, the operation returns\n a 412 Precondition Failed error.

                              \n

                              Expects the ETag value as a string.

                              ", + "smithy.api#httpHeader": "If-Match" + } + }, + "DestinationIfNoneMatch": { + "target": "com.amazonaws.s3#IfNoneMatch", + "traits": { + "smithy.api#documentation": "

                              Renames the object only if the destination does not already exist in the specified\n directory bucket. If the object does exist when you send a request with\n If-None-Match:*, the S3 API will return a 412 Precondition\n Failed error, preventing an overwrite. The If-None-Match header\n prevents overwrites of existing data by validating that there's not an object with the same\n key name already in your directory bucket.

                              \n

                              Expects the * character (asterisk).

                              ", + "smithy.api#httpHeader": "If-None-Match" + } + }, + "DestinationIfModifiedSince": { + "target": "com.amazonaws.s3#IfModifiedSince", + "traits": { + "smithy.api#documentation": "

                              Renames the object if the destination exists and if it has been modified since the\n specified time.

                              ", + "smithy.api#httpHeader": "If-Modified-Since" + } + }, + "DestinationIfUnmodifiedSince": { + "target": "com.amazonaws.s3#IfUnmodifiedSince", + "traits": { + "smithy.api#documentation": "

                              Renames the object if it hasn't been modified since the specified time.

                              ", + "smithy.api#httpHeader": "If-Unmodified-Since" + } + }, + "SourceIfMatch": { + "target": "com.amazonaws.s3#RenameSourceIfMatch", + "traits": { + "smithy.api#documentation": "

                              Renames the object if the source exists and if its entity tag (ETag) matches the\n specified ETag.

                              ", + "smithy.api#httpHeader": "x-amz-rename-source-if-match" + } + }, + "SourceIfNoneMatch": { + "target": "com.amazonaws.s3#RenameSourceIfNoneMatch", + "traits": { + "smithy.api#documentation": "

                              Renames the object if the source exists and if its entity tag (ETag) is different than\n the specified ETag. If an asterisk (*) character is provided, the operation\n will fail and return a 412 Precondition Failed error.

                              ", + "smithy.api#httpHeader": "x-amz-rename-source-if-none-match" + } + }, + "SourceIfModifiedSince": { + "target": "com.amazonaws.s3#RenameSourceIfModifiedSince", + "traits": { + "smithy.api#documentation": "

                              Renames the object if the source exists and if it has been modified since the specified time.

                              ", + "smithy.api#httpHeader": "x-amz-rename-source-if-modified-since" + } + }, + "SourceIfUnmodifiedSince": { + "target": "com.amazonaws.s3#RenameSourceIfUnmodifiedSince", + "traits": { + "smithy.api#documentation": "

                              Renames the object if the source exists and hasn't been modified since the specified time.

                              ", + "smithy.api#httpHeader": "x-amz-rename-source-if-unmodified-since" + } + }, + "ClientToken": { + "target": "com.amazonaws.s3#ClientToken", + "traits": { + "smithy.api#documentation": "

                              A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126.\n RenameObject supports idempotency using a client token. To make an\n idempotent API request using RenameObject, specify a client token in the\n request. You should not reuse the same client token for other API requests. If you retry a\n request that completed successfully using the same client token and the same parameters,\n the retry succeeds without performing any further actions. If you retry a successful\n request using the same client token, but one or more of the parameters are different, the\n retry fails and an IdempotentParameterMismatch error is returned.

                              ", + "smithy.api#httpHeader": "x-amz-client-token", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3#RenameSource": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\/?.+\\/.+$" + } + }, + "com.amazonaws.s3#RenameSourceIfMatch": { + "type": "string" + }, + "com.amazonaws.s3#RenameSourceIfModifiedSince": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "http-date" + } + }, + "com.amazonaws.s3#RenameSourceIfNoneMatch": { + "type": "string" + }, + "com.amazonaws.s3#RenameSourceIfUnmodifiedSince": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "http-date" + } + }, "com.amazonaws.s3#ReplaceKeyPrefixWith": { "type": "string" }, diff --git a/tools/code-generation/smithy/api-descriptions/s3tables.json b/tools/code-generation/smithy/api-descriptions/s3tables.json index 3dda82a90b5..49e633e2fc8 100644 --- a/tools/code-generation/smithy/api-descriptions/s3tables.json +++ b/tools/code-generation/smithy/api-descriptions/s3tables.json @@ -1376,7 +1376,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

                              Permissions

                              You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

                              ", + "smithy.api#documentation": "

                              Gets details about the maintenance configuration of a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

                              Permissions
                              • You must have the s3tables:GetTableMaintenanceConfiguration permission to use this operation.

                              • You must have the s3tables:GetTableData permission to use set the compaction strategy to sort or zorder.

                              ", "smithy.api#http": { "uri": "/tables/{tableBucketARN}/{namespace}/{name}/maintenance", "method": "GET" @@ -1873,12 +1873,47 @@ "traits": { "smithy.api#documentation": "

                              The target file size for the table in MB.

                              " } + }, + "strategy": { + "target": "com.amazonaws.s3tables#IcebergCompactionStrategy", + "traits": { + "smithy.api#documentation": "

                              The compaction strategy to use for the table. This determines how files are selected and combined during compaction operations.

                              " + } } }, "traits": { "smithy.api#documentation": "

                              Contains details about the compaction settings for an Iceberg table.

                              " } }, + "com.amazonaws.s3tables#IcebergCompactionStrategy": { + "type": "enum", + "members": { + "AUTO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "auto" + } + }, + "BINPACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "binpack" + } + }, + "SORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sort" + } + }, + "ZORDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "z-order" + } + } + } + }, "com.amazonaws.s3tables#IcebergMetadata": { "type": "structure", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/sagemaker.json b/tools/code-generation/smithy/api-descriptions/sagemaker.json index 72bfcc1cc27..229d3b90d39 100644 --- a/tools/code-generation/smithy/api-descriptions/sagemaker.json +++ b/tools/code-generation/smithy/api-descriptions/sagemaker.json @@ -5852,6 +5852,314 @@ "com.amazonaws.sagemaker#CertifyForMarketplace": { "type": "boolean" }, + "com.amazonaws.sagemaker#CfnCreateTemplateProvider": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.sagemaker#CfnTemplateName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              A unique identifier for the template within the project.

                              ", + "smithy.api#required": {} + } + }, + "TemplateURL": { + "target": "com.amazonaws.sagemaker#CfnTemplateURL", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The Amazon S3 URL of the CloudFormation template.

                              ", + "smithy.api#required": {} + } + }, + "RoleARN": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                              The IAM role that CloudFormation assumes when creating the stack.

                              " + } + }, + "Parameters": { + "target": "com.amazonaws.sagemaker#CfnStackCreateParameters", + "traits": { + "smithy.api#documentation": "

                              An array of CloudFormation stack parameters.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The CloudFormation template provider configuration for creating infrastructure resources.

                              " + } + }, + "com.amazonaws.sagemaker#CfnStackCreateParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#CfnStackParameterKey", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the CloudFormation parameter.

                              ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CfnStackParameterValue", + "traits": { + "smithy.api#documentation": "

                              The value of the CloudFormation parameter.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A key-value pair that represents a parameter for the CloudFormation stack.

                              " + } + }, + "com.amazonaws.sagemaker#CfnStackCreateParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CfnStackCreateParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 180 + } + } + }, + "com.amazonaws.sagemaker#CfnStackDetail": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.sagemaker#CfnStackName", + "traits": { + "smithy.api#documentation": "

                              The name of the CloudFormation stack.

                              " + } + }, + "Id": { + "target": "com.amazonaws.sagemaker#CfnStackId", + "traits": { + "smithy.api#documentation": "

                              The unique identifier of the CloudFormation stack.

                              " + } + }, + "StatusMessage": { + "target": "com.amazonaws.sagemaker#CfnStackStatusMessage", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              A human-readable message about the stack's current status.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Details about the CloudFormation stack.

                              " + } + }, + "com.amazonaws.sagemaker#CfnStackId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^(?=.{1,256}$)arn:aws[a-z\\-]*:cloudformation:[a-z0-9\\-]*:[0-9]{12}:stack/[a-zA-Z][a-zA-Z0-9-]{0,127}/.*$" + } + }, + "com.amazonaws.sagemaker#CfnStackName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Za-z][A-Za-z0-9-]{0,127}$" + } + }, + "com.amazonaws.sagemaker#CfnStackParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#CfnStackParameterKey", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the CloudFormation parameter.

                              ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CfnStackParameterValue", + "traits": { + "smithy.api#documentation": "

                              The value of the CloudFormation parameter.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A key-value pair representing a parameter used in the CloudFormation stack.

                              " + } + }, + "com.amazonaws.sagemaker#CfnStackParameterKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^.{1,255}$" + } + }, + "com.amazonaws.sagemaker#CfnStackParameterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + }, + "smithy.api#pattern": "^.{0,4096}$" + } + }, + "com.amazonaws.sagemaker#CfnStackParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CfnStackParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 180 + } + } + }, + "com.amazonaws.sagemaker#CfnStackStatusMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4096 + }, + "smithy.api#pattern": "^.{1,4096}$" + } + }, + "com.amazonaws.sagemaker#CfnStackUpdateParameter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.sagemaker#CfnStackParameterKey", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the CloudFormation parameter.

                              ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.sagemaker#CfnStackParameterValue", + "traits": { + "smithy.api#documentation": "

                              The value of the CloudFormation parameter.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A key-value pair representing a parameter used in the CloudFormation stack.

                              " + } + }, + "com.amazonaws.sagemaker#CfnStackUpdateParameters": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CfnStackUpdateParameter" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 180 + } + } + }, + "com.amazonaws.sagemaker#CfnTemplateName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32 + }, + "smithy.api#pattern": "^(?=.{1,32}$)[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + } + }, + "com.amazonaws.sagemaker#CfnTemplateProviderDetail": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.sagemaker#CfnTemplateName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The unique identifier of the template within the project.

                              ", + "smithy.api#required": {} + } + }, + "TemplateURL": { + "target": "com.amazonaws.sagemaker#CfnTemplateURL", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The Amazon S3 URL of the CloudFormation template.

                              ", + "smithy.api#required": {} + } + }, + "RoleARN": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                              The IAM role used by CloudFormation to create the stack.

                              " + } + }, + "Parameters": { + "target": "com.amazonaws.sagemaker#CfnStackParameters", + "traits": { + "smithy.api#documentation": "

                              An array of CloudFormation stack parameters.

                              " + } + }, + "StackDetail": { + "target": "com.amazonaws.sagemaker#CfnStackDetail", + "traits": { + "smithy.api#documentation": "

                              Information about the CloudFormation stack created by the template provider.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Details about a CloudFormation template provider configuration and associated provisioning information.

                              " + } + }, + "com.amazonaws.sagemaker#CfnTemplateURL": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^(?=.{1,1024}$)(https)://([^/]+)/(.+)$" + } + }, + "com.amazonaws.sagemaker#CfnUpdateTemplateProvider": { + "type": "structure", + "members": { + "TemplateName": { + "target": "com.amazonaws.sagemaker#CfnTemplateName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The unique identifier of the template to update within the project.

                              ", + "smithy.api#required": {} + } + }, + "TemplateURL": { + "target": "com.amazonaws.sagemaker#CfnTemplateURL", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The Amazon S3 URL of the CloudFormation template.

                              ", + "smithy.api#required": {} + } + }, + "Parameters": { + "target": "com.amazonaws.sagemaker#CfnStackUpdateParameters", + "traits": { + "smithy.api#documentation": "

                              An array of CloudFormation stack parameters.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains configuration details for updating an existing CloudFormation template provider in the project.

                              " + } + }, "com.amazonaws.sagemaker#Channel": { "type": "structure", "members": { @@ -7601,6 +7909,12 @@ "smithy.api#enumValue": "ml.p5en.48xlarge" } }, + "ML_P6_B200_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.p6-b200.48xlarge" + } + }, "ML_TRN2_48XLARGE": { "target": "smithy.api#Unit", "traits": { @@ -14752,6 +15066,12 @@ "traits": { "smithy.api#documentation": "

                              An array of key-value pairs that you want to use to organize and track your Amazon Web Services resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

                              " } + }, + "TemplateProviders": { + "target": "com.amazonaws.sagemaker#CreateTemplateProviderList", + "traits": { + "smithy.api#documentation": "

                              An array of template provider configurations for creating infrastructure resources for the project.

                              " + } } }, "traits": { @@ -14939,6 +15259,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.sagemaker#CreateTemplateProvider": { + "type": "structure", + "members": { + "CfnTemplateProvider": { + "target": "com.amazonaws.sagemaker#CfnCreateTemplateProvider", + "traits": { + "smithy.api#documentation": "

                              The CloudFormation template provider configuration for creating infrastructure resources.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains configuration details for a template provider. Only one type of template provider can be specified.

                              " + } + }, + "com.amazonaws.sagemaker#CreateTemplateProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CreateTemplateProvider" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.sagemaker#CreateTrainingJob": { "type": "operation", "input": { @@ -26465,6 +26811,12 @@ "smithy.api#required": {} } }, + "TemplateProviderDetails": { + "target": "com.amazonaws.sagemaker#TemplateProviderDetailList", + "traits": { + "smithy.api#documentation": "

                              An array of template providers associated with the project.

                              " + } + }, "CreatedBy": { "target": "com.amazonaws.sagemaker#UserContext" }, @@ -55847,6 +56199,168 @@ "traits": { "smithy.api#enumValue": "ml.c6i.32xlarge" } + }, + "ML_M7I_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.large" + } + }, + "ML_M7I_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.xlarge" + } + }, + "ML_M7I_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.2xlarge" + } + }, + "ML_M7I_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.4xlarge" + } + }, + "ML_M7I_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.8xlarge" + } + }, + "ML_M7I_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.12xlarge" + } + }, + "ML_M7I_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.16xlarge" + } + }, + "ML_M7I_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.24xlarge" + } + }, + "ML_M7I_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.48xlarge" + } + }, + "ML_C7I_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.large" + } + }, + "ML_C7I_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.xlarge" + } + }, + "ML_C7I_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.2xlarge" + } + }, + "ML_C7I_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.4xlarge" + } + }, + "ML_C7I_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.8xlarge" + } + }, + "ML_C7I_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.12xlarge" + } + }, + "ML_C7I_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.16xlarge" + } + }, + "ML_C7I_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.24xlarge" + } + }, + "ML_C7I_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.48xlarge" + } + }, + "ML_R7I_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.large" + } + }, + "ML_R7I_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.xlarge" + } + }, + "ML_R7I_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.2xlarge" + } + }, + "ML_R7I_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.4xlarge" + } + }, + "ML_R7I_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.8xlarge" + } + }, + "ML_R7I_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.12xlarge" + } + }, + "ML_R7I_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.16xlarge" + } + }, + "ML_R7I_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.24xlarge" + } + }, + "ML_R7I_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.48xlarge" + } } } }, @@ -58052,6 +58566,240 @@ "traits": { "smithy.api#enumValue": "ml.r7i.48xlarge" } + }, + "ML_C8G_MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.medium" + } + }, + "ML_C8G_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.large" + } + }, + "ML_C8G_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.xlarge" + } + }, + "ML_C8G_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.2xlarge" + } + }, + "ML_C8G_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.4xlarge" + } + }, + "ML_C8G_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.8xlarge" + } + }, + "ML_C8G_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.12xlarge" + } + }, + "ML_C8G_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.16xlarge" + } + }, + "ML_C8G_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.24xlarge" + } + }, + "ML_C8G_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c8g.48xlarge" + } + }, + "ML_R7GD_MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.medium" + } + }, + "ML_R7GD_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.large" + } + }, + "ML_R7GD_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.xlarge" + } + }, + "ML_R7GD_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.2xlarge" + } + }, + "ML_R7GD_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.4xlarge" + } + }, + "ML_R7GD_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.8xlarge" + } + }, + "ML_R7GD_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.12xlarge" + } + }, + "ML_R7GD_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7gd.16xlarge" + } + }, + "ML_M8G_MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.medium" + } + }, + "ML_M8G_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.large" + } + }, + "ML_M8G_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.xlarge" + } + }, + "ML_M8G_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.2xlarge" + } + }, + "ML_M8G_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.4xlarge" + } + }, + "ML_M8G_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.8xlarge" + } + }, + "ML_M8G_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.12xlarge" + } + }, + "ML_M8G_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.16xlarge" + } + }, + "ML_M8G_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.24xlarge" + } + }, + "ML_M8G_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m8g.48xlarge" + } + }, + "ML_C6IN_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.large" + } + }, + "ML_C6IN_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.xlarge" + } + }, + "ML_C6IN_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.2xlarge" + } + }, + "ML_C6IN_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.4xlarge" + } + }, + "ML_C6IN_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.8xlarge" + } + }, + "ML_C6IN_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.12xlarge" + } + }, + "ML_C6IN_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.16xlarge" + } + }, + "ML_C6IN_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.24xlarge" + } + }, + "ML_C6IN_32XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c6in.32xlarge" + } + }, + "ML_P6_B200_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.p6-b200.48xlarge" + } + }, + "ML_P6E_GB200_36XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.p6e-gb200.36xlarge" + } } } }, @@ -58589,6 +59337,12 @@ "smithy.api#documentation": "

                              A timestamp specifying when the project was created.

                              " } }, + "TemplateProviderDetails": { + "target": "com.amazonaws.sagemaker#TemplateProviderDetailList", + "traits": { + "smithy.api#documentation": "

                              An array of template providers associated with the project.

                              " + } + }, "Tags": { "target": "com.amazonaws.sagemaker#TagList", "traits": { @@ -60995,7 +61749,7 @@ "InstanceType": { "target": "com.amazonaws.sagemaker#TrainingInstanceType", "traits": { - "smithy.api#documentation": "

                              The ML compute instance type.

                              SageMaker Training on Amazon Elastic Compute Cloud (EC2) P4de instances is in preview release starting December 9th, 2022.

                              Amazon EC2 P4de instances (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB high-performance HBM2e GPU memory, which accelerate the speed of training ML models that need to be trained on large datasets of high-resolution data. In this preview release, Amazon SageMaker supports ML training jobs on P4de instances (ml.p4de.24xlarge) to reduce model training time. The ml.p4de.24xlarge instances are available in the following Amazon Web Services Regions.

                              • US East (N. Virginia) (us-east-1)

                              • US West (Oregon) (us-west-2)

                              To request quota limit increase and start using P4de instances, contact the SageMaker Training service team through your account team.

                              " + "smithy.api#documentation": "

                              The ML compute instance type.

                              " } }, "InstanceCount": { @@ -61672,7 +62426,7 @@ "target": "com.amazonaws.sagemaker#S3DataType", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

                              If you choose S3Prefix, S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.

                              If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.

                              If you choose AugmentedManifestFile, S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile can only be used if the Channel's input mode is Pipe.

                              ", + "smithy.api#documentation": "

                              If you choose S3Prefix, S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.

                              If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.

                              If you choose AugmentedManifestFile, S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile can only be used if the Channel's input mode is Pipe.

                              If you choose Converse, S3Uri identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.

                              ", "smithy.api#required": {} } }, @@ -61736,6 +62490,12 @@ "traits": { "smithy.api#enumValue": "AugmentedManifestFile" } + }, + "CONVERSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Converse" + } } } }, @@ -68327,6 +69087,32 @@ } } }, + "com.amazonaws.sagemaker#TemplateProviderDetail": { + "type": "structure", + "members": { + "CfnTemplateProviderDetail": { + "target": "com.amazonaws.sagemaker#CfnTemplateProviderDetail", + "traits": { + "smithy.api#documentation": "

                              Details about a CloudFormation template provider configuration and associated provisioning information.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Details about a template provider configuration and associated provisioning information.

                              " + } + }, + "com.amazonaws.sagemaker#TemplateProviderDetailList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#TemplateProviderDetail" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.sagemaker#TemplateUrl": { "type": "string", "traits": { @@ -69932,6 +70718,168 @@ "traits": { "smithy.api#enumValue": "ml.p6-b200.48xlarge" } + }, + "ML_M7I_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.large" + } + }, + "ML_M7I_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.xlarge" + } + }, + "ML_M7I_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.2xlarge" + } + }, + "ML_M7I_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.4xlarge" + } + }, + "ML_M7I_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.8xlarge" + } + }, + "ML_M7I_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.12xlarge" + } + }, + "ML_M7I_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.16xlarge" + } + }, + "ML_M7I_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.24xlarge" + } + }, + "ML_M7I_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.m7i.48xlarge" + } + }, + "ML_C7I_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.large" + } + }, + "ML_C7I_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.xlarge" + } + }, + "ML_C7I_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.2xlarge" + } + }, + "ML_C7I_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.4xlarge" + } + }, + "ML_C7I_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.8xlarge" + } + }, + "ML_C7I_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.12xlarge" + } + }, + "ML_C7I_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.16xlarge" + } + }, + "ML_C7I_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.24xlarge" + } + }, + "ML_C7I_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.c7i.48xlarge" + } + }, + "ML_R7I_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.large" + } + }, + "ML_R7I_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.xlarge" + } + }, + "ML_R7I_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.2xlarge" + } + }, + "ML_R7I_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.4xlarge" + } + }, + "ML_R7I_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.8xlarge" + } + }, + "ML_R7I_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.12xlarge" + } + }, + "ML_R7I_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.16xlarge" + } + }, + "ML_R7I_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.24xlarge" + } + }, + "ML_R7I_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r7i.48xlarge" + } } } }, @@ -75776,6 +76724,12 @@ "traits": { "smithy.api#documentation": "

                              An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources. In addition, the project must have tag update constraints set in order to include this parameter in the request. For more information, see Amazon Web Services Service Catalog Tag Update Constraints.

                              " } + }, + "TemplateProvidersToUpdate": { + "target": "com.amazonaws.sagemaker#UpdateTemplateProviderList", + "traits": { + "smithy.api#documentation": "

                              The template providers to update in the project.

                              " + } } }, "traits": { @@ -75871,6 +76825,32 @@ "smithy.api#output": {} } }, + "com.amazonaws.sagemaker#UpdateTemplateProvider": { + "type": "structure", + "members": { + "CfnTemplateProvider": { + "target": "com.amazonaws.sagemaker#CfnUpdateTemplateProvider", + "traits": { + "smithy.api#documentation": "

                              The CloudFormation template provider configuration to update.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains configuration details for updating an existing template provider in the project.

                              " + } + }, + "com.amazonaws.sagemaker#UpdateTemplateProviderList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#UpdateTemplateProvider" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.sagemaker#UpdateTrainingJob": { "type": "operation", "input": { diff --git a/tools/code-generation/smithy/api-descriptions/securityhub.json b/tools/code-generation/smithy/api-descriptions/securityhub.json index 309061fbb08..7fd5512ec94 100644 --- a/tools/code-generation/smithy/api-descriptions/securityhub.json +++ b/tools/code-generation/smithy/api-descriptions/securityhub.json @@ -614,6 +614,43 @@ } } }, + "com.amazonaws.securityhub#AggregatorV2": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the aggregatorV2.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies a cross-Region data aggregation configuration, including the aggregation Region and any linked Regions.

                              " + } + }, + "com.amazonaws.securityhub#AggregatorV2List": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AggregatorV2" + } + }, + "com.amazonaws.securityhub#AllowedOperators": { + "type": "enum", + "members": { + "AND": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AND" + } + }, + "OR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OR" + } + } + } + }, "com.amazonaws.securityhub#AlphaNumericNonEmptyString": { "type": "string", "traits": { @@ -813,6 +850,18 @@ "smithy.api#documentation": "

                              \n One or more actions that Security Hub takes when a finding matches the defined criteria \n of a rule.\n

                              " } }, + "com.amazonaws.securityhub#AutomationRulesActionListV2": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AutomationRulesActionV2" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.securityhub#AutomationRulesActionType": { "type": "enum", "members": { @@ -824,6 +873,71 @@ } } }, + "com.amazonaws.securityhub#AutomationRulesActionTypeListV2": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AutomationRulesActionTypeObjectV2" + } + }, + "com.amazonaws.securityhub#AutomationRulesActionTypeObjectV2": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.securityhub#AutomationRulesActionTypeV2", + "traits": { + "smithy.api#documentation": "

                              The category of action to be executed by the automation rule.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Allows you to customize security response workflows.

                              " + } + }, + "com.amazonaws.securityhub#AutomationRulesActionTypeV2": { + "type": "enum", + "members": { + "FINDING_FIELDS_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FINDING_FIELDS_UPDATE" + } + }, + "EXTERNAL_INTEGRATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXTERNAL_INTEGRATION" + } + } + } + }, + "com.amazonaws.securityhub#AutomationRulesActionV2": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.securityhub#AutomationRulesActionTypeV2", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The category of action to be executed by the automation rule.

                              ", + "smithy.api#required": {} + } + }, + "FindingFieldsUpdate": { + "target": "com.amazonaws.securityhub#AutomationRulesFindingFieldsUpdateV2", + "traits": { + "smithy.api#documentation": "

                              The changes to be applied to fields in a security finding when an automation rule is triggered.

                              " + } + }, + "ExternalIntegrationConfiguration": { + "target": "com.amazonaws.securityhub#ExternalIntegrationConfiguration", + "traits": { + "smithy.api#documentation": "

                              The settings for integrating automation rule actions with external systems or service.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Allows you to configure automated responses.

                              " + } + }, "com.amazonaws.securityhub#AutomationRulesArnsList": { "type": "list", "member": { @@ -969,6 +1083,32 @@ "smithy.api#documentation": "

                              \n Identifies the finding fields that the automation rule action updates when a finding matches the defined criteria.\n

                              " } }, + "com.amazonaws.securityhub#AutomationRulesFindingFieldsUpdateV2": { + "type": "structure", + "members": { + "SeverityId": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The severity level to be assigned to findings that match the automation rule criteria.

                              " + } + }, + "Comment": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              Notes or contextual information for findings that are modified by the automation rule.

                              " + } + }, + "StatusId": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The status to be applied to findings that match automation rule criteria.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Allows you to define the structure for modifying specific fields in security findings.

                              " + } + }, "com.amazonaws.securityhub#AutomationRulesFindingFilters": { "type": "structure", "members": { @@ -1273,6 +1413,74 @@ "target": "com.amazonaws.securityhub#AutomationRulesMetadata" } }, + "com.amazonaws.securityhub#AutomationRulesMetadataListV2": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#AutomationRulesMetadataV2" + } + }, + "com.amazonaws.securityhub#AutomationRulesMetadataV2": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the automation rule.

                              " + } + }, + "RuleId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ID of the automation rule.

                              " + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValueV2", + "traits": { + "smithy.api#documentation": "

                              The value for the rule priority.

                              " + } + }, + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The name of the automation rule.

                              " + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatusV2", + "traits": { + "smithy.api#documentation": "

                              The status of the automation rule.

                              " + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              An explanation for the purpose and funcitonality of the automation rule.

                              " + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#AutomationRulesActionTypeListV2", + "traits": { + "smithy.api#documentation": "

                              The list of action to be performed when the rule criteria is met.

                              " + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp for when the automation rule was created.

                              " + } + }, + "UpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp for the most recent modification to the automation rule.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Includes essential metadata information about automation rules.

                              " + } + }, "com.amazonaws.securityhub#AvailabilityZone": { "type": "structure", "members": { @@ -21763,7 +21971,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              Used by Security Hub customers to update information about their investigation into a finding.\n Requested by administrator accounts or member accounts. Administrator accounts can update findings for\n their account and their member accounts. Member accounts can update findings for their\n account.

                              \n

                              Updates from BatchUpdateFindings don't affect the value of\n UpdatedAt for a finding.

                              \n

                              Administrator and member accounts can use BatchUpdateFindings to update the\n following finding fields and objects.

                              \n
                                \n
                              • \n

                                \n Confidence\n

                                \n
                              • \n
                              • \n

                                \n Criticality\n

                                \n
                              • \n
                              • \n

                                \n Note\n

                                \n
                              • \n
                              • \n

                                \n RelatedFindings\n

                                \n
                              • \n
                              • \n

                                \n Severity\n

                                \n
                              • \n
                              • \n

                                \n Types\n

                                \n
                              • \n
                              • \n

                                \n UserDefinedFields\n

                                \n
                              • \n
                              • \n

                                \n VerificationState\n

                                \n
                              • \n
                              • \n

                                \n Workflow\n

                                \n
                              • \n
                              \n

                              You can configure IAM policies to restrict access to fields and field values. For\n example, you might not want member accounts to be able to suppress findings or change the\n finding severity. See Configuring access to BatchUpdateFindings in the\n Security Hub User Guide.

                              ", + "smithy.api#documentation": "

                              \n Used by Security Hub customers to update information about their investigation into one or more findings.\n Requested by administrator accounts or member accounts. \n Administrator accounts can update findings for their account and their member accounts. \n A member account can update findings only for their own account.\n Administrator and member accounts can use this operation to update the following fields and objects for one or more findings:\n

                              \n
                                \n
                              • \n

                                \n Confidence\n

                                \n
                              • \n
                              • \n

                                \n Criticality\n

                                \n
                              • \n
                              • \n

                                \n Note\n

                                \n
                              • \n
                              • \n

                                \n RelatedFindings\n

                                \n
                              • \n
                              • \n

                                \n Severity\n

                                \n
                              • \n
                              • \n

                                \n Types\n

                                \n
                              • \n
                              • \n

                                \n UserDefinedFields\n

                                \n
                              • \n
                              • \n

                                \n VerificationState\n

                                \n
                              • \n
                              • \n

                                \n Workflow\n

                                \n
                              • \n
                              \n

                              \n If you use this operation to update a finding, your updates don’t affect the value for the UpdatedAt field of the finding. \n Also note that it can take several minutes for Security Hub to process your request and update each finding specified in the request. \n

                              \n

                              \n You can configure IAM policies to restrict access to fields and field values. \n For example, you might not want member accounts to be able to suppress findings or change the finding severity. \n For more information see Configuring access to BatchUpdateFindings in the Security Hub User Guide.\n

                              ", "smithy.api#examples": [ { "title": "To update Security Hub findings", @@ -21956,6 +22164,195 @@ "target": "com.amazonaws.securityhub#BatchUpdateFindingsUnprocessedFinding" } }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Used by customers to update information about their investigation into a finding. \n Requested by delegated administrator accounts or member accounts. \n Delegated administrator accounts can update findings for their account and their member accounts. \n Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. \n You must have permission to perform the securityhub:BatchUpdateFindings action. \n Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "PATCH", + "uri": "/findingsv2/batchupdatev2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2ProcessedFinding": { + "type": "structure", + "members": { + "FindingIdentifier": { + "target": "com.amazonaws.securityhub#OcsfFindingIdentifier", + "traits": { + "smithy.api#documentation": "

                              The finding identifier of a processed finding.

                              " + } + }, + "MetadataUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The metadata.uid of a processed finding.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The list of findings that were updated.

                              " + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2ProcessedFindingsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2ProcessedFinding" + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2Request": { + "type": "structure", + "members": { + "MetadataUids": { + "target": "com.amazonaws.securityhub#MetadataUidList", + "traits": { + "smithy.api#documentation": "

                              The list of finding metadata.uid to indicate findings to update. \n Finding metadata.uid is a globally unique identifier associated with the finding. \n Customers cannot use MetadataUids together with FindingIdentifiers.

                              " + } + }, + "FindingIdentifiers": { + "target": "com.amazonaws.securityhub#OcsfFindingIdentifierList", + "traits": { + "smithy.api#documentation": "

                              Provides information to identify a specific V2 finding.

                              " + } + }, + "Comment": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The updated value for a user provided comment about the finding. \n Minimum character length 1. \n Maximum character length 512.

                              " + } + }, + "SeverityId": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The updated value for the normalized severity identifier. \n The severity ID is an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 99]. \n When customer provides the updated severity ID, the string sibling severity will automatically be updated in the finding.

                              " + } + }, + "StatusId": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The updated value for the normalized status identifier. \n The status ID is an integer with the allowed enum values [0, 1, 2, 3, 4, 5, 6, 99]. \n When customer provides the updated status ID, the string sibling status will automatically be updated in the finding.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2Response": { + "type": "structure", + "members": { + "ProcessedFindings": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2ProcessedFindingsList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The list of findings that were updated successfully.

                              ", + "smithy.api#required": {} + } + }, + "UnprocessedFindings": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2UnprocessedFindingsList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The list of V2 findings that were not updated.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2UnprocessedFinding": { + "type": "structure", + "members": { + "FindingIdentifier": { + "target": "com.amazonaws.securityhub#OcsfFindingIdentifier", + "traits": { + "smithy.api#documentation": "

                              The finding identifier of an unprocessed finding.

                              " + } + }, + "MetadataUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The metadata.uid of an unprocessed finding.

                              " + } + }, + "ErrorCode": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2UnprocessedFindingErrorCode", + "traits": { + "smithy.api#documentation": "

                              Indicates the specific type of error preventing successful processing of a finding during a batch update operation.

                              " + } + }, + "ErrorMessage": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              A detailed description of why a finding could not be processed during a batch update operation.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The list of findings that were not updated.

                              " + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2UnprocessedFindingErrorCode": { + "type": "enum", + "members": { + "ResourceNotFoundException": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ResourceNotFoundException" + } + }, + "ValidationException": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ValidationException" + } + }, + "InternalServerException": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InternalServerException" + } + }, + "ConflictException": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ConflictException" + } + } + } + }, + "com.amazonaws.securityhub#BatchUpdateFindingsV2UnprocessedFindingsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2UnprocessedFinding" + } + }, "com.amazonaws.securityhub#BatchUpdateStandardsControlAssociations": { "type": "operation", "input": { @@ -22247,6 +22644,16 @@ "smithy.api#documentation": "

                              Provides details about the current status of the sensitive data detection.

                              " } }, + "com.amazonaws.securityhub#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + }, + "smithy.api#pattern": "^[\\x21-\\x7E]{1,64}$" + } + }, "com.amazonaws.securityhub#CloudWatchLogsLogGroupArnConfigDetails": { "type": "structure", "members": { @@ -22378,6 +22785,56 @@ } } }, + "com.amazonaws.securityhub#CompositeFilter": { + "type": "structure", + "members": { + "StringFilters": { + "target": "com.amazonaws.securityhub#OcsfStringFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on string field values.

                              " + } + }, + "DateFilters": { + "target": "com.amazonaws.securityhub#OcsfDateFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on date and timestamp fields.

                              " + } + }, + "BooleanFilters": { + "target": "com.amazonaws.securityhub#OcsfBooleanFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on boolean field values.

                              " + } + }, + "NumberFilters": { + "target": "com.amazonaws.securityhub#OcsfNumberFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on numerical field values.

                              " + } + }, + "MapFilters": { + "target": "com.amazonaws.securityhub#OcsfMapFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on map field values.

                              " + } + }, + "Operator": { + "target": "com.amazonaws.securityhub#AllowedOperators", + "traits": { + "smithy.api#documentation": "

                              The logical operator used to combine multiple filter conditions.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables the creation of filtering criteria for security findings.

                              " + } + }, + "com.amazonaws.securityhub#CompositeFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#CompositeFilter" + } + }, "com.amazonaws.securityhub#ConfigurationOptions": { "type": "union", "members": { @@ -22589,6 +23046,22 @@ "target": "com.amazonaws.securityhub#ConfigurationPolicySummary" } }, + "com.amazonaws.securityhub#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "Code": { + "target": "com.amazonaws.securityhub#NonEmptyString" + } + }, + "traits": { + "smithy.api#documentation": "

                              The request causes conflict with the current state of the service resource.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.securityhub#ConnectionDirection": { "type": "enum", "members": { @@ -22606,6 +23079,210 @@ } } }, + "com.amazonaws.securityhub#ConnectorAuthStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, + "com.amazonaws.securityhub#ConnectorProviderName": { + "type": "enum", + "members": { + "JIRA_CLOUD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JIRA_CLOUD" + } + }, + "SERVICENOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICENOW" + } + } + } + }, + "com.amazonaws.securityhub#ConnectorRegistrationsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#ConnectorRegistrationsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#ConnectorRegistrationsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to complete the authorization based on input parameters. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/connectorsv2/registrations", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#ConnectorRegistrationsV2Request": { + "type": "structure", + "members": { + "AuthCode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The authCode retrieved from authUrl to complete the OAuth 2.0 authorization code flow.

                              ", + "smithy.api#required": {} + } + }, + "AuthState": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The authState retrieved from authUrl to complete the OAuth 2.0 authorization code flow.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#ConnectorRegistrationsV2Response": { + "type": "structure", + "members": { + "ConnectorArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + } + }, + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#ConnectorStatus": { + "type": "enum", + "members": { + "CONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONNECTED" + } + }, + "FAILED_TO_CONNECT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_TO_CONNECT" + } + }, + "PENDING_CONFIGURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_CONFIGURATION" + } + }, + "PENDING_AUTHORIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_AUTHORIZATION" + } + } + } + }, + "com.amazonaws.securityhub#ConnectorSummary": { + "type": "structure", + "members": { + "ConnectorArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + } + }, + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The Name field contains the user-defined name assigned to the integration connector. This helps identify and manage multiple connectors within Security Hub.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The description of the connectorV2.

                              " + } + }, + "ProviderSummary": { + "target": "com.amazonaws.securityhub#ProviderSummary", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The connectorV2 third party provider configuration summary.

                              ", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              ISO 8601 UTC timestamp for the time create the connectorV2.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A condensed overview of the connectorV2..

                              " + } + }, + "com.amazonaws.securityhub#ConnectorSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ConnectorSummary" + } + }, "com.amazonaws.securityhub#ContainerDetails": { "type": "structure", "members": { @@ -22806,6 +23483,110 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#CreateAggregatorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#CreateAggregatorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#CreateAggregatorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Enables aggregation across Amazon Web Services Regions. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/aggregatorv2/create", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#CreateAggregatorV2Request": { + "type": "structure", + "members": { + "RegionLinkingMode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Determines how Regions are linked to an Aggregator V2.

                              ", + "smithy.api#required": {} + } + }, + "LinkedRegions": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

                              The list of Regions that are linked to the aggregation Region.

                              " + } + }, + "Tags": { + "target": "com.amazonaws.securityhub#TagMap", + "traits": { + "smithy.api#documentation": "

                              A list of key-value pairs to be applied to the AggregatorV2.

                              " + } + }, + "ClientToken": { + "target": "com.amazonaws.securityhub#ClientToken", + "traits": { + "smithy.api#documentation": "

                              A unique identifier used to ensure idempotency.

                              ", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#CreateAggregatorV2Response": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the AggregatorV2.

                              " + } + }, + "AggregationRegion": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services Region where data is aggregated.

                              " + } + }, + "RegionLinkingMode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              Determines how Regions are linked to an Aggregator V2.

                              " + } + }, + "LinkedRegions": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

                              The list of Regions that are linked to the aggregation Region.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#CreateAutomationRule": { "type": "operation", "input": { @@ -22985,6 +23766,127 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#CreateAutomationRuleV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#CreateAutomationRuleV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#CreateAutomationRuleV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Creates a V2 automation rule. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/automationrulesv2/create", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#CreateAutomationRuleV2Request": { + "type": "structure", + "members": { + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the V2 automation rule.

                              ", + "smithy.api#required": {} + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatusV2", + "traits": { + "smithy.api#documentation": "

                              The status of the V2 automation rule.

                              " + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              A description of the V2 automation rule.

                              ", + "smithy.api#required": {} + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValueV2", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The value for the rule priority.

                              ", + "smithy.api#required": {} + } + }, + "Criteria": { + "target": "com.amazonaws.securityhub#Criteria", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The filtering type and configuration of the automation rule.

                              ", + "smithy.api#required": {} + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#AutomationRulesActionListV2", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              A list of actions to be performed when the rule criteria is met.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.securityhub#TagMap", + "traits": { + "smithy.api#documentation": "

                              A list of key-value pairs associated with the V2 automation rule.

                              " + } + }, + "ClientToken": { + "target": "com.amazonaws.securityhub#ClientToken", + "traits": { + "smithy.api#documentation": "

                              A unique identifier used to ensure idempotency.

                              ", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#CreateAutomationRuleV2Response": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the V2 automation rule.

                              " + } + }, + "RuleId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ID of the V2 automation rule.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#CreateConfigurationPolicy": { "type": "operation", "input": { @@ -23180,6 +24082,120 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#CreateConnectorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#CreateConnectorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#CreateConnectorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to create a connectorV2 based on input parameters. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/connectorsv2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#CreateConnectorV2Request": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The unique name of the connectorV2.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The description of the connectorV2.

                              " + } + }, + "Provider": { + "target": "com.amazonaws.securityhub#ProviderConfiguration", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The third-party provider’s service configuration.

                              ", + "smithy.api#required": {} + } + }, + "KmsKeyArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of KMS key used to encrypt secrets for the connectorV2.

                              " + } + }, + "Tags": { + "target": "com.amazonaws.securityhub#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags to add to the connectorV2 when you create.

                              " + } + }, + "ClientToken": { + "target": "com.amazonaws.securityhub#ClientToken", + "traits": { + "smithy.api#documentation": "

                              A unique identifier used to ensure idempotency.

                              ", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#CreateConnectorV2Response": { + "type": "structure", + "members": { + "ConnectorArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + } + }, + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#required": {} + } + }, + "AuthUrl": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Url provide to customers for OAuth auth code flow.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#CreateFindingAggregator": { "type": "operation", "input": { @@ -23485,6 +24501,110 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#CreateTicketV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#CreateTicketV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#CreateTicketV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to create a ticket in the chosen ITSM based on finding information for the provided finding metadata UID. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/ticketsv2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#CreateTicketV2Request": { + "type": "structure", + "members": { + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#required": {} + } + }, + "FindingMetadataUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The the unique ID for the finding.

                              ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.securityhub#ClientToken", + "traits": { + "smithy.api#documentation": "

                              The client idempotency token.

                              ", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#CreateTicketV2Response": { + "type": "structure", + "members": { + "TicketId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The ID for the ticketv2.

                              ", + "smithy.api#required": {} + } + }, + "TicketSrcUrl": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The url to the created ticket.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#Criteria": { + "type": "union", + "members": { + "OcsfFindingCriteria": { + "target": "com.amazonaws.securityhub#OcsfFindingFilters", + "traits": { + "smithy.api#documentation": "

                              The filtering conditions that align with OCSF standards.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the parameters and conditions used to evaluate and filter security findings.

                              " + } + }, "com.amazonaws.securityhub#CrossAccountMaxResults": { "type": "integer", "traits": { @@ -23836,6 +24956,126 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#DeleteAggregatorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DeleteAggregatorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#DeleteAggregatorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes the Aggregator V2. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/aggregatorv2/delete/{AggregatorV2Arn+}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DeleteAggregatorV2Request": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the Aggregator V2.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#DeleteAggregatorV2Response": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#DeleteAutomationRuleV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DeleteAutomationRuleV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#DeleteAutomationRuleV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Deletes a V2 automation rule. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/automationrulesv2/{Identifier}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DeleteAutomationRuleV2Request": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the V2 automation rule.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#DeleteAutomationRuleV2Response": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#DeleteConfigurationPolicy": { "type": "operation", "input": { @@ -23908,6 +25148,66 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#DeleteConnectorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DeleteConnectorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#DeleteConnectorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to delete a connectorV2. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/connectorsv2/{ConnectorId+}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DeleteConnectorV2Request": { + "type": "structure", + "members": { + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#DeleteConnectorV2Response": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#DeleteFindingAggregator": { "type": "operation", "input": { @@ -24618,6 +25918,148 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#DescribeProductsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DescribeProductsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#DescribeProductsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Gets information about the product integration. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/productsV2", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "ProductsV2", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.securityhub#DescribeProductsV2Request": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The token required for pagination. \n On your first call, set the value of this parameter to NULL. \n For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              ", + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#DescribeProductsV2Response": { + "type": "structure", + "members": { + "ProductsV2": { + "target": "com.amazonaws.securityhub#ProductsV2List", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Gets information about the product integration.

                              ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use to request the next page of results. \n Otherwise, this parameter is null.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#DescribeSecurityHubV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DescribeSecurityHubV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#DescribeSecurityHubV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns details about the service resource in your account. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/hubv2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DescribeSecurityHubV2Request": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#DescribeSecurityHubV2Response": { + "type": "structure", + "members": { + "HubV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the service resource.

                              " + } + }, + "SubscribedAt": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The date and time when the service was enabled in the account.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#DescribeStandards": { "type": "operation", "input": { @@ -24948,6 +26390,12 @@ "smithy.api#documentation": "

                              The Amazon Web Services account identifier of the Security Hub administrator account.

                              ", "smithy.api#required": {} } + }, + "Feature": { + "target": "com.amazonaws.securityhub#SecurityHubFeature", + "traits": { + "smithy.api#documentation": "

                              The feature for which the delegated admin account is disabled. \n Defaults to Security Hub if not specified.

                              " + } } }, "traits": { @@ -25015,6 +26463,51 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#DisableSecurityHubV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#DisableSecurityHubV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#DisableSecurityHubV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/hubv2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#DisableSecurityHubV2Request": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#DisableSecurityHubV2Response": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#DisabledSecurityControlIdentifierList": { "type": "list", "member": { @@ -25382,6 +26875,12 @@ "smithy.api#documentation": "

                              The Amazon Web Services account identifier of the account to designate as the Security Hub administrator\n account.

                              ", "smithy.api#required": {} } + }, + "Feature": { + "target": "com.amazonaws.securityhub#SecurityHubFeature", + "traits": { + "smithy.api#documentation": "

                              The feature for which the delegated admin account is enabled. \n Defaults to Security Hub if not specified.

                              " + } } }, "traits": { @@ -25390,7 +26889,20 @@ }, "com.amazonaws.securityhub#EnableOrganizationAdminAccountResponse": { "type": "structure", - "members": {}, + "members": { + "AdminAccountId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.

                              " + } + }, + "Feature": { + "target": "com.amazonaws.securityhub#SecurityHubFeature", + "traits": { + "smithy.api#documentation": "

                              The feature where the delegated administrator is enabled. \n The default is Security Hub CSPM if no delegated administrator is specified in the request.

                              " + } + } + }, "traits": { "smithy.api#output": {} } @@ -25474,6 +26986,65 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#EnableSecurityHubV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#EnableSecurityHubV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#EnableSecurityHubV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/hubv2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#EnableSecurityHubV2Request": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.securityhub#TagMap", + "traits": { + "smithy.api#documentation": "

                              The tags to add to the hub V2 resource when you enable Security Hub.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#EnableSecurityHubV2Response": { + "type": "structure", + "members": { + "HubV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the V2 resource that was created.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#EnabledSecurityControlIdentifierList": { "type": "list", "member": { @@ -25532,6 +27103,20 @@ "smithy.api#documentation": "

                              \n The options for customizing a security control parameter that is a list of enums.\n

                              " } }, + "com.amazonaws.securityhub#ExternalIntegrationConfiguration": { + "type": "structure", + "members": { + "ConnectorArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the connector that establishes the integration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the settings and parameters required for integrating external security tools and services.

                              " + } + }, "com.amazonaws.securityhub#FieldMap": { "type": "map", "key": { @@ -25981,6 +27566,212 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GetAggregatorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetAggregatorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetAggregatorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns the configuration of the specified Aggregator V2. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/aggregatorv2/get/{AggregatorV2Arn+}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#GetAggregatorV2Request": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the Aggregator V2.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetAggregatorV2Response": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the Aggregator V2.

                              " + } + }, + "AggregationRegion": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services Region where data is aggregated.

                              " + } + }, + "RegionLinkingMode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              Determines how Regions are linked to an Aggregator V2.

                              " + } + }, + "LinkedRegions": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

                              The list of Regions that are linked to the aggregation Region.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#GetAutomationRuleV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetAutomationRuleV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetAutomationRuleV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns an automation rule for the V2 service. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/automationrulesv2/{Identifier}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#GetAutomationRuleV2Request": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the V2 automation rule.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetAutomationRuleV2Response": { + "type": "structure", + "members": { + "RuleArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the V2 automation rule.

                              " + } + }, + "RuleId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ID of the V2 automation rule.

                              " + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValueV2", + "traits": { + "smithy.api#documentation": "

                              The value for the rule priority.

                              " + } + }, + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The name of the V2 automation rule.

                              " + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatusV2", + "traits": { + "smithy.api#documentation": "

                              The status of the V2 automation automation rule.

                              " + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              A description of the automation rule.

                              " + } + }, + "Criteria": { + "target": "com.amazonaws.securityhub#Criteria", + "traits": { + "smithy.api#documentation": "

                              The filtering type and configuration of the V2 automation rule.

                              " + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#AutomationRulesActionListV2", + "traits": { + "smithy.api#documentation": "

                              A list of actions performed when the rule criteria is met.

                              " + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the V2 automation rule was created.

                              " + } + }, + "UpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#documentation": "

                              The timestamp when the V2 automation rule was updated.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#GetConfigurationPolicy": { "type": "operation", "input": { @@ -26251,6 +28042,133 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GetConnectorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetConnectorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetConnectorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to retrieve details for a connectorV2 based on connector id. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/connectorsv2/{ConnectorId+}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#GetConnectorV2Request": { + "type": "structure", + "members": { + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetConnectorV2Response": { + "type": "structure", + "members": { + "ConnectorArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the connectorV2.

                              " + } + }, + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the connectorV2.

                              ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The description of the connectorV2.

                              " + } + }, + "KmsKeyArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of KMS key used for the connectorV2.

                              " + } + }, + "CreatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              ISO 8601 UTC timestamp for the time create the connectorV2.

                              ", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              ISO 8601 UTC timestamp for the time update the connectorV2 connectorStatus.

                              ", + "smithy.api#required": {} + } + }, + "Health": { + "target": "com.amazonaws.securityhub#HealthCheck", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The current health status for connectorV2

                              ", + "smithy.api#required": {} + } + }, + "ProviderDetail": { + "target": "com.amazonaws.securityhub#ProviderDetail", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The third-party provider detail for a service configuration.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#GetEnabledStandards": { "type": "operation", "input": { @@ -26481,7 +28399,7 @@ } ], "traits": { - "smithy.api#documentation": "

                              \n Returns history for a Security Hub finding in the last 90 days. The history includes changes made to any fields in \n the Amazon Web Services Security Finding Format (ASFF).\n

                              ", + "smithy.api#documentation": "

                              \n Returns the history of a Security Hub finding for the past 90 days. The history includes changes made to any fields in \n the Amazon Web Services Security Finding Format (ASFF) except top-level timestamp fields, such as the CreatedAt and \n UpdatedAt fields.\n

                              \n

                              This operation might return fewer results than the maximum number of results (MaxResults) specified in a request, even \n when more results are available. If this occurs, the response includes a NextToken value, which you should use to retrieve \n the next set of results in the response. The presence of a NextToken value in a response doesn't necessarily indicate \n that the results are incomplete. However, you should continue to specify a NextToken value until you receive a \n response that doesn't include this value.

                              ", "smithy.api#http": { "method": "POST", "uri": "/findingHistory/get", @@ -26554,6 +28472,82 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GetFindingStatisticsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetFindingStatisticsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetFindingStatisticsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns aggregated statistical data about findings.\n GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. \n You must have permission to perform the s action. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/findingsv2/statistics", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#GetFindingStatisticsV2Request": { + "type": "structure", + "members": { + "GroupByRules": { + "target": "com.amazonaws.securityhub#GroupByRules", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Specifies how security findings should be aggregated and organized in the statistical analysis. \n It can accept up to 5 groupBy fields in a single call.

                              ", + "smithy.api#required": {} + } + }, + "SortOrder": { + "target": "com.amazonaws.securityhub#SortOrder", + "traits": { + "smithy.api#documentation": "

                              Orders the aggregation count in descending or ascending order. \n Descending order is the default.

                              " + } + }, + "MaxStatisticResults": { + "target": "com.amazonaws.securityhub#MaxStatisticResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to be returned.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetFindingStatisticsV2Response": { + "type": "structure", + "members": { + "GroupByResults": { + "target": "com.amazonaws.securityhub#GroupByResults", + "traits": { + "smithy.api#documentation": "

                              Aggregated statistics about security findings based on specified grouping criteria.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#GetFindings": { "type": "operation", "input": { @@ -26752,6 +28746,98 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GetFindingsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetFindingsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetFindingsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Return a list of findings that match the specified criteria.\n GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. \n You must have permission to perform the securityhub:GetFindings action. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/findingsv2", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Findings", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.securityhub#GetFindingsV2Request": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.securityhub#OcsfFindingFilters", + "traits": { + "smithy.api#documentation": "

                              The finding attributes used to define a condition to filter the returned OCSF findings. \n You can filter up to 10 composite filters. \n For each filter type inside of a composite filter, you can provide up to 20 filters.

                              " + } + }, + "SortCriteria": { + "target": "com.amazonaws.securityhub#SortCriteria", + "traits": { + "smithy.api#documentation": "

                              The finding attributes used to sort the list of returned findings.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              \n The token required for pagination. \n On your first call, set the value of this parameter to NULL. \n For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              " + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetFindingsV2Response": { + "type": "structure", + "members": { + "Findings": { + "target": "com.amazonaws.securityhub#OcsfFindingsList", + "traits": { + "smithy.api#documentation": "

                              An array of security findings returned by the operation.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use to request the next page of results. \n Otherwise, this parameter is null.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#GetInsightResults": { "type": "operation", "input": { @@ -27154,6 +29240,184 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GetResourcesStatisticsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetResourcesStatisticsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetResourcesStatisticsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/resourcesv2/statistics", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#GetResourcesStatisticsV2Request": { + "type": "structure", + "members": { + "GroupByRules": { + "target": "com.amazonaws.securityhub#ResourceGroupByRules", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              How resource statistics should be aggregated and organized in the response.

                              ", + "smithy.api#required": {} + } + }, + "SortOrder": { + "target": "com.amazonaws.securityhub#SortOrder", + "traits": { + "smithy.api#documentation": "

                              Sorts aggregated statistics.

                              " + } + }, + "MaxStatisticResults": { + "target": "com.amazonaws.securityhub#MaxStatisticResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to be returned.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetResourcesStatisticsV2Response": { + "type": "structure", + "members": { + "GroupByResults": { + "target": "com.amazonaws.securityhub#GroupByResults", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The aggregated statistics about resources based on the specified grouping rule.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#GetResourcesV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#GetResourcesV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#GetResourcesV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns a list of resources. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "POST", + "uri": "/resourcesv2", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Resources", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.securityhub#GetResourcesV2Request": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.securityhub#ResourcesFilters", + "traits": { + "smithy.api#documentation": "

                              Filters resources based on a set of criteria.

                              " + } + }, + "SortCriteria": { + "target": "com.amazonaws.securityhub#SortCriteria", + "traits": { + "smithy.api#documentation": "

                              The finding attributes used to sort the list of returned findings.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The token required for pagination. \n On your first call, set the value of this parameter to NULL. \n For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              " + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#GetResourcesV2Response": { + "type": "structure", + "members": { + "Resources": { + "target": "com.amazonaws.securityhub#Resources", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Filters resources based on a set of criteria.

                              ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use to request the next page of results. \n Otherwise, this parameter is null.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#GetSecurityControlDefinition": { "type": "operation", "input": { @@ -27251,6 +29515,223 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#GroupByField": { + "type": "enum", + "members": { + "ACTIVITY_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "activity_name" + } + }, + "CLOUD_ACCOUNT_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.account.uid" + } + }, + "CLOUD_PROVIDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.provider" + } + }, + "CLOUD_REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.region" + } + }, + "COMPLIANCE_ASSESSMENTS_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.assessments.name" + } + }, + "COMPLIANCE_STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.status" + } + }, + "COMPLIANCE_CONTROL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.control" + } + }, + "FINDING_INFO_TITLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.title" + } + }, + "FINDING_INFO_TYPES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.types" + } + }, + "METADATA_PRODUCT_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "metadata.product.name" + } + }, + "METADATA_PRODUCT_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "metadata.product.uid" + } + }, + "RESOURCES_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.type" + } + }, + "RESOURCES_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.uid" + } + }, + "SEVERITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "severity" + } + }, + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "status" + } + }, + "VULNERABILITIES_FIX_COVERAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.fix_coverage" + } + }, + "CLASS_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "class_name" + } + } + } + }, + "com.amazonaws.securityhub#GroupByResult": { + "type": "structure", + "members": { + "GroupByField": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The attribute by which filtered security findings should be grouped.

                              " + } + }, + "GroupByValues": { + "target": "com.amazonaws.securityhub#GroupByValues", + "traits": { + "smithy.api#documentation": "

                              An array of grouped values and their respective counts for each GroupByField.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents finding statistics grouped by GroupedByField.

                              " + } + }, + "com.amazonaws.securityhub#GroupByResults": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#GroupByResult" + } + }, + "com.amazonaws.securityhub#GroupByRule": { + "type": "structure", + "members": { + "Filters": { + "target": "com.amazonaws.securityhub#OcsfFindingFilters", + "traits": { + "smithy.api#documentation": "

                              The criteria used to select which security findings should be included in the grouping operation.

                              " + } + }, + "GroupByField": { + "target": "com.amazonaws.securityhub#GroupByField", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The attribute by which filtered findings should be grouped.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the how the finding attribute should be grouped.

                              " + } + }, + "com.amazonaws.securityhub#GroupByRules": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#GroupByRule" + } + }, + "com.amazonaws.securityhub#GroupByValue": { + "type": "structure", + "members": { + "FieldValue": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The value of the field by which findings are grouped.

                              " + } + }, + "Count": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings for a specific FieldValue and GroupByField.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents individual aggregated results when grouping security findings for each GroupByField.

                              " + } + }, + "com.amazonaws.securityhub#GroupByValues": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#GroupByValue" + } + }, + "com.amazonaws.securityhub#HealthCheck": { + "type": "structure", + "members": { + "ConnectorStatus": { + "target": "com.amazonaws.securityhub#ConnectorStatus", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The status of the connectorV2.

                              ", + "smithy.api#required": {} + } + }, + "Message": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The message for the reason of connectorStatus change.

                              " + } + }, + "LastCheckedAt": { + "target": "com.amazonaws.securityhub#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              ISO 8601 UTC timestamp for the time check the health status of the connectorV2.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Information about the operational status and health of a connectorV2.

                              " + } + }, "com.amazonaws.securityhub#IcmpTypeCode": { "type": "structure", "members": { @@ -27557,6 +30038,35 @@ "target": "com.amazonaws.securityhub#IntegrationType" } }, + "com.amazonaws.securityhub#IntegrationV2Type": { + "type": "enum", + "members": { + "SEND_FINDINGS_TO_SECURITY_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SEND_FINDINGS_TO_SECURITY_HUB" + } + }, + "RECEIVE_FINDINGS_FROM_SECURITY_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RECEIVE_FINDINGS_FROM_SECURITY_HUB" + } + }, + "UPDATE_FINDINGS_IN_SECURITY_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_FINDINGS_IN_SECURITY_HUB" + } + } + } + }, + "com.amazonaws.securityhub#IntegrationV2TypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#IntegrationV2Type" + } + }, "com.amazonaws.securityhub#InternalException": { "type": "structure", "members": { @@ -27573,6 +30083,22 @@ "smithy.api#httpError": 500 } }, + "com.amazonaws.securityhub#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "Code": { + "target": "com.amazonaws.securityhub#NonEmptyString" + } + }, + "traits": { + "smithy.api#documentation": "

                              \n The request has failed due to an internal failure of the service.\n

                              ", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, "com.amazonaws.securityhub#InvalidAccessException": { "type": "structure", "members": { @@ -27806,6 +30332,74 @@ "target": "com.amazonaws.securityhub#Ipv6CidrBlockAssociation" } }, + "com.amazonaws.securityhub#JiraCloudDetail": { + "type": "structure", + "members": { + "CloudId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The cloud id of the Jira Cloud.

                              " + } + }, + "ProjectKey": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The projectKey of Jira Cloud.

                              " + } + }, + "Domain": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The URL domain of your Jira Cloud instance.

                              " + } + }, + "AuthUrl": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The URL to provide to customers for OAuth auth code flow.

                              " + } + }, + "AuthStatus": { + "target": "com.amazonaws.securityhub#ConnectorAuthStatus", + "traits": { + "smithy.api#documentation": "

                              The status of the authorization between Jira Cloud and the service.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Information about the configuration and status of a Jira Cloud integration.

                              " + } + }, + "com.amazonaws.securityhub#JiraCloudProviderConfiguration": { + "type": "structure", + "members": { + "ProjectKey": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The project key for a JiraCloud instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The initial configuration settings required to establish an integration between Security Hub and Jira Cloud.

                              " + } + }, + "com.amazonaws.securityhub#JiraCloudUpdateConfiguration": { + "type": "structure", + "members": { + "ProjectKey": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The project key for a JiraCloud instance.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The parameters used to modify an existing Jira Cloud integration.

                              " + } + }, "com.amazonaws.securityhub#KeywordFilter": { "type": "structure", "members": { @@ -27842,6 +30436,91 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.securityhub#ListAggregatorsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#ListAggregatorsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#ListAggregatorsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Retrieves a list of V2 aggregators. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/aggregatorv2/list", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "AggregatorsV2", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.securityhub#ListAggregatorsV2Request": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The token required for pagination. \n On your first call, set the value of this parameter to NULL. \n For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              ", + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#ListAggregatorsV2Response": { + "type": "structure", + "members": { + "AggregatorsV2": { + "target": "com.amazonaws.securityhub#AggregatorV2List", + "traits": { + "smithy.api#documentation": "

                              An array of aggregators.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use to request the next page of results. \n Otherwise, this parameter is null.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#ListAutomationRules": { "type": "operation", "input": { @@ -27953,6 +30632,82 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#ListAutomationRulesV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#ListAutomationRulesV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#ListAutomationRulesV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Returns a list of automation rules and metadata for the calling account. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/automationrulesv2/list", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#ListAutomationRulesV2Request": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The token required for pagination. \n On your first call, set the value of this parameter to NULL. \n For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.

                              ", + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to return.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#ListAutomationRulesV2Response": { + "type": "structure", + "members": { + "Rules": { + "target": "com.amazonaws.securityhub#AutomationRulesMetadataListV2", + "traits": { + "smithy.api#documentation": "

                              An array of automation rules.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use to request the next page of results. \n Otherwise, this parameter is null.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#ListConfigurationPolicies": { "type": "operation", "input": { @@ -28170,6 +30925,101 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#ListConnectorsV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#ListConnectorsV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#ListConnectorsV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to retrieve a list of connectorsV2 and their metadata for the calling account. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "GET", + "uri": "/connectorsv2", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#ListConnectorsV2Request": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token per the Amazon Web Services Pagination standard

                              ", + "smithy.api#httpQuery": "NextToken" + } + }, + "MaxResults": { + "target": "com.amazonaws.securityhub#MaxResults", + "traits": { + "smithy.api#documentation": "

                              The maximum number of results to be returned.

                              ", + "smithy.api#httpQuery": "MaxResults" + } + }, + "ProviderName": { + "target": "com.amazonaws.securityhub#ConnectorProviderName", + "traits": { + "smithy.api#documentation": "

                              The name of the third-party provider.

                              ", + "smithy.api#httpQuery": "ProviderName" + } + }, + "ConnectorStatus": { + "target": "com.amazonaws.securityhub#ConnectorStatus", + "traits": { + "smithy.api#documentation": "

                              The status for the connectorV2.

                              ", + "smithy.api#httpQuery": "ConnectorStatus" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#ListConnectorsV2Response": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.securityhub#NextToken", + "traits": { + "smithy.api#documentation": "

                              The pagination token to use to request the next page of results. \n Otherwise, this parameter is null.

                              " + } + }, + "Connectors": { + "target": "com.amazonaws.securityhub#ConnectorSummaryList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              An array of connectorV2 summaries.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#ListEnabledProductsForImport": { "type": "operation", "input": { @@ -28587,6 +31437,13 @@ "smithy.api#documentation": "

                              The token that is required for pagination. On your first call to the\n ListOrganizationAdminAccounts operation, set the value of this parameter to\n NULL. For subsequent calls to the operation, to continue listing data, set\n the value of this parameter to the value returned from the previous response.

                              ", "smithy.api#httpQuery": "NextToken" } + }, + "Feature": { + "target": "com.amazonaws.securityhub#SecurityHubFeature", + "traits": { + "smithy.api#documentation": "

                              The feature where the delegated administrator account is listed. \n Defaults to Security Hub if not specified.

                              ", + "smithy.api#httpQuery": "Feature" + } } }, "traits": { @@ -28607,6 +31464,12 @@ "traits": { "smithy.api#documentation": "

                              The pagination token to use to request the next page of results.

                              " } + }, + "Feature": { + "target": "com.amazonaws.securityhub#SecurityHubFeature", + "traits": { + "smithy.api#documentation": "

                              The feature where the delegated administrator account is listed. \n Defaults to Security Hub CSPM if not specified.

                              " + } } }, "traits": { @@ -29161,6 +32024,15 @@ } } }, + "com.amazonaws.securityhub#MaxStatisticResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 400 + } + } + }, "com.amazonaws.securityhub#Member": { "type": "structure", "members": { @@ -29220,6 +32092,18 @@ "target": "com.amazonaws.securityhub#Member" } }, + "com.amazonaws.securityhub#MetadataUidList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.securityhub#Network": { "type": "structure", "members": { @@ -29726,6 +32610,495 @@ "smithy.api#documentation": "

                              The detected occurrences of sensitive data.

                              " } }, + "com.amazonaws.securityhub#OcsfBooleanField": { + "type": "enum", + "members": { + "COMPLIANCE_ASSESSMENTS_MEETS_CRITERIA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.assessments.meets_criteria" + } + }, + "VULNERABILITIES_IS_EXPLOIT_AVAILABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.is_exploit_available" + } + }, + "VULNERABILITIES_IS_FIX_AVAILABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.is_fix_available" + } + } + } + }, + "com.amazonaws.securityhub#OcsfBooleanFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#OcsfBooleanField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#BooleanFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of security findings based on boolean field values in OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfBooleanFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfBooleanFilter" + } + }, + "com.amazonaws.securityhub#OcsfDateField": { + "type": "enum", + "members": { + "FINDING_INFO_CREATED_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.created_time_dt" + } + }, + "FINDING_INFO_FIRST_SEEN_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.first_seen_time_dt" + } + }, + "FINDING_INFO_LAST_SEEN_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.last_seen_time_dt" + } + }, + "FINDING_INFO_MODIFIED_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.modified_time_dt" + } + } + } + }, + "com.amazonaws.securityhub#OcsfDateFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#OcsfDateField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#DateFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of security findings based on date and timestamp fields in OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfDateFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfDateFilter" + } + }, + "com.amazonaws.securityhub#OcsfFinding": { + "type": "document" + }, + "com.amazonaws.securityhub#OcsfFindingFilters": { + "type": "structure", + "members": { + "CompositeFilters": { + "target": "com.amazonaws.securityhub#CompositeFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables the creation of complex filtering conditions by combining filter criteria.

                              " + } + }, + "CompositeOperator": { + "target": "com.amazonaws.securityhub#AllowedOperators", + "traits": { + "smithy.api#documentation": "

                              The logical operators used to combine the filtering on multiple CompositeFilters.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies the filtering criteria for security findings using OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfFindingIdentifier": { + "type": "structure", + "members": { + "CloudAccountUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Finding cloud.account.uid, which is a unique identifier in the Amazon Web Services account..

                              ", + "smithy.api#required": {} + } + }, + "FindingInfoUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Finding finding_info.uid, which is a unique identifier for the finding from the finding provider.

                              ", + "smithy.api#required": {} + } + }, + "MetadataProductUid": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Finding metadata.product.uid, which is a unique identifier for the product.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Provides a standard to identify security findings using OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfFindingIdentifierList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfFindingIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.securityhub#OcsfFindingsList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfFinding" + } + }, + "com.amazonaws.securityhub#OcsfMapField": { + "type": "enum", + "members": { + "RESOURCES_TAGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.tags" + } + } + } + }, + "com.amazonaws.securityhub#OcsfMapFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#OcsfMapField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#MapFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of security findings based on map field values in OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfMapFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfMapFilter" + } + }, + "com.amazonaws.securityhub#OcsfNumberField": { + "type": "enum", + "members": { + "ACTIVITY_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "activity_id" + } + }, + "COMPLIANCE_STATUS_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.status_id" + } + }, + "CONFIDENCE_SCORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "confidence_score" + } + }, + "SEVERITY_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "severity_id" + } + }, + "STATUS_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "status_id" + } + }, + "FINDING_INFO_RELATED_EVENTS_COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.related_events_count" + } + } + } + }, + "com.amazonaws.securityhub#OcsfNumberFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#OcsfNumberField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#NumberFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of security findings based on numerical field values in OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfNumberFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfNumberFilter" + } + }, + "com.amazonaws.securityhub#OcsfStringField": { + "type": "enum", + "members": { + "METADATA_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "metadata.uid" + } + }, + "ACTIVITY_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "activity_name" + } + }, + "CLOUD_ACCOUNT_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.account.uid" + } + }, + "CLOUD_PROVIDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.provider" + } + }, + "CLOUD_REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.region" + } + }, + "COMPLIANCE_ASSESSMENTS_CATEGORY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.assessments.category" + } + }, + "COMPLIANCE_ASSESSMENTS_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.assessments.name" + } + }, + "COMPLIANCE_CONTROL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.control" + } + }, + "COMPLIANCE_STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.status" + } + }, + "COMPLIANCE_STANDARDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.standards" + } + }, + "FINDING_INFO_DESC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.desc" + } + }, + "FINDING_INFO_SRC_URL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.src_url" + } + }, + "FINDING_INFO_TITLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.title" + } + }, + "FINDING_INFO_TYPES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.types" + } + }, + "FINDING_INFO_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.uid" + } + }, + "FINDING_INFO_RELATED_EVENTS_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.related_events.uid" + } + }, + "FINDING_INFO_RELATED_EVENTS_PRODUCT_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.related_events.product.uid" + } + }, + "FINDING_INFO_RELATED_EVENTS_TITLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.related_events.title" + } + }, + "METADATA_PRODUCT_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "metadata.product.name" + } + }, + "METADATA_PRODUCT_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "metadata.product.uid" + } + }, + "METADATA_PRODUCT_VENDOR_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "metadata.product.vendor_name" + } + }, + "REMEDIATION_DESC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "remediation.desc" + } + }, + "REMEDIATION_REFERENCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "remediation.references" + } + }, + "RESOURCES_CLOUD_PARTITION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.cloud_partition" + } + }, + "RESOURCES_REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.region" + } + }, + "RESOURCES_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.type" + } + }, + "RESOURCES_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.uid" + } + }, + "SEVERITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "severity" + } + }, + "STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "status" + } + }, + "COMMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "comment" + } + }, + "VULNERABILITIES_FIX_COVERAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.fix_coverage" + } + }, + "CLASS_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "class_name" + } + } + } + }, + "com.amazonaws.securityhub#OcsfStringFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#OcsfStringField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#StringFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of security findings based on string field values in OCSF.

                              " + } + }, + "com.amazonaws.securityhub#OcsfStringFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfStringFilter" + } + }, "com.amazonaws.securityhub#OrganizationConfiguration": { "type": "structure", "members": { @@ -30286,12 +33659,68 @@ "target": "com.amazonaws.securityhub#NonEmptyString" } }, + "com.amazonaws.securityhub#ProductV2": { + "type": "structure", + "members": { + "ProductV2Name": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The name of the productV2.

                              " + } + }, + "CompanyName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The name of the organization or vendor that provides the productV2.

                              " + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              Detailed information about the productV2.

                              " + } + }, + "Categories": { + "target": "com.amazonaws.securityhub#CategoryList", + "traits": { + "smithy.api#documentation": "

                              The domains or functional areas the productV2 addresses.

                              " + } + }, + "IntegrationV2Types": { + "target": "com.amazonaws.securityhub#IntegrationV2TypeList", + "traits": { + "smithy.api#documentation": "

                              The type of integration.

                              " + } + }, + "MarketplaceUrl": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The console URL where you can purchase or subscribe to products.

                              " + } + }, + "ActivationUrl": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The URL to the serviceV@ or productV2 documentation about the integration, which includes how to activate the integration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the structure for the productV2.

                              " + } + }, "com.amazonaws.securityhub#ProductsList": { "type": "list", "member": { "target": "com.amazonaws.securityhub#Product" } }, + "com.amazonaws.securityhub#ProductsV2List": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ProductV2" + } + }, "com.amazonaws.securityhub#PropagatingVgwSetDetails": { "type": "structure", "members": { @@ -30312,6 +33741,80 @@ "target": "com.amazonaws.securityhub#PropagatingVgwSetDetails" } }, + "com.amazonaws.securityhub#ProviderConfiguration": { + "type": "union", + "members": { + "JiraCloud": { + "target": "com.amazonaws.securityhub#JiraCloudProviderConfiguration", + "traits": { + "smithy.api#documentation": "

                              The configuration settings required to establish an integration with Jira Cloud.

                              " + } + }, + "ServiceNow": { + "target": "com.amazonaws.securityhub#ServiceNowProviderConfiguration", + "traits": { + "smithy.api#documentation": "

                              The configuration settings required to establish an integration with ServiceNow ITSM.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The initial configuration settings required to establish an integration between Security Hub and third-party provider.

                              " + } + }, + "com.amazonaws.securityhub#ProviderDetail": { + "type": "union", + "members": { + "JiraCloud": { + "target": "com.amazonaws.securityhub#JiraCloudDetail", + "traits": { + "smithy.api#documentation": "

                              Details about a Jira Cloud integration.

                              " + } + }, + "ServiceNow": { + "target": "com.amazonaws.securityhub#ServiceNowDetail", + "traits": { + "smithy.api#documentation": "

                              Details about a ServiceNow ITSM integration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The third-party provider detail for a service configuration.

                              " + } + }, + "com.amazonaws.securityhub#ProviderSummary": { + "type": "structure", + "members": { + "ProviderName": { + "target": "com.amazonaws.securityhub#ConnectorProviderName", + "traits": { + "smithy.api#documentation": "

                              The name of the provider.

                              " + } + }, + "ConnectorStatus": { + "target": "com.amazonaws.securityhub#ConnectorStatus", + "traits": { + "smithy.api#documentation": "

                              The status for the connectorV2.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The connectorV2 third-party provider configuration summary.

                              " + } + }, + "com.amazonaws.securityhub#ProviderUpdateConfiguration": { + "type": "union", + "members": { + "JiraCloud": { + "target": "com.amazonaws.securityhub#JiraCloudUpdateConfiguration", + "traits": { + "smithy.api#documentation": "

                              The parameters required to update the configuration for a Jira Cloud integration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The parameters required to update the configuration of an integration provider.

                              " + } + }, "com.amazonaws.securityhub#Range": { "type": "structure", "members": { @@ -30561,6 +34064,62 @@ "smithy.api#pattern": "^arn:aws:securityhub:" } }, + "com.amazonaws.securityhub#ResourceCategory": { + "type": "enum", + "members": { + "COMPUTE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Compute" + } + }, + "DATABASE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Database" + } + }, + "STORAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Storage" + } + }, + "CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Code" + } + }, + "AI_ML": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AI/ML" + } + }, + "IDENTITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Identity" + } + }, + "NETWORK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Network" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Other" + } + } + } + }, + "com.amazonaws.securityhub#ResourceConfig": { + "type": "document" + }, "com.amazonaws.securityhub#ResourceConflictException": { "type": "structure", "members": { @@ -31167,6 +34726,119 @@ "smithy.api#documentation": "

                              Additional details about a resource related to a finding.

                              \n

                              To provide the details, use the object that corresponds to the resource type. For\n example, if the resource type is AwsEc2Instance, then you use the\n AwsEc2Instance object to provide the details.

                              \n

                              If the type-specific object does not contain all of the fields you want to populate,\n then you use the Other object to populate those additional fields.

                              \n

                              You also use the Other object to populate the details when the selected\n type does not have a corresponding object.

                              " } }, + "com.amazonaws.securityhub#ResourceFindingsSummary": { + "type": "structure", + "members": { + "FindingType": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The category or classification of the security finding.

                              ", + "smithy.api#required": {} + } + }, + "ProductName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The name of the product associated with the security finding.

                              ", + "smithy.api#required": {} + } + }, + "TotalFindings": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The total count of security findings.

                              ", + "smithy.api#required": {} + } + }, + "Severities": { + "target": "com.amazonaws.securityhub#ResourceSeverityBreakdown", + "traits": { + "smithy.api#documentation": "

                              A breakdown of security findings by their severity levels.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A list of summaries for all finding types on a resource.

                              " + } + }, + "com.amazonaws.securityhub#ResourceFindingsSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourceFindingsSummary" + } + }, + "com.amazonaws.securityhub#ResourceGroupByField": { + "type": "enum", + "members": { + "ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "account_id" + } + }, + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "RESOURCE_CATEGORY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_category" + } + }, + "RESOURCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_type" + } + }, + "RESOURCE_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_name" + } + }, + "FINDING_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.finding_type" + } + } + } + }, + "com.amazonaws.securityhub#ResourceGroupByRule": { + "type": "structure", + "members": { + "GroupByField": { + "target": "com.amazonaws.securityhub#ResourceGroupByField", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Specifies the attribute that resources should be grouped by.

                              ", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.securityhub#ResourcesFilters", + "traits": { + "smithy.api#documentation": "

                              The criteria used to select resources and associated security findings.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings.

                              " + } + }, + "com.amazonaws.securityhub#ResourceGroupByRules": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourceGroupByRule" + } + }, "com.amazonaws.securityhub#ResourceInUseException": { "type": "structure", "members": { @@ -31205,6 +34877,490 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.securityhub#ResourceResult": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              Specifies the ARN that uniquely identifies a resource.

                              " + } + }, + "ResourceId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The unique identifier for a resource.

                              ", + "smithy.api#required": {} + } + }, + "AccountId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The Amazon Web Services account that owns the resource.

                              ", + "smithy.api#required": {} + } + }, + "Region": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The Amazon Web Services Region where the resource is located.

                              ", + "smithy.api#required": {} + } + }, + "ResourceCategory": { + "target": "com.amazonaws.securityhub#ResourceCategory", + "traits": { + "smithy.api#documentation": "

                              The grouping where the resource belongs.

                              " + } + }, + "ResourceType": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The type of resource.

                              " + } + }, + "ResourceName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The name of the resource.

                              " + } + }, + "ResourceCreationTimeDt": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The time when the resource was created.

                              " + } + }, + "ResourceDetailCaptureTimeDt": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The timestamp when information about the resource was captured.

                              ", + "smithy.api#required": {} + } + }, + "FindingsSummary": { + "target": "com.amazonaws.securityhub#ResourceFindingsSummaryList", + "traits": { + "smithy.api#documentation": "

                              An aggregated view of security findings associated with a resource.

                              " + } + }, + "ResourceTags": { + "target": "com.amazonaws.securityhub#ResourceTagList", + "traits": { + "smithy.api#documentation": "

                              The key-value pairs associated with a resource.

                              " + } + }, + "ResourceConfig": { + "target": "com.amazonaws.securityhub#ResourceConfig", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The configuration details of a resource.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Provides comprehensive details about an Amazon Web Services resource and its associated security findings.

                              " + } + }, + "com.amazonaws.securityhub#ResourceSeverityBreakdown": { + "type": "structure", + "members": { + "Other": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings not in any of the severity categories.

                              " + } + }, + "Fatal": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings with a severity level of fatal.

                              " + } + }, + "Critical": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings with a severity level of critical.

                              " + } + }, + "High": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings with a severity level of high.

                              " + } + }, + "Medium": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings with a severity level of medium.

                              " + } + }, + "Low": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings with a severity level of low.

                              " + } + }, + "Informational": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings that provide security-related information.

                              " + } + }, + "Unknown": { + "target": "com.amazonaws.securityhub#Integer", + "traits": { + "smithy.api#documentation": "

                              The number of findings with a severity level cannot be determined.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A comprehensive distribution of security findings by severity level for Amazon Web Services resources.

                              " + } + }, + "com.amazonaws.securityhub#ResourceTag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The identifier or name of the tag.

                              ", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The data associated with the tag key.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents tag information associated with Amazon Web Services resources.

                              " + } + }, + "com.amazonaws.securityhub#ResourceTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourceTag" + } + }, + "com.amazonaws.securityhub#Resources": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourceResult" + } + }, + "com.amazonaws.securityhub#ResourcesCompositeFilter": { + "type": "structure", + "members": { + "StringFilters": { + "target": "com.amazonaws.securityhub#ResourcesStringFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on string field values.

                              " + } + }, + "DateFilters": { + "target": "com.amazonaws.securityhub#ResourcesDateFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on date and timestamp field values.

                              " + } + }, + "NumberFilters": { + "target": "com.amazonaws.securityhub#ResourcesNumberFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on numerical field values.

                              " + } + }, + "MapFilters": { + "target": "com.amazonaws.securityhub#ResourcesMapFilterList", + "traits": { + "smithy.api#documentation": "

                              Enables filtering based on map-based field values.

                              " + } + }, + "Operator": { + "target": "com.amazonaws.securityhub#AllowedOperators", + "traits": { + "smithy.api#documentation": "

                              The logical operator used to combine multiple filter conditions.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables the creation of criteria for Amazon Web Services resources in Security Hub.

                              " + } + }, + "com.amazonaws.securityhub#ResourcesCompositeFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourcesCompositeFilter" + } + }, + "com.amazonaws.securityhub#ResourcesDateField": { + "type": "enum", + "members": { + "RESOURCE_DETAIL_CAPTURE_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_detail_capture_time_dt" + } + }, + "RESOURCE_CREATION_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_creation_time_dt" + } + } + } + }, + "com.amazonaws.securityhub#ResourcesDateFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#ResourcesDateField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#DateFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables the filtering of Amazon Web Services resources based on date and timestamp attributes.

                              " + } + }, + "com.amazonaws.securityhub#ResourcesDateFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourcesDateFilter" + } + }, + "com.amazonaws.securityhub#ResourcesFilters": { + "type": "structure", + "members": { + "CompositeFilters": { + "target": "com.amazonaws.securityhub#ResourcesCompositeFilterList", + "traits": { + "smithy.api#documentation": "

                              A collection of complex filtering conditions that can be applied to Amazon Web Services resources.

                              " + } + }, + "CompositeOperator": { + "target": "com.amazonaws.securityhub#AllowedOperators", + "traits": { + "smithy.api#documentation": "

                              The logical operator used to combine multiple filter conditions in the structure.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of Amazon Web Services resources based on data.

                              " + } + }, + "com.amazonaws.securityhub#ResourcesMapField": { + "type": "enum", + "members": { + "TAG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tags" + } + } + } + }, + "com.amazonaws.securityhub#ResourcesMapFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#ResourcesMapField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#MapFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of Amazon Web Services resources based on key-value map attributes.

                              " + } + }, + "com.amazonaws.securityhub#ResourcesMapFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourcesMapFilter" + } + }, + "com.amazonaws.securityhub#ResourcesNumberField": { + "type": "enum", + "members": { + "TOTAL_FINDINGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.total_findings" + } + }, + "SEVERITY_OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.other" + } + }, + "SEVERITY_FATAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.fatal" + } + }, + "SEVERITY_CRITICAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.critical" + } + }, + "SEVERITY_HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.high" + } + }, + "SEVERITY_MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.medium" + } + }, + "SEVERITY_LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.low" + } + }, + "SEVERITY_INFORMATIONAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.informational" + } + }, + "SEVERITY_UNKNOWN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.severities.unknown" + } + } + } + }, + "com.amazonaws.securityhub#ResourcesNumberFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#ResourcesNumberField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#NumberFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of Amazon Web Services resources based on numerical values.

                              " + } + }, + "com.amazonaws.securityhub#ResourcesNumberFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourcesNumberFilter" + } + }, + "com.amazonaws.securityhub#ResourcesStringField": { + "type": "enum", + "members": { + "RESOURCE_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_arn" + } + }, + "RESOURCE_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_id" + } + }, + "ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "account_id" + } + }, + "REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "region" + } + }, + "RESOURCE_CATEGORY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_category" + } + }, + "RESOURCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_type" + } + }, + "RESOURCE_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource_name" + } + }, + "FINDING_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.finding_type" + } + }, + "PRODUCT_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "findings_summary.product_name" + } + } + } + }, + "com.amazonaws.securityhub#ResourcesStringFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#ResourcesStringField", + "traits": { + "smithy.api#documentation": "

                              The name of the field.

                              " + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#StringFilter" + } + }, + "traits": { + "smithy.api#documentation": "

                              Enables filtering of Amazon Web Services resources based on string field values.

                              " + } + }, + "com.amazonaws.securityhub#ResourcesStringFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#ResourcesStringFilter" + } + }, "com.amazonaws.securityhub#Result": { "type": "structure", "members": { @@ -31844,6 +36000,15 @@ } } }, + "com.amazonaws.securityhub#RuleOrderValueV2": { + "type": "float", + "traits": { + "smithy.api#range": { + "min": 1.0, + "max": 1000.0 + } + } + }, "com.amazonaws.securityhub#RuleStatus": { "type": "enum", "members": { @@ -31861,6 +36026,23 @@ } } }, + "com.amazonaws.securityhub#RuleStatusV2": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.securityhub#SecurityControl": { "type": "structure", "members": { @@ -32158,18 +36340,33 @@ { "target": "com.amazonaws.securityhub#BatchUpdateFindings" }, + { + "target": "com.amazonaws.securityhub#BatchUpdateFindingsV2" + }, { "target": "com.amazonaws.securityhub#BatchUpdateStandardsControlAssociations" }, + { + "target": "com.amazonaws.securityhub#ConnectorRegistrationsV2" + }, { "target": "com.amazonaws.securityhub#CreateActionTarget" }, + { + "target": "com.amazonaws.securityhub#CreateAggregatorV2" + }, { "target": "com.amazonaws.securityhub#CreateAutomationRule" }, + { + "target": "com.amazonaws.securityhub#CreateAutomationRuleV2" + }, { "target": "com.amazonaws.securityhub#CreateConfigurationPolicy" }, + { + "target": "com.amazonaws.securityhub#CreateConnectorV2" + }, { "target": "com.amazonaws.securityhub#CreateFindingAggregator" }, @@ -32179,15 +36376,27 @@ { "target": "com.amazonaws.securityhub#CreateMembers" }, + { + "target": "com.amazonaws.securityhub#CreateTicketV2" + }, { "target": "com.amazonaws.securityhub#DeclineInvitations" }, { "target": "com.amazonaws.securityhub#DeleteActionTarget" }, + { + "target": "com.amazonaws.securityhub#DeleteAggregatorV2" + }, + { + "target": "com.amazonaws.securityhub#DeleteAutomationRuleV2" + }, { "target": "com.amazonaws.securityhub#DeleteConfigurationPolicy" }, + { + "target": "com.amazonaws.securityhub#DeleteConnectorV2" + }, { "target": "com.amazonaws.securityhub#DeleteFindingAggregator" }, @@ -32212,6 +36421,12 @@ { "target": "com.amazonaws.securityhub#DescribeProducts" }, + { + "target": "com.amazonaws.securityhub#DescribeProductsV2" + }, + { + "target": "com.amazonaws.securityhub#DescribeSecurityHubV2" + }, { "target": "com.amazonaws.securityhub#DescribeStandards" }, @@ -32227,6 +36442,9 @@ { "target": "com.amazonaws.securityhub#DisableSecurityHub" }, + { + "target": "com.amazonaws.securityhub#DisableSecurityHubV2" + }, { "target": "com.amazonaws.securityhub#DisassociateFromAdministratorAccount" }, @@ -32245,15 +36463,27 @@ { "target": "com.amazonaws.securityhub#EnableSecurityHub" }, + { + "target": "com.amazonaws.securityhub#EnableSecurityHubV2" + }, { "target": "com.amazonaws.securityhub#GetAdministratorAccount" }, + { + "target": "com.amazonaws.securityhub#GetAggregatorV2" + }, + { + "target": "com.amazonaws.securityhub#GetAutomationRuleV2" + }, { "target": "com.amazonaws.securityhub#GetConfigurationPolicy" }, { "target": "com.amazonaws.securityhub#GetConfigurationPolicyAssociation" }, + { + "target": "com.amazonaws.securityhub#GetConnectorV2" + }, { "target": "com.amazonaws.securityhub#GetEnabledStandards" }, @@ -32266,6 +36496,12 @@ { "target": "com.amazonaws.securityhub#GetFindings" }, + { + "target": "com.amazonaws.securityhub#GetFindingStatisticsV2" + }, + { + "target": "com.amazonaws.securityhub#GetFindingsV2" + }, { "target": "com.amazonaws.securityhub#GetInsightResults" }, @@ -32281,21 +36517,36 @@ { "target": "com.amazonaws.securityhub#GetMembers" }, + { + "target": "com.amazonaws.securityhub#GetResourcesStatisticsV2" + }, + { + "target": "com.amazonaws.securityhub#GetResourcesV2" + }, { "target": "com.amazonaws.securityhub#GetSecurityControlDefinition" }, { "target": "com.amazonaws.securityhub#InviteMembers" }, + { + "target": "com.amazonaws.securityhub#ListAggregatorsV2" + }, { "target": "com.amazonaws.securityhub#ListAutomationRules" }, + { + "target": "com.amazonaws.securityhub#ListAutomationRulesV2" + }, { "target": "com.amazonaws.securityhub#ListConfigurationPolicies" }, { "target": "com.amazonaws.securityhub#ListConfigurationPolicyAssociations" }, + { + "target": "com.amazonaws.securityhub#ListConnectorsV2" + }, { "target": "com.amazonaws.securityhub#ListEnabledProductsForImport" }, @@ -32335,9 +36586,18 @@ { "target": "com.amazonaws.securityhub#UpdateActionTarget" }, + { + "target": "com.amazonaws.securityhub#UpdateAggregatorV2" + }, + { + "target": "com.amazonaws.securityhub#UpdateAutomationRuleV2" + }, { "target": "com.amazonaws.securityhub#UpdateConfigurationPolicy" }, + { + "target": "com.amazonaws.securityhub#UpdateConnectorV2" + }, { "target": "com.amazonaws.securityhub#UpdateFindingAggregator" }, @@ -33355,6 +37615,23 @@ } } }, + "com.amazonaws.securityhub#SecurityHubFeature": { + "type": "enum", + "members": { + "SECURITY_HUB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SecurityHub" + } + }, + "SECURITY_HUB_V2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SecurityHubV2" + } + } + } + }, "com.amazonaws.securityhub#SecurityHubPolicy": { "type": "structure", "members": { @@ -33445,6 +37722,13 @@ "target": "com.amazonaws.securityhub#SensitiveDataResult" } }, + "com.amazonaws.securityhub#SensitiveNonEmptyString": { + "type": "string", + "traits": { + "smithy.api#pattern": "\\S", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.securityhub#Sequence": { "type": "structure", "members": { @@ -33483,6 +37767,66 @@ "smithy.api#documentation": "

                              \n Contains information about an Amazon GuardDuty Extended Threat Detection attack sequence finding. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide.\n

                              " } }, + "com.amazonaws.securityhub#ServiceNowDetail": { + "type": "structure", + "members": { + "InstanceName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The instanceName of ServiceNow ITSM.

                              " + } + }, + "ClientId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The clientId of ServiceNow ITSM.

                              " + } + }, + "AuthStatus": { + "target": "com.amazonaws.securityhub#ConnectorAuthStatus", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The status of the authorization between Jira Cloud and the service.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Information about a ServiceNow ITSM integration.

                              " + } + }, + "com.amazonaws.securityhub#ServiceNowProviderConfiguration": { + "type": "structure", + "members": { + "InstanceName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The instance name of ServiceNow ITSM.

                              ", + "smithy.api#required": {} + } + }, + "ClientId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The client ID of ServiceNow ITSM.

                              ", + "smithy.api#required": {} + } + }, + "ClientSecret": { + "target": "com.amazonaws.securityhub#SensitiveNonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              The client secret of ServiceNow ITSM.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The initial configuration settings required to establish an integration between Security Hub and ServiceNow ITSM.

                              " + } + }, "com.amazonaws.securityhub#Severity": { "type": "structure", "members": { @@ -34745,7 +39089,7 @@ "Comparison": { "target": "com.amazonaws.securityhub#StringFilterComparison", "traits": { - "smithy.api#documentation": "

                              The condition to apply to a string value when filtering Security Hub findings.

                              \n

                              To search for values that have the filter value, use one of the following comparison operators:

                              \n
                                \n
                              • \n

                                To search for values that include the filter value, use CONTAINS. For example, the \n filter Title CONTAINS CloudFront matches findings that have a Title that \n includes the string CloudFront.

                                \n
                              • \n
                              • \n

                                To search for values that exactly match the filter value, use EQUALS. For example, \n the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of \n 123456789012.

                                \n
                              • \n
                              • \n

                                To search for values that start with the filter value, use PREFIX. For example, the \n filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts \n with us. A ResourceRegion that starts with a different value, such as af, \n ap, or ca, doesn't match.

                                \n
                              • \n
                              \n

                              \n CONTAINS, EQUALS, and PREFIX filters on the same field are joined by \n OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR \n Title CONTAINS CloudWatch match a finding that includes either CloudFront, \n CloudWatch, or both strings in the title.

                              \n

                              To search for values that don’t have the filter value, use one of the following comparison operators:

                              \n
                                \n
                              • \n

                                To search for values that exclude the filter value, use NOT_CONTAINS. For example, the \n filter Title NOT_CONTAINS CloudFront matches findings that have a Title that \n excludes the string CloudFront.

                                \n
                              • \n
                              • \n

                                To search for values other than the filter value, use NOT_EQUALS. For \n example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account \n ID other than 123456789012.

                                \n
                              • \n
                              • \n

                                To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For \n example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a \n ResourceRegion that starts with a value other than us.

                                \n
                              • \n
                              \n

                              \n NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field \n are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND \n Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and \n CloudWatch in the title.

                              \n

                              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, \n you can't provide both an EQUALS filter and a NOT_EQUALS or \n PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters \n can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with \n other NOT_CONTAINS filters.

                              \n

                              You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. \n Security Hub first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                              \n

                              For example, for the following filters, Security Hub first identifies findings that have resource types \n that start with either AwsIam or AwsEc2. It then excludes findings that have a resource \n type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                              \n
                                \n
                              • \n

                                \n ResourceType PREFIX AwsIam\n

                                \n
                              • \n
                              • \n

                                \n ResourceType PREFIX AwsEc2\n

                                \n
                              • \n
                              • \n

                                \n ResourceType NOT_EQUALS AwsIamPolicy\n

                                \n
                              • \n
                              • \n

                                \n ResourceType NOT_EQUALS AwsEc2NetworkInterface\n

                                \n
                              • \n
                              \n

                              \n CONTAINS and NOT_CONTAINS operators can be used only with automation rules. For more information, \n see Automation rules in the Security Hub User Guide.

                              " + "smithy.api#documentation": "

                              The condition to apply to a string value when filtering Security Hub findings.

                              \n

                              To search for values that have the filter value, use one of the following comparison operators:

                              \n
                                \n
                              • \n

                                To search for values that include the filter value, use CONTAINS. For example, the \n filter Title CONTAINS CloudFront matches findings that have a Title that \n includes the string CloudFront.

                                \n
                              • \n
                              • \n

                                To search for values that exactly match the filter value, use EQUALS. For example, \n the filter AwsAccountId EQUALS 123456789012 only matches findings that have an account ID of \n 123456789012.

                                \n
                              • \n
                              • \n

                                To search for values that start with the filter value, use PREFIX. For example, the \n filter ResourceRegion PREFIX us matches findings that have a ResourceRegion that starts \n with us. A ResourceRegion that starts with a different value, such as af, \n ap, or ca, doesn't match.

                                \n
                              • \n
                              \n

                              \n CONTAINS, EQUALS, and PREFIX filters on the same field are joined by \n OR. A finding matches if it matches any one of those filters. For example, the filters Title CONTAINS CloudFront OR \n Title CONTAINS CloudWatch match a finding that includes either CloudFront, \n CloudWatch, or both strings in the title.

                              \n

                              To search for values that don’t have the filter value, use one of the following comparison operators:

                              \n
                                \n
                              • \n

                                To search for values that exclude the filter value, use NOT_CONTAINS. For example, the \n filter Title NOT_CONTAINS CloudFront matches findings that have a Title that \n excludes the string CloudFront.

                                \n
                              • \n
                              • \n

                                To search for values other than the filter value, use NOT_EQUALS. For \n example, the filter AwsAccountId NOT_EQUALS 123456789012 only matches findings that have an account \n ID other than 123456789012.

                                \n
                              • \n
                              • \n

                                To search for values that don't start with the filter value, use PREFIX_NOT_EQUALS. For \n example, the filter ResourceRegion PREFIX_NOT_EQUALS us matches findings with a \n ResourceRegion that starts with a value other than us.

                                \n
                              • \n
                              \n

                              \n NOT_CONTAINS, NOT_EQUALS, and PREFIX_NOT_EQUALS filters on the same field \n are joined by AND. A finding matches only if it matches all of those filters. For example, the filters Title NOT_CONTAINS CloudFront AND \n Title NOT_CONTAINS CloudWatch match a finding that excludes both CloudFront and \n CloudWatch in the title.

                              \n

                              You can’t have both a CONTAINS filter and a NOT_CONTAINS filter on the same field. Similarly, \n you can't provide both an EQUALS filter and a NOT_EQUALS or \n PREFIX_NOT_EQUALS filter on the same field. Combining filters in this way returns an error. CONTAINS filters \n can only be used with other CONTAINS filters. NOT_CONTAINS filters can only be used with \n other NOT_CONTAINS filters.

                              \n

                              You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. \n Security Hub first processes the PREFIX filters, and then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

                              \n

                              For example, for the following filters, Security Hub first identifies findings that have resource types \n that start with either AwsIam or AwsEc2. It then excludes findings that have a resource \n type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

                              \n
                                \n
                              • \n

                                \n ResourceType PREFIX AwsIam\n

                                \n
                              • \n
                              • \n

                                \n ResourceType PREFIX AwsEc2\n

                                \n
                              • \n
                              • \n

                                \n ResourceType NOT_EQUALS AwsIamPolicy\n

                                \n
                              • \n
                              • \n

                                \n ResourceType NOT_EQUALS AwsEc2NetworkInterface\n

                                \n
                              • \n
                              \n

                              \n CONTAINS and NOT_CONTAINS operators can be used only with automation rules V1. \n CONTAINS_WORD operator is only supported in GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2, and GetResourceStatisticsV2 APIs. \n For more information, see Automation rules in the Security Hub User Guide.

                              " } } }, @@ -34791,6 +39135,12 @@ "traits": { "smithy.api#enumValue": "NOT_CONTAINS" } + }, + "CONTAINS_WORD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONTAINS_WORD" + } } } }, @@ -35205,6 +39555,22 @@ "target": "com.amazonaws.securityhub#Threat" } }, + "com.amazonaws.securityhub#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "Code": { + "target": "com.amazonaws.securityhub#NonEmptyString" + } + }, + "traits": { + "smithy.api#documentation": "

                              \n The limit on the number of requests per second was exceeded.\n

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, "com.amazonaws.securityhub#Timestamp": { "type": "timestamp", "traits": { @@ -35567,6 +39933,201 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#UpdateAggregatorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#UpdateAggregatorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#UpdateAggregatorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Udpates the configuration for the Aggregator V2. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "PATCH", + "uri": "/aggregatorv2/update/{AggregatorV2Arn+}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#UpdateAggregatorV2Request": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the Aggregator V2.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RegionLinkingMode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

                              Determines how Amazon Web Services Regions should be linked to the Aggregator V2.

                              ", + "smithy.api#required": {} + } + }, + "LinkedRegions": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

                              A list of Amazon Web Services Regions linked to the aggegation Region.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#UpdateAggregatorV2Response": { + "type": "structure", + "members": { + "AggregatorV2Arn": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the Aggregator V2.

                              " + } + }, + "AggregationRegion": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The Amazon Web Services Region where data is aggregated.

                              " + } + }, + "RegionLinkingMode": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              Determines how Amazon Web Services Regions should be linked to the Aggregator V2.

                              " + } + }, + "LinkedRegions": { + "target": "com.amazonaws.securityhub#StringList", + "traits": { + "smithy.api#documentation": "

                              A list of Amazon Web Services Regions linked to the aggegation Region.

                              " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.securityhub#UpdateAutomationRuleV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#UpdateAutomationRuleV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#UpdateAutomationRuleV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Updates a V2 automation rule. This API is in private preview and subject to change.

                              ", + "smithy.api#http": { + "method": "PATCH", + "uri": "/automationrulesv2/{Identifier}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#UpdateAutomationRuleV2Request": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The ARN of the automation rule.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RuleStatus": { + "target": "com.amazonaws.securityhub#RuleStatusV2", + "traits": { + "smithy.api#documentation": "

                              The status of the automation rule.

                              " + } + }, + "RuleOrder": { + "target": "com.amazonaws.securityhub#RuleOrderValueV2", + "traits": { + "smithy.api#documentation": "

                              Represents a value for the rule priority.

                              " + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              A description of the automation rule.

                              " + } + }, + "RuleName": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The name of the automation rule.

                              " + } + }, + "Criteria": { + "target": "com.amazonaws.securityhub#Criteria", + "traits": { + "smithy.api#documentation": "

                              The filtering type and configuration of the automation rule.

                              " + } + }, + "Actions": { + "target": "com.amazonaws.securityhub#AutomationRulesActionListV2", + "traits": { + "smithy.api#documentation": "

                              A list of actions to be performed when the rule criteria is met.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#UpdateAutomationRuleV2Response": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#UpdateAutomationRulesRequestItem": { "type": "structure", "members": { @@ -35843,6 +40404,84 @@ "smithy.api#output": {} } }, + "com.amazonaws.securityhub#UpdateConnectorV2": { + "type": "operation", + "input": { + "target": "com.amazonaws.securityhub#UpdateConnectorV2Request" + }, + "output": { + "target": "com.amazonaws.securityhub#UpdateConnectorV2Response" + }, + "errors": [ + { + "target": "com.amazonaws.securityhub#AccessDeniedException" + }, + { + "target": "com.amazonaws.securityhub#ConflictException" + }, + { + "target": "com.amazonaws.securityhub#InternalServerException" + }, + { + "target": "com.amazonaws.securityhub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.securityhub#ThrottlingException" + }, + { + "target": "com.amazonaws.securityhub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                              Grants permission to update a connectorV2 based on its id and input parameters. This API is in preview release and subject to change.

                              ", + "smithy.api#http": { + "method": "PATCH", + "uri": "/connectorsv2/{ConnectorId+}", + "code": 200 + } + } + }, + "com.amazonaws.securityhub#UpdateConnectorV2Request": { + "type": "structure", + "members": { + "ConnectorId": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The UUID of the connectorV2 to identify connectorV2 resource.

                              ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ClientSecret": { + "target": "com.amazonaws.securityhub#SensitiveNonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The clientSecret of ServiceNow.

                              " + } + }, + "Description": { + "target": "com.amazonaws.securityhub#NonEmptyString", + "traits": { + "smithy.api#documentation": "

                              The description of the connectorV2.

                              " + } + }, + "Provider": { + "target": "com.amazonaws.securityhub#ProviderUpdateConfiguration", + "traits": { + "smithy.api#documentation": "

                              The third-party provider’s service configuration.

                              " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.securityhub#UpdateConnectorV2Response": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.securityhub#UpdateFindingAggregator": { "type": "operation", "input": { @@ -36505,6 +41144,22 @@ "smithy.api#documentation": "

                              \n Provides Amazon Web Services account information of the user involved in an Amazon GuardDuty Extended Threat Detection attack sequence. GuardDuty generates an attack \n sequence finding when multiple events align to a potentially suspicious activity. To receive GuardDuty attack sequence findings in Security Hub, you \n\t\t\t\tmust have GuardDuty enabled. For more information, see GuardDuty Extended Threat Detection in the Amazon GuardDuty User Guide. \n

                              " } }, + "com.amazonaws.securityhub#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.securityhub#NonEmptyString" + }, + "Code": { + "target": "com.amazonaws.securityhub#NonEmptyString" + } + }, + "traits": { + "smithy.api#documentation": "

                              The request has failed validation because it's missing required fields or has invalid inputs.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.securityhub#VerificationState": { "type": "enum", "members": { diff --git a/tools/code-generation/smithy/api-descriptions/sts.json b/tools/code-generation/smithy/api-descriptions/sts.json index d5e6ea3e91a..49dfd5d99ab 100644 --- a/tools/code-generation/smithy/api-descriptions/sts.json +++ b/tools/code-generation/smithy/api-descriptions/sts.json @@ -2462,6 +2462,7 @@ } ], "traits": { + "smithy.api#auth": [], "smithy.api#documentation": "

                              Returns a set of temporary security credentials for users who have been authenticated\n via a SAML authentication response. This operation provides a mechanism for tying an\n enterprise identity store or directory to role-based Amazon Web Services access without user-specific\n credentials or configuration. For a comparison of AssumeRoleWithSAML with the\n other API operations that produce temporary credentials, see Requesting Temporary Security\n Credentials and Compare STS\n credentials in the IAM User Guide.

                              \n

                              The temporary security credentials returned by this operation consist of an access key\n ID, a secret access key, and a security token. Applications can use these temporary\n security credentials to sign calls to Amazon Web Services services.

                              \n

                              \n Session Duration\n

                              \n

                              By default, the temporary security credentials created by\n AssumeRoleWithSAML last for one hour. However, you can use the optional\n DurationSeconds parameter to specify the duration of your session. Your\n role session lasts for the duration that you specify, or until the time specified in the\n SAML authentication response's SessionNotOnOrAfter value, whichever is\n shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes)\n up to the maximum session duration setting for the role. This setting can have a value from\n 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the\n Maximum Session Duration Setting for a Role in the\n IAM User Guide. The maximum session duration limit applies when\n you use the AssumeRole* API operations or the assume-role* CLI\n commands. However the limit does not apply when you use those operations to create a\n console URL. For more information, see Using IAM Roles in the\n IAM User Guide.

                              \n \n

                              \n Role chaining limits your CLI or Amazon Web Services API role\n session to a maximum of one hour. When you use the AssumeRole API operation\n to assume a role, you can specify the duration of your role session with the\n DurationSeconds parameter. You can specify a parameter value of up to\n 43200 seconds (12 hours), depending on the maximum session duration setting for your\n role. However, if you assume a role using role chaining and provide a\n DurationSeconds parameter value greater than one hour, the operation\n fails.

                              \n
                              \n

                              \n Permissions\n

                              \n

                              The temporary security credentials created by AssumeRoleWithSAML can be\n used to make API calls to any Amazon Web Services service with the following exception: you cannot call\n the STS GetFederationToken or GetSessionToken API\n operations.

                              \n

                              (Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

                              \n

                              Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security\n credentials. The identity of the caller is validated by using keys in the metadata document\n that is uploaded for the SAML provider entity for your identity provider.

                              \n \n

                              Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs.\n The entry includes the value in the NameID element of the SAML assertion.\n We recommend that you use a NameIDType that is not associated with any\n personally identifiable information (PII). For example, you could instead use the\n persistent identifier\n (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

                              \n
                              \n

                              \n Tags\n

                              \n

                              (Optional) You can configure your IdP to pass attributes into your SAML assertion as\n session tags. Each session tag consists of a key name and an associated value. For more\n information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

                              \n

                              You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128\n characters and the values can’t exceed 256 characters. For these and additional limits, see\n IAM\n and STS Character Limits in the IAM User Guide.

                              \n \n

                              An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

                              \n
                              \n

                              You can pass a session tag with the same key as a tag that is attached to the role. When\n you do, session tags override the role's tags with the same key.

                              \n

                              An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

                              \n

                              You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

                              \n

                              \n SAML Configuration\n

                              \n

                              Before your application can call AssumeRoleWithSAML, you must configure\n your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you\n must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that\n represents your identity provider. You must also create an IAM role that specifies this\n SAML provider in its trust policy.

                              \n

                              For more information, see the following resources:

                              \n ", "smithy.api#examples": [ { @@ -2492,7 +2493,8 @@ "Subject": "SamlExample" } } - ] + ], + "smithy.api#optionalAuth": {} } }, "com.amazonaws.sts#AssumeRoleWithSAMLRequest": { @@ -2637,6 +2639,7 @@ } ], "traits": { + "smithy.api#auth": [], "smithy.api#documentation": "

                              Returns a set of temporary security credentials for users who have been authenticated in\n a mobile or web application with a web identity provider. Example providers include the\n OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID Connect-compatible\n identity provider such as Google or Amazon Cognito federated identities.

                              \n \n

                              For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the\n Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely\n identify a user. You can also supply the user with a consistent identity throughout the\n lifetime of an application.

                              \n

                              To learn more about Amazon Cognito, see Amazon Cognito identity\n pools in Amazon Cognito Developer Guide.

                              \n
                              \n

                              Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services\n security credentials. Therefore, you can distribute an application (for example, on mobile\n devices) that requests temporary security credentials without including long-term Amazon Web Services\n credentials in the application. You also don't need to deploy server-based proxy services\n that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by\n using a token from the web identity provider. For a comparison of\n AssumeRoleWithWebIdentity with the other API operations that produce\n temporary credentials, see Requesting Temporary Security\n Credentials and Compare STS\n credentials in the IAM User Guide.

                              \n

                              The temporary security credentials returned by this API consist of an access key ID, a\n secret access key, and a security token. Applications can use these temporary security\n credentials to sign calls to Amazon Web Services service API operations.

                              \n

                              \n Session Duration\n

                              \n

                              By default, the temporary security credentials created by\n AssumeRoleWithWebIdentity last for one hour. However, you can use the\n optional DurationSeconds parameter to specify the duration of your session.\n You can provide a value from 900 seconds (15 minutes) up to the maximum session duration\n setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how\n to view the maximum value for your role, see Update the maximum session duration for a role in the\n IAM User Guide. The maximum session duration limit applies when\n you use the AssumeRole* API operations or the assume-role* CLI\n commands. However the limit does not apply when you use those operations to create a\n console URL. For more information, see Using IAM Roles in the\n IAM User Guide.

                              \n

                              \n Permissions\n

                              \n

                              The temporary security credentials created by AssumeRoleWithWebIdentity can\n be used to make API calls to any Amazon Web Services service with the following exception: you cannot\n call the STS GetFederationToken or GetSessionToken API\n operations.

                              \n

                              (Optional) You can pass inline or managed session policies to\n this operation. You can pass a single JSON policy document to use as an inline session\n policy. You can also specify up to 10 managed policy Amazon Resource Names (ARNs) to use as\n managed session policies. The plaintext that you use for both inline and managed session\n policies can't exceed 2,048 characters. Passing policies to this operation returns new \n temporary credentials. The resulting session's permissions are the intersection of the \n role's identity-based policy and the session policies. You can use the role's temporary \n credentials in subsequent Amazon Web Services API calls to access resources in the account that owns \n the role. You cannot use session policies to grant more permissions than those allowed \n by the identity-based policy of the role that is being assumed. For more information, see\n Session\n Policies in the IAM User Guide.

                              \n

                              \n Tags\n

                              \n

                              (Optional) You can configure your IdP to pass attributes into your web identity token as\n session tags. Each session tag consists of a key name and an associated value. For more\n information about session tags, see Passing Session Tags in STS in the\n IAM User Guide.

                              \n

                              You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128\n characters and the values can’t exceed 256 characters. For these and additional limits, see\n IAM\n and STS Character Limits in the IAM User Guide.

                              \n \n

                              An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs,\n and session tags into a packed binary format that has a separate limit. Your request can\n fail for this limit even if your plaintext meets the other requirements. The\n PackedPolicySize response element indicates by percentage how close the\n policies and tags for your request are to the upper size limit.

                              \n
                              \n

                              You can pass a session tag with the same key as a tag that is attached to the role. When\n you do, the session tag overrides the role tag with the same key.

                              \n

                              An administrator must grant you the permissions necessary to pass session tags. The\n administrator can also create granular permissions to allow you to pass only specific\n session tags. For more information, see Tutorial: Using Tags\n for Attribute-Based Access Control in the\n IAM User Guide.

                              \n

                              You can set the session tags as transitive. Transitive tags persist during role\n chaining. For more information, see Chaining Roles\n with Session Tags in the IAM User Guide.

                              \n

                              \n Identities\n

                              \n

                              Before your application can call AssumeRoleWithWebIdentity, you must have\n an identity token from a supported identity provider and create a role that the application\n can assume. The role that your application assumes must trust the identity provider that is\n associated with the identity token. In other words, the identity provider must be specified\n in the role's trust policy.

                              \n \n

                              Calling AssumeRoleWithWebIdentity can result in an entry in your\n CloudTrail logs. The entry includes the Subject of\n the provided web identity token. We recommend that you avoid using any personally\n identifiable information (PII) in this field. For example, you could instead use a GUID\n or a pairwise identifier, as suggested\n in the OIDC specification.

                              \n
                              \n

                              For more information about how to use OIDC federation and the\n AssumeRoleWithWebIdentity API, see the following resources:

                              \n ", "smithy.api#examples": [ { @@ -2667,7 +2670,8 @@ "Audience": "client.5498841531868486423.1548@apps.example.com" } } - ] + ], + "smithy.api#optionalAuth": {} } }, "com.amazonaws.sts#AssumeRoleWithWebIdentityRequest": { diff --git a/tools/code-generation/smithy/api-descriptions/wafv2.json b/tools/code-generation/smithy/api-descriptions/wafv2.json index 912b2874666..2cd411ad967 100644 --- a/tools/code-generation/smithy/api-descriptions/wafv2.json +++ b/tools/code-generation/smithy/api-descriptions/wafv2.json @@ -147,7 +147,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Details for your use of the account creation fraud prevention managed rule group, AWSManagedRulesACFPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              " + "smithy.api#documentation": "

                              Details for your use of the account creation fraud prevention managed rule group, AWSManagedRulesACFPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              \n

                              For additional information about this and the other intelligent threat mitigation rule groups, \n see Intelligent threat mitigation in WAF \n and Amazon Web Services Managed Rules rule groups list \n in the WAF Developer Guide.

                              " } }, "com.amazonaws.wafv2#AWSManagedRulesATPRuleSet": { @@ -181,7 +181,28 @@ } }, "traits": { - "smithy.api#documentation": "

                              Details for your use of the account takeover prevention managed rule group, AWSManagedRulesATPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              " + "smithy.api#documentation": "

                              Details for your use of the account takeover prevention managed rule group, AWSManagedRulesATPRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              \n

                              For additional information about this and the other intelligent threat mitigation rule groups, \n see Intelligent threat mitigation in WAF \n and Amazon Web Services Managed Rules rule groups list \n in the WAF Developer Guide.

                              " + } + }, + "com.amazonaws.wafv2#AWSManagedRulesAntiDDoSRuleSet": { + "type": "structure", + "members": { + "ClientSideActionConfig": { + "target": "com.amazonaws.wafv2#ClientSideActionConfig", + "traits": { + "smithy.api#documentation": "

                              Configures the request handling that's applied by the managed rule group rules ChallengeAllDuringEvent and ChallengeDDoSRequests during a distributed denial of service (DDoS) attack.

                              ", + "smithy.api#required": {} + } + }, + "SensitivityToBlock": { + "target": "com.amazonaws.wafv2#SensitivityToAct", + "traits": { + "smithy.api#documentation": "

                              The sensitivity that the rule group rule DDoSRequests uses when matching against the \n DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the DDoSRequests rule runs. \n

                              \n

                              The higher the sensitivity, the more levels of labeling that the rule matches:

                              \n
                                \n
                              • \n

                                Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request.

                                \n
                              • \n
                              • \n

                                Medium sensitivity causes the rule to match on the medium and high suspicion labels.

                                \n
                              • \n
                              • \n

                                High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.

                                \n
                              • \n
                              \n

                              Default: LOW\n

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures the use of the anti-DDoS managed rule group, AWSManagedRulesAntiDDoSRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              \n

                              The configuration that you provide here determines whether and how the rules in the rule group are used.

                              \n

                              For additional information about this and the other intelligent threat mitigation rule groups, \n see Intelligent threat mitigation in WAF \n and Amazon Web Services Managed Rules rule groups list \n in the WAF Developer Guide.

                              " } }, "com.amazonaws.wafv2#AWSManagedRulesBotControlRuleSet": { @@ -203,7 +224,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              Details for your use of the Bot Control managed rule group, AWSManagedRulesBotControlRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              " + "smithy.api#documentation": "

                              Details for your use of the Bot Control managed rule group, AWSManagedRulesBotControlRuleSet. This configuration is used in ManagedRuleGroupConfig.

                              \n

                              For additional information about this and the other intelligent threat mitigation rule groups, \n see Intelligent threat mitigation in WAF \n and Amazon Web Services Managed Rules rule groups list \n in the WAF Developer Guide.

                              " } }, "com.amazonaws.wafv2#AWSWAF_20190729": { @@ -1741,6 +1762,52 @@ "smithy.api#documentation": "

                              A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

                              " } }, + "com.amazonaws.wafv2#ApplicationAttribute": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.wafv2#AttributeName", + "traits": { + "smithy.api#documentation": "

                              Specifies the attribute name.

                              " + } + }, + "Values": { + "target": "com.amazonaws.wafv2#AttributeValues", + "traits": { + "smithy.api#documentation": "

                              Specifies the attribute value.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Application details defined during the web ACL creation process. Application attributes help WAF give recommendations for protection packs.

                              " + } + }, + "com.amazonaws.wafv2#ApplicationAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.wafv2#ApplicationAttribute" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.wafv2#ApplicationConfig": { + "type": "structure", + "members": { + "Attributes": { + "target": "com.amazonaws.wafv2#ApplicationAttributes", + "traits": { + "smithy.api#documentation": "

                              Contains the attribute name and a list of values for that attribute.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              A list of ApplicationAttributes that contains information about the application.

                              " + } + }, "com.amazonaws.wafv2#AsnList": { "type": "list", "member": { @@ -1881,6 +1948,37 @@ "smithy.api#documentation": "

                              Specifies custom configurations for the associations between the web ACL and protected resources.

                              \n

                              Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can \n customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

                              \n \n

                              You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

                              \n
                              \n

                              For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

                              " } }, + "com.amazonaws.wafv2#AttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\w\\-]+$" + } + }, + "com.amazonaws.wafv2#AttributeValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.wafv2#AttributeValues": { + "type": "list", + "member": { + "target": "com.amazonaws.wafv2#AttributeValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.wafv2#BlockAction": { "type": "structure", "members": { @@ -2168,6 +2266,48 @@ "smithy.api#output": {} } }, + "com.amazonaws.wafv2#ClientSideAction": { + "type": "structure", + "members": { + "UsageOfAction": { + "target": "com.amazonaws.wafv2#UsageOfAction", + "traits": { + "smithy.api#documentation": "

                              Determines whether to use the AWSManagedRulesAntiDDoSRuleSet rules ChallengeAllDuringEvent and ChallengeDDoSRequests in the rule group evaluation and the related label awswaf:managed:aws:anti-ddos:challengeable-request.

                              \n
                                \n
                              • \n

                                If usage is enabled:

                                \n
                                  \n
                                • \n

                                  The managed rule group adds the label awswaf:managed:aws:anti-ddos:challengeable-request to any web request whose URL does NOT match the regular expressions provided in the \n ClientSideAction setting ExemptUriRegularExpressions.

                                  \n
                                • \n
                                • \n

                                  The two rules are evaluated against web requests for protected resources that are experiencing a DDoS attack.\n The two rules only apply their action to matching requests that have the label awswaf:managed:aws:anti-ddos:challengeable-request.\n

                                  \n
                                • \n
                                \n
                              • \n
                              • \n

                                If usage is disabled:

                                \n
                                  \n
                                • \n

                                  The managed rule group doesn't add the label awswaf:managed:aws:anti-ddos:challengeable-request to any web requests.

                                  \n
                                • \n
                                • \n

                                  The two rules are not evaluated.

                                  \n
                                • \n
                                • \n

                                  None of the other ClientSideAction settings have any effect.

                                  \n
                                • \n
                                \n
                              • \n
                              \n \n

                              This setting only enables or disables the use of the two anti-DDOS rules ChallengeAllDuringEvent and ChallengeDDoSRequests in the anti-DDoS managed rule group.

                              \n

                              This setting doesn't alter the action setting in the two rules. To override the actions \n used by the rules ChallengeAllDuringEvent and ChallengeDDoSRequests, \n enable this setting, and then override the rule actions in the usual way, in your managed rule group configuration.

                              \n
                              ", + "smithy.api#required": {} + } + }, + "Sensitivity": { + "target": "com.amazonaws.wafv2#SensitivityToAct", + "traits": { + "smithy.api#documentation": "

                              The sensitivity that the rule group rule ChallengeDDoSRequests uses when matching against the \n DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the ChallengeDDoSRequests rule runs. \n

                              \n

                              The higher the sensitivity, the more levels of labeling that the rule matches:

                              \n
                                \n
                              • \n

                                Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request.

                                \n
                              • \n
                              • \n

                                Medium sensitivity causes the rule to match on the medium and high suspicion labels.

                                \n
                              • \n
                              • \n

                                High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.

                                \n
                              • \n
                              \n

                              Default: HIGH\n

                              " + } + }, + "ExemptUriRegularExpressions": { + "target": "com.amazonaws.wafv2#RegularExpressionList", + "traits": { + "smithy.api#documentation": "

                              The regular expression to match against the web request URI, used to identify requests \n that can't handle a silent browser challenge. When the ClientSideAction setting UsageOfAction is enabled, \n the managed rule group uses this setting to determine which requests to label with \n awswaf:managed:aws:anti-ddos:challengeable-request. If UsageOfAction is disabled, this setting\n has no effect and the managed rule group doesn't add the label to any requests.

                              \n

                              The anti-DDoS managed rule group doesn't \n evaluate the rules ChallengeDDoSRequests or ChallengeAllDuringEvent for web requests whose URIs match this regex. This \n is true regardless of whether you override the rule action for either of the rules in your web ACL configuration.

                              \n

                              Amazon Web Services recommends using a regular expression.

                              \n

                              This setting is required if UsageOfAction is set to ENABLED. If required, you can provide \n between 1 and 5 regex objects in the array of settings.

                              \n

                              Amazon Web Services recommends starting with the following setting. Review and update it for your application's needs:

                              \n

                              \n \\/api\\/|\\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$\n

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              This is part of the AWSManagedRulesAntiDDoSRuleSet\n ClientSideActionConfig configuration in ManagedRuleGroupConfig.

                              " + } + }, + "com.amazonaws.wafv2#ClientSideActionConfig": { + "type": "structure", + "members": { + "Challenge": { + "target": "com.amazonaws.wafv2#ClientSideAction", + "traits": { + "smithy.api#documentation": "

                              Configuration for the use of the AWSManagedRulesAntiDDoSRuleSet rules ChallengeAllDuringEvent and ChallengeDDoSRequests.

                              \n \n

                              This setting isn't related to the configuration of the Challenge action itself. It only \n configures the use of the two anti-DDoS rules named here.

                              \n
                              \n

                              You can enable or disable the use of these rules, and you can configure how to use them when they are enabled.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              This is part of the configuration for the managed rules AWSManagedRulesAntiDDoSRuleSet \n in ManagedRuleGroupConfig.

                              " + } + }, "com.amazonaws.wafv2#ComparisonOperator": { "type": "enum", "members": { @@ -4365,6 +4505,18 @@ "traits": { "smithy.api#documentation": "

                              Specifies custom configurations for the associations between the web ACL and protected resources.

                              \n

                              Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can \n customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

                              \n \n

                              You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

                              \n
                              \n

                              For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

                              " } + }, + "OnSourceDDoSProtectionConfig": { + "target": "com.amazonaws.wafv2#OnSourceDDoSProtectionConfig", + "traits": { + "smithy.api#documentation": "

                              Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, ACTIVE_UNDER_DDOS. \n If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.

                              " + } + }, + "ApplicationConfig": { + "target": "com.amazonaws.wafv2#ApplicationConfig", + "traits": { + "smithy.api#documentation": "

                              Configures the ability for the WAF console to store and retrieve application attributes during the web ACL creation process. Application attributes help WAF give recommendations for protection packs.

                              " + } } }, "traits": { @@ -8637,6 +8789,23 @@ "smithy.api#pattern": "\\S" } }, + "com.amazonaws.wafv2#LowReputationMode": { + "type": "enum", + "members": { + "ACTIVE_UNDER_DDOS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE_UNDER_DDOS" + } + }, + "ALWAYS_ON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALWAYS_ON" + } + } + } + }, "com.amazonaws.wafv2#ManagedProductDescriptor": { "type": "structure", "members": { @@ -8763,10 +8932,16 @@ "traits": { "smithy.api#documentation": "

                              Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, AWSManagedRulesACFPRuleSet. \n Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide\n the information about how your distribution responds to account creation requests.

                              \n

                              For information \n about using the ACFP managed rule group, see WAF Fraud Control account creation fraud prevention (ACFP) rule group \n and WAF Fraud Control account creation fraud prevention (ACFP)\n in the WAF Developer Guide.

                              " } + }, + "AWSManagedRulesAntiDDoSRuleSet": { + "target": "com.amazonaws.wafv2#AWSManagedRulesAntiDDoSRuleSet", + "traits": { + "smithy.api#documentation": "

                              Additional configuration for using the anti-DDoS managed rule group, AWSManagedRulesAntiDDoSRuleSet. \n Use this to configure anti-DDoS behavior for the rule group.

                              \n

                              For information \n about using the anti-DDoS managed rule group, see WAF Anti-DDoS rule group \n and Distributed Denial of Service (DDoS) prevention\n in the WAF Developer Guide.

                              " + } } }, "traits": { - "smithy.api#documentation": "

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              \n

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              \n
                                \n
                              • \n

                                Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesBotControlRuleSet configuration object to configure the \n protection level that you want the Bot Control rule group to use.

                                \n
                              • \n
                              \n

                              For example specifications, see the examples section of CreateWebACL.

                              " + "smithy.api#documentation": "

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              \n

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              \n
                                \n
                              • \n

                                Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesAntiDDoSRuleSet configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesBotControlRuleSet configuration object to configure the \n protection level that you want the Bot Control rule group to use.

                                \n
                              • \n
                              \n

                              For example specifications, see the examples section of CreateWebACL.

                              " } }, "com.amazonaws.wafv2#ManagedRuleGroupConfigs": { @@ -8813,13 +8988,13 @@ "ManagedRuleGroupConfigs": { "target": "com.amazonaws.wafv2#ManagedRuleGroupConfigs", "traits": { - "smithy.api#documentation": "

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              \n

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              \n
                                \n
                              • \n

                                Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesBotControlRuleSet configuration object to configure the \n protection level that you want the Bot Control rule group to use.

                                \n
                              • \n
                              " + "smithy.api#documentation": "

                              Additional information that's used by a managed rule group. Many managed rule groups don't require this.

                              \n

                              The rule groups used for intelligent threat mitigation require additional configuration:

                              \n
                                \n
                              • \n

                                Use the AWSManagedRulesACFPRuleSet configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesAntiDDoSRuleSet configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesATPRuleSet configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.

                                \n
                              • \n
                              • \n

                                Use the AWSManagedRulesBotControlRuleSet configuration object to configure the \n protection level that you want the Bot Control rule group to use.

                                \n
                              • \n
                              " } }, "RuleActionOverrides": { "target": "com.amazonaws.wafv2#RuleActionOverrides", "traits": { - "smithy.api#documentation": "

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              \n \n

                              Take care to verify the rule names in your overrides. If you provide a rule name that doesn't match the name of any rule in the rule group, WAF doesn't return an error and doesn't apply the override setting.

                              \n
                              \n

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " + "smithy.api#documentation": "

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              \n \n

                              Verify the rule names in your overrides carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.

                              \n
                              \n

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " } } }, @@ -9143,6 +9318,21 @@ "smithy.api#documentation": "

                              A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

                              " } }, + "com.amazonaws.wafv2#OnSourceDDoSProtectionConfig": { + "type": "structure", + "members": { + "ALBLowReputationMode": { + "target": "com.amazonaws.wafv2#LowReputationMode", + "traits": { + "smithy.api#documentation": "

                              The level of DDoS protection that applies to web ACLs associated with Application Load Balancers. ACTIVE_UNDER_DDOS protection is enabled by default whenever a web ACL is associated with an Application Load Balancer. \n In the event that an Application Load Balancer experiences high-load conditions or suspected DDoS attacks, the ACTIVE_UNDER_DDOS protection automatically rate limits traffic from known low reputation sources without disrupting Application Load Balancer availability. \n ALWAYS_ON protection provides constant, always-on monitoring of known low reputation sources for suspected DDoS attacks. While this provides a higher level of protection, there may be potential impacts on legitimate traffic.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.

                              " + } + }, "com.amazonaws.wafv2#OrStatement": { "type": "structure", "members": { @@ -9641,6 +9831,12 @@ "traits": { "smithy.api#enumValue": "DATA_PROTECTION_CONFIG" } + }, + "LOW_REPUTATION_MODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOW_REPUTATION_MODE" + } } } }, @@ -10429,7 +10625,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              A single regular expression. This is used in a RegexPatternSet.

                              " + "smithy.api#documentation": "

                              A single regular expression. This is used in a RegexPatternSet and \n also in the configuration for the Amazon Web Services Managed Rules rule group AWSManagedRulesAntiDDoSRuleSet.

                              " } }, "com.amazonaws.wafv2#RegexMatchStatement": { @@ -11310,7 +11506,7 @@ "RuleActionOverrides": { "target": "com.amazonaws.wafv2#RuleActionOverrides", "traits": { - "smithy.api#documentation": "

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              \n \n

                              Take care to verify the rule names in your overrides. If you provide a rule name that doesn't match the name of any rule in the rule group, WAF doesn't return an error and doesn't apply the override setting.

                              \n
                              \n

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " + "smithy.api#documentation": "

                              Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

                              \n \n

                              Verify the rule names in your overrides carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.

                              \n
                              \n

                              You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

                              " } } }, @@ -11532,6 +11728,29 @@ } } }, + "com.amazonaws.wafv2#SensitivityToAct": { + "type": "enum", + "members": { + "LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LOW" + } + }, + "MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MEDIUM" + } + }, + "HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HIGH" + } + } + } + }, "com.amazonaws.wafv2#SingleCookieName": { "type": "string", "traits": { @@ -12821,6 +13040,12 @@ "traits": { "smithy.api#documentation": "

                              Specifies custom configurations for the associations between the web ACL and protected resources.

                              \n

                              Use this to customize the maximum size of the request body that your protected resources forward to WAF for inspection. You can \n customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).

                              \n \n

                              You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

                              \n
                              \n

                              For Application Load Balancer and AppSync, the limit is fixed at 8 KB (8,192 bytes).

                              " } + }, + "OnSourceDDoSProtectionConfig": { + "target": "com.amazonaws.wafv2#OnSourceDDoSProtectionConfig", + "traits": { + "smithy.api#documentation": "

                              Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, ACTIVE_UNDER_DDOS. \n If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.

                              " + } } }, "traits": { @@ -12862,6 +13087,23 @@ "smithy.api#documentation": "

                              Inspect the path component of the URI of the web request. This is the part of the web\n request that identifies a resource. For example, /images/daily-ad.jpg.

                              \n

                              This is used in the FieldToMatch specification for some web request component types.

                              \n

                              JSON specification: \"UriPath\": {}\n

                              " } }, + "com.amazonaws.wafv2#UsageOfAction": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, "com.amazonaws.wafv2#UsernameField": { "type": "structure", "members": { @@ -13333,6 +13575,18 @@ "smithy.api#default": false, "smithy.api#documentation": "

                              Indicates whether this web ACL was created by a customer account and then retrofitted by Firewall Manager. If true, then the web ACL is currently being \n managed by a Firewall Manager WAF policy, and only Firewall Manager can manage any Firewall Manager rule groups in the web ACL. \n See also the properties ManagedByFirewallManager, PreProcessFirewallManagerRuleGroups, and PostProcessFirewallManagerRuleGroups.

                              " } + }, + "OnSourceDDoSProtectionConfig": { + "target": "com.amazonaws.wafv2#OnSourceDDoSProtectionConfig", + "traits": { + "smithy.api#documentation": "

                              Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.

                              " + } + }, + "ApplicationConfig": { + "target": "com.amazonaws.wafv2#ApplicationConfig", + "traits": { + "smithy.api#documentation": "

                              Returns a list of ApplicationAttributes.

                              " + } } }, "traits": { diff --git a/tools/code-generation/smithy/api-descriptions/workspaces-instances.json b/tools/code-generation/smithy/api-descriptions/workspaces-instances.json new file mode 100644 index 00000000000..4a7522a8580 --- /dev/null +++ b/tools/code-generation/smithy/api-descriptions/workspaces-instances.json @@ -0,0 +1,3575 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.workspacesinstances#ARN": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^arn:.*" + } + }, + "com.amazonaws.workspacesinstances#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Detailed explanation of the access denial.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Indicates insufficient permissions to perform the requested action.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.workspacesinstances#AmdSevSnpEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#AssociateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#AssociateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#AssociateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to associate a workspace managed volume to a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                              Attaches a volume to a WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#AssociateVolumeRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              WorkSpace Instance to attach volume to.

                              ", + "smithy.api#required": {} + } + }, + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                              Volume to be attached.

                              ", + "smithy.api#required": {} + } + }, + "Device": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                              Device path for volume attachment.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies volume attachment parameters.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#AssociateVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Confirms volume attachment.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#AutoRecoveryEnum": { + "type": "enum", + "members": { + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + }, + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + } + } + }, + "com.amazonaws.workspacesinstances#AvailabilityZone": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}-[a-z]+-\\d[a-z](-[a-z0-9]+)?$" + } + }, + "com.amazonaws.workspacesinstances#BandwidthWeightingEnum": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "VPC_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc-1" + } + }, + "EBS_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ebs-1" + } + } + } + }, + "com.amazonaws.workspacesinstances#BlockDeviceMappingRequest": { + "type": "structure", + "members": { + "DeviceName": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                              Name of the device for storage mapping.

                              " + } + }, + "Ebs": { + "target": "com.amazonaws.workspacesinstances#EbsBlockDevice", + "traits": { + "smithy.api#documentation": "

                              EBS volume configuration for the device.

                              " + } + }, + "NoDevice": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                              Indicates device should not be mapped.

                              " + } + }, + "VirtualName": { + "target": "com.amazonaws.workspacesinstances#VirtualName", + "traits": { + "smithy.api#documentation": "

                              Virtual device name for ephemeral storage.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines device mapping for WorkSpace Instance storage.

                              " + } + }, + "com.amazonaws.workspacesinstances#BlockDeviceMappings": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#BlockDeviceMappingRequest" + } + }, + "com.amazonaws.workspacesinstances#CapacityReservationPreferenceEnum": { + "type": "enum", + "members": { + "CAPACITY_RESERVATIONS_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-reservations-only" + } + }, + "OPEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "open" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "none" + } + } + } + }, + "com.amazonaws.workspacesinstances#CapacityReservationSpecification": { + "type": "structure", + "members": { + "CapacityReservationPreference": { + "target": "com.amazonaws.workspacesinstances#CapacityReservationPreferenceEnum", + "traits": { + "smithy.api#documentation": "

                              Preference for using capacity reservation.

                              " + } + }, + "CapacityReservationTarget": { + "target": "com.amazonaws.workspacesinstances#CapacityReservationTarget", + "traits": { + "smithy.api#documentation": "

                              Specific capacity reservation target.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies capacity reservation preferences.

                              " + } + }, + "com.amazonaws.workspacesinstances#CapacityReservationTarget": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.workspacesinstances#String128", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for the capacity reservation.

                              " + } + }, + "CapacityReservationResourceGroupArn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                              ARN of the capacity reservation resource group.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Identifies a specific capacity reservation.

                              " + } + }, + "com.amazonaws.workspacesinstances#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Description of the conflict encountered.

                              ", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Identifier of the conflicting resource.

                              ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Type of the conflicting resource.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Signals a conflict with the current state of the resource.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.workspacesinstances#ConnectionTrackingSpecificationRequest": { + "type": "structure", + "members": { + "TcpEstablishedTimeout": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Timeout for established TCP connections.

                              " + } + }, + "UdpStreamTimeout": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Timeout for UDP stream connections.

                              " + } + }, + "UdpTimeout": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              General timeout for UDP connections.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines connection tracking parameters for network interfaces.

                              " + } + }, + "com.amazonaws.workspacesinstances#CpuCreditsEnum": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" + } + }, + "UNLIMITED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unlimited" + } + } + } + }, + "com.amazonaws.workspacesinstances#CpuOptionsRequest": { + "type": "structure", + "members": { + "AmdSevSnp": { + "target": "com.amazonaws.workspacesinstances#AmdSevSnpEnum", + "traits": { + "smithy.api#documentation": "

                              AMD Secure Encrypted Virtualization configuration.

                              " + } + }, + "CoreCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Number of CPU cores to allocate.

                              " + } + }, + "ThreadsPerCore": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Number of threads per CPU core.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures CPU-specific settings for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#CreateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#CreateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#CreateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a workspace managed volume in your account" + }, + "smithy.api#documentation": "

                              Creates a new volume for WorkSpace Instances.

                              ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesinstances#CreateVolumeRequest": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                              Availability zone for the volume.

                              ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.workspacesinstances#ClientToken", + "traits": { + "smithy.api#documentation": "

                              Unique token to prevent duplicate volume creation.

                              ", + "smithy.api#idempotencyToken": {} + } + }, + "Encrypted": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Indicates if the volume should be encrypted.

                              " + } + }, + "Iops": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Input/output operations per second for the volume.

                              " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.workspacesinstances#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                              KMS key for volume encryption.

                              " + } + }, + "SizeInGB": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Volume size in gigabytes.

                              " + } + }, + "SnapshotId": { + "target": "com.amazonaws.workspacesinstances#SnapshotId", + "traits": { + "smithy.api#documentation": "

                              Source snapshot for volume creation.

                              " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.workspacesinstances#TagSpecifications", + "traits": { + "smithy.api#documentation": "

                              Metadata tags for the volume.

                              " + } + }, + "Throughput": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Volume throughput performance.

                              " + } + }, + "VolumeType": { + "target": "com.amazonaws.workspacesinstances#VolumeTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Type of EBS volume.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies volume creation parameters.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#CreateVolumeResponse": { + "type": "structure", + "members": { + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for the new volume.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Returns the created volume identifier.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#CreateWorkspaceInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to create a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                              Launches a new WorkSpace Instance with specified configuration parameters, enabling programmatic workspace deployment.

                              ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceRequest": { + "type": "structure", + "members": { + "ClientToken": { + "target": "com.amazonaws.workspacesinstances#ClientToken", + "traits": { + "smithy.api#documentation": "

                              Unique token to ensure idempotent instance creation, preventing duplicate workspace launches.

                              ", + "smithy.api#idempotencyToken": {} + } + }, + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                              Optional metadata tags for categorizing and managing WorkSpaces Instances.

                              " + } + }, + "ManagedInstance": { + "target": "com.amazonaws.workspacesinstances#ManagedInstanceRequest", + "traits": { + "smithy.api#documentation": "

                              Comprehensive configuration settings for the WorkSpaces Instance, including network, compute, and storage parameters.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines the configuration parameters for creating a new WorkSpaces Instance.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#CreateWorkspaceInstanceResponse": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier assigned to the newly created WorkSpaces Instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Returns the unique identifier for the newly created WorkSpaces Instance.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#CreditSpecificationRequest": { + "type": "structure", + "members": { + "CpuCredits": { + "target": "com.amazonaws.workspacesinstances#CpuCreditsEnum", + "traits": { + "smithy.api#documentation": "

                              CPU credit specification mode.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines CPU credit configuration for burstable instances.

                              " + } + }, + "com.amazonaws.workspacesinstances#DeleteVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#DeleteVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#DeleteVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a workspace managed volume in your account" + }, + "smithy.api#documentation": "

                              Deletes a specified volume.

                              " + } + }, + "com.amazonaws.workspacesinstances#DeleteVolumeRequest": { + "type": "structure", + "members": { + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                              Identifier of the volume to delete.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies the volume to delete.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#DeleteVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Confirms volume deletion.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#DeleteWorkspaceInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to delete a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                              Deletes the specified WorkSpace

                              " + } + }, + "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the WorkSpaces Instance targeted for deletion.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              The WorkSpace to delete

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#DeleteWorkspaceInstanceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Confirms the successful deletion of the specified WorkSpace Instance.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + }, + "smithy.api#pattern": "^[\\S\\s]*$" + } + }, + "com.amazonaws.workspacesinstances#DeviceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 32 + } + } + }, + "com.amazonaws.workspacesinstances#DisassociateModeEnum": { + "type": "enum", + "members": { + "FORCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FORCE" + } + }, + "NO_FORCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_FORCE" + } + } + } + }, + "com.amazonaws.workspacesinstances#DisassociateVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#DisassociateVolumeRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#DisassociateVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#ConflictException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to disassociate a workspace managed volume from a workspace managed instance in your account" + }, + "smithy.api#documentation": "

                              Detaches a volume from a WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#DisassociateVolumeRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              WorkSpace Instance to detach volume from.

                              ", + "smithy.api#required": {} + } + }, + "VolumeId": { + "target": "com.amazonaws.workspacesinstances#VolumeId", + "traits": { + "smithy.api#documentation": "

                              Volume to be detached.

                              ", + "smithy.api#required": {} + } + }, + "Device": { + "target": "com.amazonaws.workspacesinstances#DeviceName", + "traits": { + "smithy.api#documentation": "

                              Device path of volume to detach.

                              " + } + }, + "DisassociateMode": { + "target": "com.amazonaws.workspacesinstances#DisassociateModeEnum", + "traits": { + "smithy.api#documentation": "

                              Mode for volume detachment.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies volume detachment parameters.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#DisassociateVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Confirms volume detachment.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#EC2InstanceError": { + "type": "structure", + "members": { + "EC2ErrorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Unique error code identifying the specific EC2 instance error.

                              " + } + }, + "EC2ExceptionType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Type of exception encountered during EC2 instance operation.

                              " + } + }, + "EC2ErrorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Detailed description of the EC2 instance error.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Captures detailed error information for EC2 instance operations.

                              " + } + }, + "com.amazonaws.workspacesinstances#EC2InstanceErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#EC2InstanceError" + } + }, + "com.amazonaws.workspacesinstances#EC2ManagedInstance": { + "type": "structure", + "members": { + "InstanceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the managed EC2 instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents an EC2 instance managed by WorkSpaces.

                              " + } + }, + "com.amazonaws.workspacesinstances#EUCMIFrontendAPIService": { + "type": "service", + "version": "2022-07-26", + "operations": [ + { + "target": "com.amazonaws.workspacesinstances#AssociateVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#CreateVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#CreateWorkspaceInstance" + }, + { + "target": "com.amazonaws.workspacesinstances#DeleteVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#DeleteWorkspaceInstance" + }, + { + "target": "com.amazonaws.workspacesinstances#DisassociateVolume" + }, + { + "target": "com.amazonaws.workspacesinstances#GetWorkspaceInstance" + }, + { + "target": "com.amazonaws.workspacesinstances#ListInstanceTypes" + }, + { + "target": "com.amazonaws.workspacesinstances#ListRegions" + }, + { + "target": "com.amazonaws.workspacesinstances#ListTagsForResource" + }, + { + "target": "com.amazonaws.workspacesinstances#ListWorkspaceInstances" + }, + { + "target": "com.amazonaws.workspacesinstances#TagResource" + }, + { + "target": "com.amazonaws.workspacesinstances#UntagResource" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Workspaces Instances", + "arnNamespace": "workspaces-instances", + "cloudFormationName": "WorkspacesInstances", + "cloudTrailEventSource": "workspaces-instances.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "workspaces-instances" + }, + "aws.endpoints#dualStackOnlyEndpoints": {}, + "aws.endpoints#standardRegionalEndpoints": {}, + "aws.iam#defineConditionKeys": { + "aws:ResourceTag/${TagKey}": { + "type": "String", + "documentation": "Filters access based on the tags associated with the resource", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" + }, + "aws:RequestTag/${TagKey}": { + "type": "String", + "documentation": "Filters access based on the tags that are passed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" + }, + "aws:TagKeys": { + "type": "ArrayOfString", + "documentation": "Filters access based on the tag keys that are passed in the request", + "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" + } + }, + "aws.iam#supportedPrincipalTypes": [ + "Root", + "IAMUser", + "IAMRole", + "FederatedUser" + ], + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "

                              Amazon WorkSpaces Instances provides an API framework for managing virtual workspace environments across multiple AWS regions, enabling programmatic creation and configuration of desktop infrastructure.

                              ", + "smithy.api#title": "Amazon Workspaces Instances", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://workspaces-instances-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://workspaces-instances.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workspaces-instances.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.workspacesinstances#EbsBlockDevice": { + "type": "structure", + "members": { + "VolumeType": { + "target": "com.amazonaws.workspacesinstances#VolumeTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Type of EBS volume (e.g., gp2, io1).

                              " + } + }, + "Encrypted": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Indicates if the volume is encrypted.

                              " + } + }, + "KmsKeyId": { + "target": "com.amazonaws.workspacesinstances#KmsKeyId", + "traits": { + "smithy.api#documentation": "

                              KMS key used for volume encryption.

                              " + } + }, + "Iops": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Input/output operations per second for the volume.

                              " + } + }, + "Throughput": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Volume data transfer rate.

                              " + } + }, + "VolumeSize": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Size of the EBS volume in gigabytes.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines configuration for an Elastic Block Store volume.

                              " + } + }, + "com.amazonaws.workspacesinstances#EnaSrdSpecificationRequest": { + "type": "structure", + "members": { + "EnaSrdEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables or disables ENA SRD for network performance.

                              " + } + }, + "EnaSrdUdpSpecification": { + "target": "com.amazonaws.workspacesinstances#EnaSrdUdpSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                              Configures UDP-specific ENA SRD settings.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines Elastic Network Adapter (ENA) Scalable Reliable Datagram (SRD) configuration.

                              " + } + }, + "com.amazonaws.workspacesinstances#EnaSrdUdpSpecificationRequest": { + "type": "structure", + "members": { + "EnaSrdUdpEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables or disables ENA SRD for UDP traffic.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies UDP configuration for ENA SRD.

                              " + } + }, + "com.amazonaws.workspacesinstances#EnclaveOptionsRequest": { + "type": "structure", + "members": { + "Enabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables or disables AWS Nitro Enclaves for enhanced security.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures AWS Nitro Enclave options for the WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#GetWorkspaceInstance": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#GetWorkspaceInstanceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#GetWorkspaceInstanceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to get details for a specific workspace managed instance in your account" + }, + "smithy.api#documentation": "

                              Retrieves detailed information about a specific WorkSpace Instance.

                              ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#GetWorkspaceInstanceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the WorkSpace Instance to retrieve.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Identifies the WorkSpaces Instance to retrieve detailed information for.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#GetWorkspaceInstanceResponse": { + "type": "structure", + "members": { + "WorkspaceInstanceErrors": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceErrors", + "traits": { + "smithy.api#documentation": "

                              Captures any errors specific to the WorkSpace Instance lifecycle.

                              " + } + }, + "EC2InstanceErrors": { + "target": "com.amazonaws.workspacesinstances#EC2InstanceErrors", + "traits": { + "smithy.api#documentation": "

                              Includes any underlying EC2 instance errors encountered.

                              " + } + }, + "ProvisionState": { + "target": "com.amazonaws.workspacesinstances#ProvisionStateEnum", + "traits": { + "smithy.api#documentation": "

                              Current provisioning state of the WorkSpaces Instance.

                              " + } + }, + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the retrieved WorkSpaces Instance.

                              " + } + }, + "EC2ManagedInstance": { + "target": "com.amazonaws.workspacesinstances#EC2ManagedInstance", + "traits": { + "smithy.api#documentation": "

                              Details of the associated EC2 managed instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Provides comprehensive details about the requested WorkSpaces Instance.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#HibernationOptionsRequest": { + "type": "structure", + "members": { + "Configured": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables or disables instance hibernation capability.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines hibernation configuration for the WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#HostId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^h-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#HostnameTypeEnum": { + "type": "enum", + "members": { + "IP_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ip-name" + } + }, + "RESOURCE_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource-name" + } + } + } + }, + "com.amazonaws.workspacesinstances#HttpEndpointEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#HttpProtocolIpv6Enum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#HttpPutResponseHopLimit": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.workspacesinstances#HttpTokensEnum": { + "type": "enum", + "members": { + "OPTIONAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "optional" + } + }, + "REQUIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "required" + } + } + } + }, + "com.amazonaws.workspacesinstances#IamInstanceProfileSpecification": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                              Amazon Resource Name (ARN) of the IAM instance profile.

                              " + } + }, + "Name": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                              Name of the IAM instance profile.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines IAM instance profile configuration for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#ImageId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^ami-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#InstanceInterruptionBehaviorEnum": { + "type": "enum", + "members": { + "HIBERNATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hibernate" + } + }, + "STOP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "stop" + } + } + } + }, + "com.amazonaws.workspacesinstances#InstanceIpv6Address": { + "type": "structure", + "members": { + "Ipv6Address": { + "target": "com.amazonaws.workspacesinstances#Ipv6Address", + "traits": { + "smithy.api#documentation": "

                              Specific IPv6 address assigned to the instance.

                              " + } + }, + "IsPrimaryIpv6": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Indicates if this is the primary IPv6 address for the instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents an IPv6 address configuration for a WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceMaintenanceOptionsRequest": { + "type": "structure", + "members": { + "AutoRecovery": { + "target": "com.amazonaws.workspacesinstances#AutoRecoveryEnum", + "traits": { + "smithy.api#documentation": "

                              Enables or disables automatic instance recovery.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures automatic maintenance settings for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceMarketOptionsRequest": { + "type": "structure", + "members": { + "MarketType": { + "target": "com.amazonaws.workspacesinstances#MarketTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Specifies the type of marketplace for instance deployment.

                              " + } + }, + "SpotOptions": { + "target": "com.amazonaws.workspacesinstances#SpotMarketOptions", + "traits": { + "smithy.api#documentation": "

                              Configuration options for spot instance deployment.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures marketplace-specific instance deployment options.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceMetadataOptionsRequest": { + "type": "structure", + "members": { + "HttpEndpoint": { + "target": "com.amazonaws.workspacesinstances#HttpEndpointEnum", + "traits": { + "smithy.api#documentation": "

                              Enables or disables HTTP endpoint for instance metadata.

                              " + } + }, + "HttpProtocolIpv6": { + "target": "com.amazonaws.workspacesinstances#HttpProtocolIpv6Enum", + "traits": { + "smithy.api#documentation": "

                              Configures IPv6 support for instance metadata HTTP protocol.

                              " + } + }, + "HttpPutResponseHopLimit": { + "target": "com.amazonaws.workspacesinstances#HttpPutResponseHopLimit", + "traits": { + "smithy.api#documentation": "

                              Sets maximum number of network hops for metadata PUT responses.

                              " + } + }, + "HttpTokens": { + "target": "com.amazonaws.workspacesinstances#HttpTokensEnum", + "traits": { + "smithy.api#documentation": "

                              Configures token requirement for instance metadata retrieval.

                              " + } + }, + "InstanceMetadataTags": { + "target": "com.amazonaws.workspacesinstances#InstanceMetadataTagsEnum", + "traits": { + "smithy.api#documentation": "

                              Enables or disables instance metadata tags retrieval.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines instance metadata service configuration.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceMetadataTagsEnum": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, + "com.amazonaws.workspacesinstances#InstanceNetworkInterfaceSpecification": { + "type": "structure", + "members": { + "AssociateCarrierIpAddress": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables carrier IP address association.

                              " + } + }, + "AssociatePublicIpAddress": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables public IP address assignment.

                              " + } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.workspacesinstances#ConnectionTrackingSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                              Configures network connection tracking parameters.

                              " + } + }, + "Description": { + "target": "com.amazonaws.workspacesinstances#Description", + "traits": { + "smithy.api#documentation": "

                              Descriptive text for the network interface.

                              " + } + }, + "DeviceIndex": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Unique index for the network interface.

                              " + } + }, + "EnaSrdSpecification": { + "target": "com.amazonaws.workspacesinstances#EnaSrdSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                              Configures Elastic Network Adapter Scalable Reliable Datagram settings.

                              " + } + }, + "InterfaceType": { + "target": "com.amazonaws.workspacesinstances#InterfaceTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Specifies the type of network interface.

                              " + } + }, + "Ipv4Prefixes": { + "target": "com.amazonaws.workspacesinstances#Ipv4Prefixes", + "traits": { + "smithy.api#documentation": "

                              IPv4 prefix configurations for the interface.

                              " + } + }, + "Ipv4PrefixCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Number of IPv4 prefixes to assign.

                              " + } + }, + "Ipv6AddressCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Number of IPv6 addresses to assign.

                              " + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.workspacesinstances#Ipv6Addresses", + "traits": { + "smithy.api#documentation": "

                              Specific IPv6 addresses for the interface.

                              " + } + }, + "Ipv6Prefixes": { + "target": "com.amazonaws.workspacesinstances#Ipv6Prefixes", + "traits": { + "smithy.api#documentation": "

                              IPv6 prefix configurations for the interface.

                              " + } + }, + "Ipv6PrefixCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Number of IPv6 prefixes to assign.

                              " + } + }, + "NetworkCardIndex": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Index of the network card for multiple network interfaces.

                              " + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.workspacesinstances#NetworkInterfaceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for the network interface.

                              " + } + }, + "PrimaryIpv6": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Indicates the primary IPv6 configuration.

                              " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.workspacesinstances#Ipv4Address", + "traits": { + "smithy.api#documentation": "

                              Primary private IP address for the interface.

                              " + } + }, + "PrivateIpAddresses": { + "target": "com.amazonaws.workspacesinstances#PrivateIpAddresses", + "traits": { + "smithy.api#documentation": "

                              List of private IP addresses for the interface.

                              " + } + }, + "SecondaryPrivateIpAddressCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Number of additional private IP addresses to assign.

                              " + } + }, + "Groups": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "

                              Security groups associated with the network interface.

                              " + } + }, + "SubnetId": { + "target": "com.amazonaws.workspacesinstances#SubnetId", + "traits": { + "smithy.api#documentation": "

                              Subnet identifier for the network interface.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines network interface configuration for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceNetworkPerformanceOptionsRequest": { + "type": "structure", + "members": { + "BandwidthWeighting": { + "target": "com.amazonaws.workspacesinstances#BandwidthWeightingEnum", + "traits": { + "smithy.api#documentation": "

                              Defines bandwidth allocation strategy for network interfaces.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures network performance settings for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceType": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([a-z0-9-]+)\\.([a-z0-9]+)$" + } + }, + "com.amazonaws.workspacesinstances#InstanceTypeInfo": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.workspacesinstances#InstanceType", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for the WorkSpace Instance type.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Provides details about a specific WorkSpace Instance type.

                              " + } + }, + "com.amazonaws.workspacesinstances#InstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#InstanceTypeInfo" + } + }, + "com.amazonaws.workspacesinstances#InterfaceTypeEnum": { + "type": "enum", + "members": { + "INTERFACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "interface" + } + }, + "EFA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "efa" + } + }, + "EFA_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "efa-only" + } + } + } + }, + "com.amazonaws.workspacesinstances#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Description of the internal server error.

                              ", + "smithy.api#required": {} + } + }, + "RetryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Recommended wait time before retrying the request.

                              ", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Indicates an unexpected server-side error occurred.

                              ", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.workspacesinstances#Ipv4Address": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#Ipv4Prefix": { + "type": "string", + "traits": { + "smithy.api#pattern": "(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:/\\d{1,2})?" + } + }, + "com.amazonaws.workspacesinstances#Ipv4PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv4Prefix": { + "target": "com.amazonaws.workspacesinstances#Ipv4Prefix", + "traits": { + "smithy.api#documentation": "

                              Specific IPv4 prefix for network interface configuration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies IPv4 prefix configuration for network interfaces.

                              " + } + }, + "com.amazonaws.workspacesinstances#Ipv4Prefixes": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Ipv4PrefixSpecificationRequest" + } + }, + "com.amazonaws.workspacesinstances#Ipv6Address": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#Ipv6Addresses": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#InstanceIpv6Address" + } + }, + "com.amazonaws.workspacesinstances#Ipv6Prefix": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/([0-9]{1,2}|1[01][0-9]|12[0-8])$" + } + }, + "com.amazonaws.workspacesinstances#Ipv6PrefixSpecificationRequest": { + "type": "structure", + "members": { + "Ipv6Prefix": { + "target": "com.amazonaws.workspacesinstances#Ipv6Prefix", + "traits": { + "smithy.api#documentation": "

                              Specific IPv6 prefix for network interface configuration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies IPv6 prefix configuration for network interfaces.

                              " + } + }, + "com.amazonaws.workspacesinstances#Ipv6Prefixes": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Ipv6PrefixSpecificationRequest" + } + }, + "com.amazonaws.workspacesinstances#KmsKeyId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#LicenseConfigurationRequest": { + "type": "structure", + "members": { + "LicenseConfigurationArn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                              ARN of the license configuration for the WorkSpace Instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies license configuration for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#LicenseSpecifications": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#LicenseConfigurationRequest" + } + }, + "com.amazonaws.workspacesinstances#ListInstanceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListInstanceTypesRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListInstanceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list all supported instance types" + }, + "smithy.api#documentation": "

                              Retrieves a list of instance types supported by Amazon WorkSpaces Instances, enabling precise workspace infrastructure configuration.

                              ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "InstanceTypes" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#ListInstanceTypesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.workspacesinstances#MaxResults", + "traits": { + "smithy.api#documentation": "

                              Maximum number of instance types to return in a single API call. Enables pagination of instance type results.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                              Pagination token for retrieving subsequent pages of instance type results.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines input parameters for retrieving supported WorkSpaces Instances instance types.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListInstanceTypesResponse": { + "type": "structure", + "members": { + "InstanceTypes": { + "target": "com.amazonaws.workspacesinstances#InstanceTypes", + "traits": { + "smithy.api#documentation": "

                              Collection of supported instance types for WorkSpaces Instances.

                              ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                              Token for retrieving additional instance types if the result set is paginated.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the list of instance types supported by WorkSpaces Instances.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ListRegions": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListRegionsRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListRegionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list all supported AWS regions" + }, + "smithy.api#documentation": "

                              Retrieves a list of AWS regions supported by Amazon WorkSpaces Instances, enabling region discovery for workspace deployments.

                              ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Regions" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListRegionsSuccess", + "params": {}, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.workspacesinstances#ListRegionsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.workspacesinstances#MaxResults", + "traits": { + "smithy.api#documentation": "

                              Maximum number of regions to return in a single API call. Enables pagination of region results.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                              Pagination token for retrieving subsequent pages of region results.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines input parameters for retrieving supported WorkSpaces Instances regions.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListRegionsResponse": { + "type": "structure", + "members": { + "Regions": { + "target": "com.amazonaws.workspacesinstances#RegionList", + "traits": { + "smithy.api#documentation": "

                              Collection of AWS regions supported by WorkSpaces Instances.

                              ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                              Token for retrieving additional regions if the result set is paginated.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the list of supported AWS regions for WorkSpaces Instances.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list user tags for resources in your account" + }, + "smithy.api#documentation": "

                              Retrieves tags for a WorkSpace Instance.

                              ", + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the WorkSpace Instance.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies the WorkSpace Instance to retrieve tags for.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                              Collection of tags associated with the WorkSpace Instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Returns the list of tags for the specified WorkSpace Instance.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ListWorkspaceInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#ListWorkspaceInstancesRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#ListWorkspaceInstancesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list workspace managed instances in your account" + }, + "smithy.api#documentation": "

                              Retrieves a collection of WorkSpaces Instances based on specified filters.

                              ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "WorkspaceInstances" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.workspacesinstances#ListWorkspaceInstancesRequest": { + "type": "structure", + "members": { + "ProvisionStates": { + "target": "com.amazonaws.workspacesinstances#ProvisionStates", + "traits": { + "smithy.api#documentation": "

                              Filter WorkSpaces Instances by their current provisioning states.

                              " + } + }, + "MaxResults": { + "target": "com.amazonaws.workspacesinstances#MaxResults", + "traits": { + "smithy.api#documentation": "

                              Maximum number of WorkSpaces Instances to return in a single response.

                              " + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                              Pagination token for retrieving subsequent pages of WorkSpaces Instances.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines filters and pagination parameters for retrieving WorkSpaces Instances.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#ListWorkspaceInstancesResponse": { + "type": "structure", + "members": { + "WorkspaceInstances": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstances", + "traits": { + "smithy.api#documentation": "

                              Collection of WorkSpaces Instances returned by the query.

                              ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.workspacesinstances#NextToken", + "traits": { + "smithy.api#documentation": "

                              Token for retrieving additional WorkSpaces Instances if the result set is paginated.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Contains the list of WorkSpaces Instances matching the specified criteria.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#ManagedInstanceRequest": { + "type": "structure", + "members": { + "BlockDeviceMappings": { + "target": "com.amazonaws.workspacesinstances#BlockDeviceMappings", + "traits": { + "smithy.api#documentation": "

                              Configures block device mappings for storage.

                              " + } + }, + "CapacityReservationSpecification": { + "target": "com.amazonaws.workspacesinstances#CapacityReservationSpecification", + "traits": { + "smithy.api#documentation": "

                              Specifies capacity reservation preferences.

                              " + } + }, + "CpuOptions": { + "target": "com.amazonaws.workspacesinstances#CpuOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Configures CPU-specific settings.

                              " + } + }, + "CreditSpecification": { + "target": "com.amazonaws.workspacesinstances#CreditSpecificationRequest", + "traits": { + "smithy.api#documentation": "

                              Defines CPU credit configuration for burstable instances.

                              " + } + }, + "DisableApiStop": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Prevents API-initiated instance stop.

                              " + } + }, + "EbsOptimized": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables optimized EBS performance.

                              " + } + }, + "EnablePrimaryIpv6": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables primary IPv6 address configuration.

                              " + } + }, + "EnclaveOptions": { + "target": "com.amazonaws.workspacesinstances#EnclaveOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Configures AWS Nitro Enclave settings.

                              " + } + }, + "HibernationOptions": { + "target": "com.amazonaws.workspacesinstances#HibernationOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Configures instance hibernation capabilities.

                              " + } + }, + "IamInstanceProfile": { + "target": "com.amazonaws.workspacesinstances#IamInstanceProfileSpecification", + "traits": { + "smithy.api#documentation": "

                              Specifies IAM instance profile configuration.

                              " + } + }, + "ImageId": { + "target": "com.amazonaws.workspacesinstances#ImageId", + "traits": { + "smithy.api#documentation": "

                              Identifies the Amazon Machine Image (AMI) for the instance.

                              " + } + }, + "InstanceMarketOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceMarketOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Configures marketplace-specific deployment options.

                              " + } + }, + "InstanceType": { + "target": "com.amazonaws.workspacesinstances#InstanceType", + "traits": { + "smithy.api#documentation": "

                              Specifies the WorkSpace Instance type.

                              " + } + }, + "Ipv6Addresses": { + "target": "com.amazonaws.workspacesinstances#Ipv6Addresses", + "traits": { + "smithy.api#documentation": "

                              Configures specific IPv6 addresses.

                              " + } + }, + "Ipv6AddressCount": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Specifies number of IPv6 addresses to assign.

                              " + } + }, + "KernelId": { + "target": "com.amazonaws.workspacesinstances#String128", + "traits": { + "smithy.api#documentation": "

                              Identifies the kernel for the instance.

                              " + } + }, + "KeyName": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                              Specifies the key pair for instance access.

                              " + } + }, + "LicenseSpecifications": { + "target": "com.amazonaws.workspacesinstances#LicenseSpecifications", + "traits": { + "smithy.api#documentation": "

                              Configures license-related settings.

                              " + } + }, + "MaintenanceOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceMaintenanceOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Defines automatic maintenance settings.

                              " + } + }, + "MetadataOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceMetadataOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Configures instance metadata service settings.

                              " + } + }, + "Monitoring": { + "target": "com.amazonaws.workspacesinstances#RunInstancesMonitoringEnabled", + "traits": { + "smithy.api#documentation": "

                              Enables or disables detailed instance monitoring.

                              " + } + }, + "NetworkInterfaces": { + "target": "com.amazonaws.workspacesinstances#NetworkInterfaces", + "traits": { + "smithy.api#documentation": "

                              Configures network interface settings.

                              " + } + }, + "NetworkPerformanceOptions": { + "target": "com.amazonaws.workspacesinstances#InstanceNetworkPerformanceOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Defines network performance configuration.

                              " + } + }, + "Placement": { + "target": "com.amazonaws.workspacesinstances#Placement", + "traits": { + "smithy.api#documentation": "

                              Specifies instance placement preferences.

                              " + } + }, + "PrivateDnsNameOptions": { + "target": "com.amazonaws.workspacesinstances#PrivateDnsNameOptionsRequest", + "traits": { + "smithy.api#documentation": "

                              Configures private DNS name settings.

                              " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.workspacesinstances#Ipv4Address", + "traits": { + "smithy.api#documentation": "

                              Specifies the primary private IP address.

                              " + } + }, + "RamdiskId": { + "target": "com.amazonaws.workspacesinstances#String128", + "traits": { + "smithy.api#documentation": "

                              Identifies the ramdisk for the instance.

                              " + } + }, + "SecurityGroupIds": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupIds", + "traits": { + "smithy.api#documentation": "

                              Specifies security group identifiers.

                              " + } + }, + "SecurityGroups": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupNames", + "traits": { + "smithy.api#documentation": "

                              Configures security group settings.

                              " + } + }, + "SubnetId": { + "target": "com.amazonaws.workspacesinstances#SubnetId", + "traits": { + "smithy.api#documentation": "

                              Identifies the subnet for the instance.

                              " + } + }, + "TagSpecifications": { + "target": "com.amazonaws.workspacesinstances#TagSpecifications", + "traits": { + "smithy.api#documentation": "

                              Configures resource tagging specifications.

                              " + } + }, + "UserData": { + "target": "com.amazonaws.workspacesinstances#UserData", + "traits": { + "smithy.api#documentation": "

                              Provides custom initialization data for the instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines comprehensive configuration for a managed WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#MarketTypeEnum": { + "type": "enum", + "members": { + "SPOT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot" + } + }, + "CAPACITY_BLOCK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" + } + } + } + }, + "com.amazonaws.workspacesinstances#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.workspacesinstances#NetworkInterfaceId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^eni-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#NetworkInterfaces": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#InstanceNetworkInterfaceSpecification" + } + }, + "com.amazonaws.workspacesinstances#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#NonNegativeInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.workspacesinstances#Placement": { + "type": "structure", + "members": { + "Affinity": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                              Specifies host affinity for dedicated instances.

                              " + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.workspacesinstances#AvailabilityZone", + "traits": { + "smithy.api#documentation": "

                              Identifies the specific AWS availability zone.

                              " + } + }, + "GroupId": { + "target": "com.amazonaws.workspacesinstances#PlacementGroupId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for placement group.

                              " + } + }, + "GroupName": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                              Name of the placement group.

                              " + } + }, + "HostId": { + "target": "com.amazonaws.workspacesinstances#HostId", + "traits": { + "smithy.api#documentation": "

                              Identifies the specific dedicated host.

                              " + } + }, + "HostResourceGroupArn": { + "target": "com.amazonaws.workspacesinstances#ARN", + "traits": { + "smithy.api#documentation": "

                              ARN of the host resource group.

                              " + } + }, + "PartitionNumber": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Specifies partition number for partition placement groups.

                              " + } + }, + "Tenancy": { + "target": "com.amazonaws.workspacesinstances#TenancyEnum", + "traits": { + "smithy.api#documentation": "

                              Defines instance tenancy configuration.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines instance placement configuration for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#PlacementGroupId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^pg-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#PrivateDnsNameOptionsRequest": { + "type": "structure", + "members": { + "HostnameType": { + "target": "com.amazonaws.workspacesinstances#HostnameTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Specifies the type of hostname configuration.

                              " + } + }, + "EnableResourceNameDnsARecord": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables DNS A record for resource name resolution.

                              " + } + }, + "EnableResourceNameDnsAAAARecord": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables DNS AAAA record for resource name resolution.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures private DNS name settings for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#PrivateIpAddressSpecification": { + "type": "structure", + "members": { + "Primary": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Indicates if this is the primary private IP address.

                              " + } + }, + "PrivateIpAddress": { + "target": "com.amazonaws.workspacesinstances#Ipv4Address", + "traits": { + "smithy.api#documentation": "

                              Specific private IP address for the network interface.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines private IP address configuration for network interface.

                              " + } + }, + "com.amazonaws.workspacesinstances#PrivateIpAddresses": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#PrivateIpAddressSpecification" + } + }, + "com.amazonaws.workspacesinstances#ProvisionStateEnum": { + "type": "enum", + "members": { + "ALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOCATING" + } + }, + "ALLOCATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOCATED" + } + }, + "DEALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEALLOCATING" + } + }, + "DEALLOCATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEALLOCATED" + } + }, + "ERROR_ALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR_ALLOCATING" + } + }, + "ERROR_DEALLOCATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR_DEALLOCATING" + } + } + } + }, + "com.amazonaws.workspacesinstances#ProvisionStates": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#ProvisionStateEnum" + } + }, + "com.amazonaws.workspacesinstances#Region": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.workspacesinstances#RegionName", + "traits": { + "smithy.api#documentation": "

                              Name of the AWS region.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents an AWS region supported by WorkSpaces Instances.

                              " + } + }, + "com.amazonaws.workspacesinstances#RegionList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Region" + } + }, + "com.amazonaws.workspacesinstances#RegionName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[-0-9a-z]{1,31}$" + } + }, + "com.amazonaws.workspacesinstances#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Details about the missing resource.

                              ", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Identifier of the resource that was not found.

                              ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Type of the resource that was not found.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Indicates the requested resource could not be found.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.workspacesinstances#ResourceTypeEnum": { + "type": "enum", + "members": { + "INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance" + } + }, + "VOLUME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "volume" + } + }, + "SPOT_INSTANCES_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-instances-request" + } + }, + "NETWORK_INTERFACE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "network-interface" + } + } + } + }, + "com.amazonaws.workspacesinstances#RunInstancesMonitoringEnabled": { + "type": "structure", + "members": { + "Enabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

                              Enables or disables detailed instance monitoring.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Configures detailed monitoring for WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^sg-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupId" + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?!sg-)[\\w .:/()#,@\\[\\]+=&;{}!$*-]{0,255}$" + } + }, + "com.amazonaws.workspacesinstances#SecurityGroupNames": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#SecurityGroupName" + } + }, + "com.amazonaws.workspacesinstances#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Description of the quota limitation.

                              ", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Identifier of the resource related to the quota.

                              ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Type of resource related to the quota.

                              ", + "smithy.api#required": {} + } + }, + "ServiceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Code identifying the service with the quota limitation.

                              ", + "smithy.api#required": {} + } + }, + "QuotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Specific code for the exceeded quota.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Indicates that a service quota has been exceeded.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.workspacesinstances#SnapshotId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^snap-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#SpotInstanceTypeEnum": { + "type": "enum", + "members": { + "ONE_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "one-time" + } + }, + "PERSISTENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "persistent" + } + } + } + }, + "com.amazonaws.workspacesinstances#SpotMarketOptions": { + "type": "structure", + "members": { + "BlockDurationMinutes": { + "target": "com.amazonaws.workspacesinstances#NonNegativeInteger", + "traits": { + "smithy.api#documentation": "

                              Duration of spot instance block reservation.

                              " + } + }, + "InstanceInterruptionBehavior": { + "target": "com.amazonaws.workspacesinstances#InstanceInterruptionBehaviorEnum", + "traits": { + "smithy.api#documentation": "

                              Specifies behavior when spot instance is interrupted.

                              " + } + }, + "MaxPrice": { + "target": "com.amazonaws.workspacesinstances#String64", + "traits": { + "smithy.api#documentation": "

                              Maximum hourly price for spot instance.

                              " + } + }, + "SpotInstanceType": { + "target": "com.amazonaws.workspacesinstances#SpotInstanceTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Defines the type of spot instance request.

                              " + } + }, + "ValidUntilUtc": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

                              Timestamp until which spot instance request is valid.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines configuration for spot instance deployment.

                              " + } + }, + "com.amazonaws.workspacesinstances#String128": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 128 + } + } + }, + "com.amazonaws.workspacesinstances#String64": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + } + } + }, + "com.amazonaws.workspacesinstances#SubnetId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^subnet-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#Tag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.workspacesinstances#TagKey", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for the tag.

                              " + } + }, + "Value": { + "target": "com.amazonaws.workspacesinstances#TagValue", + "traits": { + "smithy.api#documentation": "

                              Value associated with the tag key.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents a key-value metadata tag.

                              " + } + }, + "com.amazonaws.workspacesinstances#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$" + } + }, + "com.amazonaws.workspacesinstances#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + } + } + }, + "com.amazonaws.workspacesinstances#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#Tag" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 30 + } + } + }, + "com.amazonaws.workspacesinstances#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:RequestTag/${TagKey}", + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to add user tags to resources in your account" + }, + "smithy.api#documentation": "

                              Adds tags to a WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#TagResourceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the WorkSpace Instance to tag.

                              ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                              Tags to be added to the WorkSpace Instance.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies tags to add to a WorkSpace Instance.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Confirms successful tag addition.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#TagSpecification": { + "type": "structure", + "members": { + "ResourceType": { + "target": "com.amazonaws.workspacesinstances#ResourceTypeEnum", + "traits": { + "smithy.api#documentation": "

                              Type of resource being tagged.

                              " + } + }, + "Tags": { + "target": "com.amazonaws.workspacesinstances#TagList", + "traits": { + "smithy.api#documentation": "

                              Collection of tags for the specified resource.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Defines tagging configuration for a resource.

                              " + } + }, + "com.amazonaws.workspacesinstances#TagSpecifications": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#TagSpecification" + }, + "traits": { + "smithy.api#length": { + "max": 30 + } + } + }, + "com.amazonaws.workspacesinstances#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "com.amazonaws.workspacesinstances#TenancyEnum": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "DEDICATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dedicated" + } + }, + "HOST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "host" + } + } + } + }, + "com.amazonaws.workspacesinstances#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Description of the throttling event.

                              ", + "smithy.api#required": {} + } + }, + "ServiceCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Code identifying the service experiencing throttling.

                              " + } + }, + "QuotaCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Specific code for the throttling quota.

                              " + } + }, + "RetryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

                              Recommended wait time before retrying the request.

                              ", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Indicates the request rate has exceeded limits.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.workspacesinstances#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.workspacesinstances#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.workspacesinstances#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workspacesinstances#AccessDeniedException" + }, + { + "target": "com.amazonaws.workspacesinstances#InternalServerException" + }, + { + "target": "com.amazonaws.workspacesinstances#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.workspacesinstances#ThrottlingException" + }, + { + "target": "com.amazonaws.workspacesinstances#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [ + "aws:TagKeys" + ], + "aws.iam#iamAction": { + "documentation": "Grants permission to remove user tags from resources in your account" + }, + "smithy.api#documentation": "

                              Removes tags from a WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#UntagResourceRequest": { + "type": "structure", + "members": { + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier of the WorkSpace Instance to untag.

                              ", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.workspacesinstances#TagKeyList", + "traits": { + "smithy.api#documentation": "

                              Keys of tags to be removed.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Specifies tags to remove from a WorkSpace Instance.

                              ", + "smithy.api#input": {} + } + }, + "com.amazonaws.workspacesinstances#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                              Confirms successful tag removal.

                              ", + "smithy.api#output": {} + } + }, + "com.amazonaws.workspacesinstances#UserData": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.workspacesinstances#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Overall description of validation failures.

                              ", + "smithy.api#required": {} + } + }, + "Reason": { + "target": "com.amazonaws.workspacesinstances#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

                              Specific reason for the validation failure.

                              ", + "smithy.api#required": {} + } + }, + "FieldList": { + "target": "com.amazonaws.workspacesinstances#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

                              List of fields that failed validation.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Indicates invalid input parameters in the request.

                              ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.workspacesinstances#ValidationExceptionField": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Name of the field that failed validation.

                              ", + "smithy.api#required": {} + } + }, + "Reason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Reason for the validation failure.

                              ", + "smithy.api#required": {} + } + }, + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Detailed error message describing the validation issue.

                              ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents a validation error field in an API request.

                              " + } + }, + "com.amazonaws.workspacesinstances#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#ValidationExceptionField" + } + }, + "com.amazonaws.workspacesinstances#ValidationExceptionReason": { + "type": "enum", + "members": { + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNKNOWN_OPERATION" + } + }, + "UNSUPPORTED_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNSUPPORTED_OPERATION" + } + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANNOT_PARSE" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIELD_VALIDATION_FAILED" + } + }, + "DEPENDENCY_FAILURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPENDENCY_FAILURE" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OTHER" + } + } + } + }, + "com.amazonaws.workspacesinstances#VirtualName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^ephemeral(0|[1-9][0-9]{0,2})$" + } + }, + "com.amazonaws.workspacesinstances#VolumeId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^vol-[0-9a-zA-Z]{1,63}$" + } + }, + "com.amazonaws.workspacesinstances#VolumeTypeEnum": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "standard" + } + }, + "IO1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "io1" + } + }, + "IO2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "io2" + } + }, + "GP2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gp2" + } + }, + "SC1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sc1" + } + }, + "ST1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "st1" + } + }, + "GP3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "gp3" + } + } + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstance": { + "type": "structure", + "members": { + "ProvisionState": { + "target": "com.amazonaws.workspacesinstances#ProvisionStateEnum", + "traits": { + "smithy.api#documentation": "

                              Current provisioning state of the WorkSpace Instance.

                              " + } + }, + "WorkspaceInstanceId": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceId", + "traits": { + "smithy.api#documentation": "

                              Unique identifier for the WorkSpace Instance.

                              " + } + }, + "EC2ManagedInstance": { + "target": "com.amazonaws.workspacesinstances#EC2ManagedInstance", + "traits": { + "smithy.api#documentation": "

                              Details of the associated EC2 managed instance.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Represents a single WorkSpace Instance.

                              " + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstanceError": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Unique error code for the WorkSpace Instance error.

                              " + } + }, + "ErrorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

                              Detailed description of the WorkSpace Instance error.

                              " + } + } + }, + "traits": { + "smithy.api#documentation": "

                              Captures errors specific to WorkSpace Instance operations.

                              " + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstanceErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstanceError" + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstanceId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 15, + "max": 70 + }, + "smithy.api#pattern": "^wsinst-[0-9a-zA-Z]{8,63}$" + } + }, + "com.amazonaws.workspacesinstances#WorkspaceInstances": { + "type": "list", + "member": { + "target": "com.amazonaws.workspacesinstances#WorkspaceInstance" + } + } + } +} \ No newline at end of file diff --git a/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json b/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json index 9fad71e496a..a8b61288601 100644 --- a/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json +++ b/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json @@ -85,7 +85,7 @@ } }, "traits": { - "smithy.api#documentation": "

                              The requested operation would cause a conflict with the current state of a service\n resource associated with the request. Resolve the conflict before retrying this\n request.

                              ", + "smithy.api#documentation": "

                              The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

                              ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -145,7 +145,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

                              ", "smithy.api#required": {} } }, @@ -158,7 +158,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } }, "maintenanceWindow": { @@ -182,13 +182,13 @@ "kmsKeyArn": { "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the\n environment.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Key Management Service key to use to encrypt the environment.

                              " } }, "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

                              \n

                              If you don't provide this value, then Amazon Web Services generates a random one for\n you.

                              \n

                              If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", + "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

                              If you don't provide this value, then Amazon Web Services generates a random one for you.

                              If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", "smithy.api#idempotencyToken": {} } }, @@ -338,7 +338,7 @@ "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

                              \n

                              If you don't provide this value, then Amazon Web Services generates a random one for\n you.

                              \n

                              If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", + "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

                              If you don't provide this value, then Amazon Web Services generates a random one for you.

                              If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", "smithy.api#httpQuery": "clientToken", "smithy.api#idempotencyToken": {} } @@ -410,7 +410,7 @@ "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

                              \n

                              If you don't provide this value, then Amazon Web Services generates a random one for\n you.

                              \n

                              If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", + "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

                              If you don't provide this value, then Amazon Web Services generates a random one for you.

                              If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", "smithy.api#httpQuery": "clientToken", "smithy.api#idempotencyToken": {} } @@ -488,7 +488,7 @@ "clientToken": { "target": "com.amazonaws.workspacesthinclient#ClientToken", "traits": { - "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

                              \n

                              If you don't provide this value, then Amazon Web Services generates a random one for\n you.

                              \n

                              If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", + "smithy.api#documentation": "

                              Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

                              If you don't provide this value, then Amazon Web Services generates a random one for you.

                              If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

                              ", "smithy.api#idempotencyToken": {} } } @@ -610,13 +610,13 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } }, "softwareSetComplianceStatus": { "target": "com.amazonaws.workspacesthinclient#DeviceSoftwareSetComplianceStatus", "traits": { - "smithy.api#documentation": "

                              Describes if the software currently installed on the device is a supported\n version.

                              " + "smithy.api#documentation": "

                              Describes if the software currently installed on the device is a supported version.

                              " } }, "softwareSetUpdateStatus": { @@ -658,7 +658,7 @@ "kmsKeyArn": { "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the\n device.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the device.

                              " } }, "tags": { @@ -846,7 +846,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } }, "lastConnectedAt": { @@ -902,7 +902,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

                              " } }, "desktopEndpoint": { @@ -932,7 +932,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } }, "maintenanceWindow": { @@ -968,7 +968,7 @@ "softwareSetComplianceStatus": { "target": "com.amazonaws.workspacesthinclient#EnvironmentSoftwareSetComplianceStatus", "traits": { - "smithy.api#documentation": "

                              Describes if the software currently installed on all devices in the environment is a\n supported version.

                              " + "smithy.api#documentation": "

                              Describes if the software currently installed on all devices in the environment is a supported version.

                              " } }, "createdAt": { @@ -992,7 +992,7 @@ "kmsKeyArn": { "target": "com.amazonaws.workspacesthinclient#KmsKeyArn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the\n environment.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the Key Management Service key used to encrypt the environment.

                              " } }, "tags": { @@ -1079,7 +1079,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

                              " } }, "desktopEndpoint": { @@ -1103,7 +1103,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } }, "maintenanceWindow": { @@ -1450,14 +1450,14 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

                              ", + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                              ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.workspacesthinclient#MaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

                              \n

                              This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

                              ", + "smithy.api#documentation": "

                              The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

                              This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

                              ", "smithy.api#httpQuery": "maxResults" } } @@ -1478,7 +1478,7 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                              " } } }, @@ -1533,14 +1533,14 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

                              ", + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                              ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.workspacesthinclient#MaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

                              \n

                              This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

                              ", + "smithy.api#documentation": "

                              The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

                              This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

                              ", "smithy.api#httpQuery": "maxResults" } } @@ -1561,7 +1561,7 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                              " } } }, @@ -1616,14 +1616,14 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

                              ", + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                              ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.workspacesthinclient#MaxResults", "traits": { - "smithy.api#documentation": "

                              The maximum number of results that are returned per call. You can use\n nextToken to obtain further pages of results.

                              \n

                              This is only an upper limit. The actual number of results returned per call might be\n fewer than the specified maximum.

                              ", + "smithy.api#documentation": "

                              The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

                              This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

                              ", "smithy.api#httpQuery": "maxResults" } } @@ -1644,7 +1644,7 @@ "nextToken": { "target": "com.amazonaws.workspacesthinclient#PaginationToken", "traits": { - "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of\n nextToken is a unique pagination token for each page. Make the call again\n using the returned token to retrieve the next page. Keep all other arguments unchanged.\n Each pagination token expires after 24 hours. Using an expired pagination token will return\n an HTTP 400 InvalidToken error.

                              " + "smithy.api#documentation": "

                              If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

                              " } } }, @@ -1695,7 +1695,7 @@ "resourceArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the resource for which you want to retrieve\n tags.

                              ", + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags.

                              ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1738,7 +1738,7 @@ "startTimeMinute": { "target": "com.amazonaws.workspacesthinclient#Minute", "traits": { - "smithy.api#documentation": "

                              The minutes past the hour for the maintenance window start\n (00-59).

                              " + "smithy.api#documentation": "

                              The minutes past the hour for the maintenance window start (00-59).

                              " } }, "endTimeHour": { @@ -1762,7 +1762,7 @@ "applyTimeOf": { "target": "com.amazonaws.workspacesthinclient#ApplyTimeOf", "traits": { - "smithy.api#documentation": "

                              The option to set the maintenance window during the device local time or Universal\n Coordinated Time (UTC).

                              " + "smithy.api#documentation": "

                              The option to set the maintenance window during the device local time or Universal Coordinated Time (UTC).

                              " } } }, @@ -2285,7 +2285,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "

                              Amazon WorkSpaces Thin Client is an affordable device built to work with Amazon Web Services End User\n Computing (EUC) virtual desktops to provide users with a complete cloud desktop\n solution. WorkSpaces Thin Client is a compact device designed to connect up to two monitors and USB\n devices like a keyboard, mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin Client\n devices do not allow local data storage or installation of unapproved applications. The\n WorkSpaces Thin Client device ships preloaded with device management software.

                              \n

                              You can use these APIs to complete WorkSpaces Thin Client tasks, such as creating environments or\n viewing devices. For more information about WorkSpaces Thin Client, including the required permissions to\n use the service, see the Amazon WorkSpaces Thin Client Administrator Guide. For\n more information about using the Command Line Interface (CLI) to manage\n your WorkSpaces Thin Client resources, see the WorkSpaces Thin Client section of the\n CLI Reference.

                              ", + "smithy.api#documentation": "

                              Amazon WorkSpaces Thin Client is an affordable device built to work with Amazon Web Services End User Computing (EUC) virtual desktops to provide users with a complete cloud desktop solution. WorkSpaces Thin Client is a compact device designed to connect up to two monitors and USB devices like a keyboard, mouse, headset, and webcam. To maximize endpoint security, WorkSpaces Thin Client devices do not allow local data storage or installation of unapproved applications. The WorkSpaces Thin Client device ships preloaded with device management software.

                              You can use these APIs to complete WorkSpaces Thin Client tasks, such as creating environments or viewing devices. For more information about WorkSpaces Thin Client, including the required permissions to use the service, see the Amazon WorkSpaces Thin Client Administrator Guide. For more information about using the Command Line Interface (CLI) to manage your WorkSpaces Thin Client resources, see the WorkSpaces Thin Client section of the CLI Reference.

                              ", "smithy.api#title": "Amazon WorkSpaces Thin Client", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3042,7 +3042,7 @@ "tagKeys": { "target": "com.amazonaws.workspacesthinclient#TagKeys", "traits": { - "smithy.api#documentation": "

                              The keys of the key-value pairs for the tag or tags you want to remove from the\n specified resource.

                              ", + "smithy.api#documentation": "

                              The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

                              ", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -3123,7 +3123,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } } }, @@ -3157,6 +3157,9 @@ { "target": "com.amazonaws.workspacesthinclient#AccessDeniedException" }, + { + "target": "com.amazonaws.workspacesthinclient#ConflictException" + }, { "target": "com.amazonaws.workspacesthinclient#InternalServerException" }, @@ -3203,7 +3206,7 @@ "desktopArn": { "target": "com.amazonaws.workspacesthinclient#Arn", "traits": { - "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces,\n WorkSpaces Secure Browser, or AppStream 2.0.

                              " + "smithy.api#documentation": "

                              The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.

                              " } }, "desktopEndpoint": { @@ -3215,7 +3218,7 @@ "softwareSetUpdateSchedule": { "target": "com.amazonaws.workspacesthinclient#SoftwareSetUpdateSchedule", "traits": { - "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance\n window.

                              " + "smithy.api#documentation": "

                              An option to define if software updates should be applied within a maintenance window.

                              " } }, "maintenanceWindow": { diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json index 77b16658dd7..c870fb1af03 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests/smithy-build.json @@ -1,9 +1,9 @@ { "version": "1.0", "projections": { - "mgn.2020-02-26": { + "connectcampaigns.2021-01-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -12,9 +12,9 @@ } } }, - "iot-1click-devices-service.2018-05-14": { + "location.2020-11-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -23,9 +23,9 @@ } } }, - "apptest.2022-12-06": { + "bedrock-agent-runtime.2023-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -34,9 +34,9 @@ } } }, - "observabilityadmin.2018-05-10": { + "textract.2018-06-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -45,9 +45,9 @@ } } }, - "support.2013-04-15": { + "sagemaker-edge.2020-09-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -56,9 +56,9 @@ } } }, - "shield.2016-06-02": { + "dynamodb-streams.2012-08-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -67,9 +67,9 @@ } } }, - "appstream.2016-12-01": { + "cloudhsm-v2.2017-04-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -78,9 +78,9 @@ } } }, - "macie2.2020-01-01": { + "entityresolution.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -89,9 +89,9 @@ } } }, - "sesv2.2019-09-27": { + "chatbot.2017-10-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -100,9 +100,9 @@ } } }, - "drs.2020-02-26": { + "rolesanywhere.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -111,9 +111,9 @@ } } }, - "dataexchange.2017-07-25": { + "kinesis-video.2017-09-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -122,9 +122,9 @@ } } }, - "route53-recovery-control-config.2020-11-02": { + "iotanalytics.2017-11-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -133,9 +133,9 @@ } } }, - "marketplace-commerce-analytics.2015-07-01": { + "route-53-domains.2014-05-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -144,9 +144,9 @@ } } }, - "machine-learning.2014-12-12": { + "workspaces-instances.2022-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-instances.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -155,9 +155,9 @@ } } }, - "cloudsearch.2013-01-01": { + "eventbridge.2015-10-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -166,9 +166,9 @@ } } }, - "textract.2018-06-27": { + "resource-groups.2017-11-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/textract.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -177,9 +177,9 @@ } } }, - "mailmanager.2023-10-17": { + "iot-wireless.2020-11-22": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -188,9 +188,9 @@ } } }, - "repostspace.2022-05-13": { + "rds.2014-10-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -199,9 +199,9 @@ } } }, - "mediaconnect.2018-11-14": { + "wellarchitected.2020-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -210,9 +210,9 @@ } } }, - "kendra-ranking.2022-10-19": { + "cleanrooms.2022-02-17": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -223,7 +223,7 @@ }, "tnb.2008-10-21": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/tnb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -232,9 +232,9 @@ } } }, - "forecastquery.2018-06-26": { + "kinesis-video-webrtc-storage.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -243,9 +243,9 @@ } } }, - "workspaces.2015-04-08": { + "kms.2014-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -254,9 +254,9 @@ } } }, - "lookoutmetrics.2017-07-25": { + "dataexchange.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dataexchange.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -265,9 +265,9 @@ } } }, - "pinpoint-email.2018-07-26": { + "cognito-identity-provider.2016-04-18": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -276,9 +276,9 @@ } } }, - "iotanalytics.2017-11-27": { + "neptune.2014-10-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotanalytics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -287,9 +287,9 @@ } } }, - "cloud9.2017-09-23": { + "cloudsearch.2013-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -298,9 +298,9 @@ } } }, - "networkflowmonitor.2023-04-19": { + "timestream-write.2018-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -309,9 +309,9 @@ } } }, - "comprehendmedical.2018-10-30": { + "rbin.2021-06-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -320,9 +320,9 @@ } } }, - "chime-sdk-messaging.2021-05-15": { + "iotdeviceadvisor.2020-09-18": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -331,9 +331,9 @@ } } }, - "geo-maps.2020-11-19": { + "route53-recovery-control-config.2020-11-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-control-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -342,9 +342,9 @@ } } }, - "location.2020-11-19": { + "geo-maps.2020-11-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/location.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-maps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -353,9 +353,9 @@ } } }, - "geo-routes.2020-11-19": { + "managedblockchain-query.2023-05-04": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -364,9 +364,9 @@ } } }, - "arc-zonal-shift.2022-10-30": { + "backup-gateway.2021-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -375,9 +375,9 @@ } } }, - "cloudwatch-logs.2014-03-28": { + "codepipeline.2015-07-09": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -386,9 +386,9 @@ } } }, - "service-catalog-appregistry.2020-06-24": { + "docdb-elastic.2022-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -397,9 +397,9 @@ } } }, - "route53-recovery-readiness.2019-12-02": { + "robomaker.2018-06-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -408,9 +408,9 @@ } } }, - "cost-and-usage-report-service.2017-01-06": { + "voice-id.2021-09-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -419,9 +419,9 @@ } } }, - "supplychain.2024-01-01": { + "appsync.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -430,9 +430,9 @@ } } }, - "voice-id.2021-09-27": { + "mgn.2020-02-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/voice-id.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mgn.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -441,9 +441,9 @@ } } }, - "marketplace-entitlement-service.2017-01-11": { + "payment-cryptography-data.2022-02-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -452,9 +452,9 @@ } } }, - "chime-sdk-meetings.2021-07-15": { + "license-manager-linux-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -463,9 +463,9 @@ } } }, - "auto-scaling.2011-01-01": { + "observabilityadmin.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/observabilityadmin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -474,9 +474,9 @@ } } }, - "dynamodb-streams.2012-08-10": { + "qbusiness.2023-11-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb-streams.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -485,9 +485,9 @@ } } }, - "codeguru-security.2018-05-10": { + "cloudwatch.2010-08-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -496,9 +496,9 @@ } } }, - "launch-wizard.2018-05-10": { + "cost-explorer.2017-10-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -507,9 +507,9 @@ } } }, - "sso-oidc.2019-06-10": { + "backupsearch.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -518,9 +518,9 @@ } } }, - "backupsearch.2018-05-10": { + "opensearchserverless.2021-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backupsearch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -529,9 +529,9 @@ } } }, - "device-farm.2015-06-23": { + "iotthingsgraph.2018-09-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -540,9 +540,9 @@ } } }, - "bedrock-data-automation-runtime.2024-06-13": { + "s3.2006-03-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -551,9 +551,9 @@ } } }, - "vpc-lattice.2022-11-30": { + "geo-places.2020-11-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -562,9 +562,9 @@ } } }, - "kinesis-analytics.2015-08-14": { + "elastic-load-balancing.2012-06-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -573,9 +573,9 @@ } } }, - "resource-groups.2017-11-27": { + "ivschat.2020-07-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -584,9 +584,9 @@ } } }, - "ivschat.2020-07-14": { + "synthetics.2017-10-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivschat.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -595,9 +595,9 @@ } } }, - "marketplace-metering.2016-01-14": { + "chime.2018-05-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -606,9 +606,9 @@ } } }, - "finspace.2021-03-12": { + "snow-device-management.2021-08-04": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -617,9 +617,9 @@ } } }, - "bedrock-agent-runtime.2023-07-26": { + "application-insights.2018-11-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -628,9 +628,9 @@ } } }, - "kinesis-analytics-v2.2018-05-23": { + "medical-imaging.2023-07-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -639,9 +639,9 @@ } } }, - "opsworkscm.2016-11-01": { + "cloudhsm.2014-05-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -650,9 +650,9 @@ } } }, - "migrationhuborchestrator.2021-08-28": { + "migration-hub.2017-05-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -661,9 +661,9 @@ } } }, - "ses.2010-12-01": { + "lightsail.2016-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -672,9 +672,9 @@ } } }, - "inspector-scan.2023-08-08": { + "directory-service-data.2023-05-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -683,9 +683,9 @@ } } }, - "deadline.2023-10-12": { + "ssm-sap.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -694,9 +694,9 @@ } } }, - "lex-model-building-service.2017-04-19": { + "mediapackage-vod.2018-11-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -705,9 +705,9 @@ } } }, - "grafana.2020-08-18": { + "direct-connect.2012-10-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -716,9 +716,9 @@ } } }, - "api-gateway.2015-07-09": { + "iotfleetwise.2021-06-17": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -727,9 +727,9 @@ } } }, - "ecr-public.2020-10-30": { + "appflow.2020-08-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -738,9 +738,9 @@ } } }, - "sagemaker-geospatial.2020-05-27": { + "evs.2023-07-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -749,9 +749,9 @@ } } }, - "workmail.2017-10-01": { + "xray.2016-04-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -760,9 +760,9 @@ } } }, - "iam.2010-05-08": { + "mediatailor.2018-04-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -771,9 +771,9 @@ } } }, - "dlm.2018-01-12": { + "forecastquery.2018-06-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecastquery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -782,9 +782,9 @@ } } }, - "route-53-domains.2014-05-15": { + "mwaa.2020-07-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53-domains.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -793,9 +793,9 @@ } } }, - "managedblockchain.2018-09-24": { + "repostspace.2022-05-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/repostspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -804,9 +804,9 @@ } } }, - "emr.2009-03-31": { + "elastic-beanstalk.2010-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -815,9 +815,9 @@ } } }, - "medialive.2017-10-14": { + "marketplace-deployment.2023-01-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -826,9 +826,9 @@ } } }, - "chime-sdk-identity.2021-04-20": { + "marketplace-commerce-analytics.2015-07-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-commerce-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -837,9 +837,9 @@ } } }, - "bedrock-data-automation.2023-07-26": { + "ssm-guiconnect.2021-05-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -848,9 +848,9 @@ } } }, - "identitystore.2020-06-15": { + "elasticsearch-service.2015-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -859,9 +859,9 @@ } } }, - "organizations.2016-11-28": { + "s3tables.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -870,9 +870,9 @@ } } }, - "bedrock.2023-04-20": { + "ecr-public.2020-10-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr-public.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -881,9 +881,9 @@ } } }, - "sts.2011-06-15": { + "lambda.2015-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -892,9 +892,9 @@ } } }, - "sfn.2016-11-23": { + "arc-zonal-shift.2022-10-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/arc-zonal-shift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -903,9 +903,9 @@ } } }, - "security-ir.2018-05-10": { + "codestar-notifications.2019-10-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -914,9 +914,9 @@ } } }, - "guardduty.2017-11-28": { + "sns.2010-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -925,9 +925,9 @@ } } }, - "neptune.2014-10-31": { + "mediapackage.2017-10-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -936,9 +936,9 @@ } } }, - "app-mesh.2019-01-25": { + "outposts.2019-12-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -947,9 +947,9 @@ } } }, - "codebuild.2016-10-06": { + "applicationcostprofiler.2020-09-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -958,9 +958,9 @@ } } }, - "savingsplans.2019-06-28": { + "datazone.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -969,9 +969,9 @@ } } }, - "ecr.2015-09-21": { + "quicksight.2018-04-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -980,9 +980,9 @@ } } }, - "iot-jobs-data-plane.2017-09-29": { + "pinpoint-sms-voice-v2.2022-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -991,9 +991,9 @@ } } }, - "codecommit.2015-04-13": { + "pinpoint.2016-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1002,9 +1002,9 @@ } } }, - "pipes.2015-10-07": { + "greengrass.2017-06-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1013,9 +1013,9 @@ } } }, - "codecatalyst.2022-09-28": { + "customer-profiles.2020-08-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1024,9 +1024,9 @@ } } }, - "migration-hub.2017-05-31": { + "sesv2.2019-09-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sesv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1035,9 +1035,9 @@ } } }, - "codeconnections.2023-12-01": { + "artifact.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1046,9 +1046,9 @@ } } }, - "docdb-elastic.2022-11-28": { + "omics.2022-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb-elastic.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1057,9 +1057,9 @@ } } }, - "cognito-sync.2014-06-30": { + "cloudtrail-data.2021-08-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1068,9 +1068,9 @@ } } }, - "iot.2015-05-28": { + "devops-guru.2020-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1079,9 +1079,9 @@ } } }, - "ssm-contacts.2021-05-03": { + "config-service.2014-11-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1090,9 +1090,9 @@ } } }, - "networkmanager.2019-07-05": { + "iam.2010-05-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1101,9 +1101,9 @@ } } }, - "mediatailor.2018-04-23": { + "marketplace-entitlement-service.2017-01-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediatailor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-entitlement-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1112,9 +1112,9 @@ } } }, - "elastic-load-balancing-v2.2015-12-01": { + "service-quotas.2019-06-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1123,9 +1123,9 @@ } } }, - "appconfig.2019-10-09": { + "apprunner.2020-05-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1134,9 +1134,9 @@ } } }, - "fis.2020-12-01": { + "lookoutvision.2020-11-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1145,9 +1145,9 @@ } } }, - "service-catalog.2015-12-10": { + "ssm.2014-11-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1156,9 +1156,9 @@ } } }, - "cloudfront-keyvaluestore.2022-07-26": { + "route53resolver.2018-04-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1167,9 +1167,9 @@ } } }, - "transcribe-streaming.2017-10-26": { + "sagemaker-runtime.2017-05-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1178,9 +1178,9 @@ } } }, - "mediapackage.2017-10-12": { + "cloudfront-keyvaluestore.2022-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront-keyvaluestore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1189,9 +1189,9 @@ } } }, - "bedrock-agent.2023-06-05": { + "timestream-query.2018-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1200,9 +1200,9 @@ } } }, - "cloudtrail-data.2021-08-11": { + "kendra.2019-02-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1211,9 +1211,9 @@ } } }, - "lex-runtime-service.2016-11-28": { + "keyspaces.2022-02-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1222,9 +1222,9 @@ } } }, - "secrets-manager.2017-10-17": { + "workspaces-thin-client.2023-08-22": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1233,9 +1233,9 @@ } } }, - "cloudtrail.2013-11-01": { + "pinpoint-email.2018-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-email.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1244,9 +1244,9 @@ } } }, - "neptune-graph.2023-11-29": { + "socialmessaging.2024-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1255,9 +1255,9 @@ } } }, - "efs.2015-02-01": { + "migrationhub-config.2019-06-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1266,9 +1266,9 @@ } } }, - "entityresolution.2018-05-10": { + "auto-scaling.2011-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/entityresolution.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1277,9 +1277,9 @@ } } }, - "connectcases.2022-10-03": { + "global-accelerator.2018-08-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1288,9 +1288,9 @@ } } }, - "rds.2014-10-31": { + "lex-model-building-service.2017-04-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-model-building-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1299,9 +1299,9 @@ } } }, - "notificationscontacts.2018-05-10": { + "iot-events.2018-07-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1310,9 +1310,9 @@ } } }, - "appconfigdata.2021-11-11": { + "dlm.2018-01-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dlm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1321,9 +1321,9 @@ } } }, - "route53-recovery-cluster.2019-12-02": { + "sagemaker-a2i-runtime.2019-11-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1332,9 +1332,9 @@ } } }, - "connect.2017-08-08": { + "ram.2018-01-04": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1343,9 +1343,9 @@ } } }, - "evidently.2021-02-01": { + "m2.2021-04-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1354,9 +1354,9 @@ } } }, - "iotfleethub.2020-11-03": { + "imagebuilder.2019-12-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1365,9 +1365,9 @@ } } }, - "cost-optimization-hub.2022-07-26": { + "cost-and-usage-report-service.2017-01-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-and-usage-report-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1376,9 +1376,9 @@ } } }, - "sagemaker.2017-07-24": { + "workdocs.2016-05-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1387,9 +1387,9 @@ } } }, - "cloudfront.2020-05-31": { + "shield.2016-06-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/shield.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1398,9 +1398,9 @@ } } }, - "budgets.2016-10-20": { + "serverlessapplicationrepository.2017-09-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1409,9 +1409,9 @@ } } }, - "braket.2019-09-01": { + "identitystore.2020-06-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/identitystore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1420,9 +1420,9 @@ } } }, - "redshift.2012-12-01": { + "chime-sdk-media-pipelines.2021-07-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1431,9 +1431,9 @@ } } }, - "mturk.2017-01-17": { + "codestar-connections.2019-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1442,9 +1442,9 @@ } } }, - "directory-service.2015-04-16": { + "b2bi.2022-06-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1453,9 +1453,9 @@ } } }, - "batch.2016-08-10": { + "networkmonitor.2023-08-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1464,9 +1464,9 @@ } } }, - "cloudwatch.2010-08-01": { + "marketplace-metering.2016-01-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-metering.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1475,9 +1475,9 @@ } } }, - "codeguruprofiler.2019-07-18": { + "compute-optimizer.2019-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1486,9 +1486,9 @@ } } }, - "chime-sdk-media-pipelines.2021-07-15": { + "ssm-incidents.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-media-pipelines.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1497,9 +1497,9 @@ } } }, - "bedrock-runtime.2023-09-30": { + "amplifybackend.2020-08-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1508,9 +1508,9 @@ } } }, - "iotthingsgraph.2018-09-06": { + "redshift-data.2019-12-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotthingsgraph.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1519,9 +1519,9 @@ } } }, - "osis.2022-01-01": { + "codeconnections.2023-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeconnections.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1530,9 +1530,9 @@ } } }, - "timestream-write.2018-11-01": { + "resiliencehub.2020-04-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-write.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1541,9 +1541,9 @@ } } }, - "rolesanywhere.2018-05-10": { + "workmail.2017-10-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rolesanywhere.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1552,9 +1552,9 @@ } } }, - "database-migration-service.2016-01-01": { + "security-ir.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/security-ir.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1563,9 +1563,9 @@ } } }, - "socialmessaging.2024-01-01": { + "medialive.2017-10-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/socialmessaging.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medialive.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1574,9 +1574,9 @@ } } }, - "mediastore-data.2017-09-01": { + "backup.2018-11-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1585,9 +1585,9 @@ } } }, - "iot-1click-projects.2018-05-14": { + "lex-runtime-service.2016-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1596,9 +1596,9 @@ } } }, - "pca-connector-scep.2018-05-10": { + "translate.2017-07-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1607,9 +1607,9 @@ } } }, - "fms.2018-01-01": { + "chime-sdk-identity.2021-04-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1618,9 +1618,9 @@ } } }, - "pca-connector-ad.2018-05-10": { + "bedrock-runtime.2023-09-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1629,9 +1629,9 @@ } } }, - "panorama.2019-07-24": { + "migration-hub-refactor-spaces.2021-10-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1640,9 +1640,9 @@ } } }, - "chime.2018-05-01": { + "dsql.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1651,9 +1651,9 @@ } } }, - "transfer.2018-11-05": { + "mediastore.2017-09-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1662,9 +1662,9 @@ } } }, - "redshift-data.2019-12-20": { + "redshift-serverless.2021-04-21": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1673,9 +1673,9 @@ } } }, - "connectcampaignsv2.2024-04-23": { + "evidently.2021-02-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evidently.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1684,9 +1684,9 @@ } } }, - "route53profiles.2018-05-10": { + "waf-regional.2016-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1695,9 +1695,9 @@ } } }, - "pinpoint.2016-12-01": { + "iotfleethub.2020-11-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleethub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1706,9 +1706,9 @@ } } }, - "kinesis-video-signaling.2019-12-04": { + "mailmanager.2023-10-17": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mailmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1717,9 +1717,9 @@ } } }, - "detective.2018-10-26": { + "appintegrations.2020-07-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1728,9 +1728,9 @@ } } }, - "ram.2018-01-04": { + "chime-sdk-messaging.2021-05-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ram.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-messaging.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1739,9 +1739,9 @@ } } }, - "amp.2020-08-01": { + "qconnect.2020-10-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1750,9 +1750,9 @@ } } }, - "iotdeviceadvisor.2020-09-18": { + "ivs.2020-07-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotdeviceadvisor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1761,9 +1761,9 @@ } } }, - "kinesis-video-archived-media.2017-09-30": { + "support-app.2021-08-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1772,9 +1772,9 @@ } } }, - "codestar-connections.2019-12-01": { + "pricing.2017-10-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-connections.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1783,9 +1783,9 @@ } } }, - "opensearchserverless.2021-11-01": { + "appfabric.2023-05-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearchserverless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1794,9 +1794,9 @@ } } }, - "cost-explorer.2017-10-25": { + "emr.2009-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-explorer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1805,9 +1805,9 @@ } } }, - "timestream-influxdb.2023-01-27": { + "networkmanager.2019-07-05": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1816,9 +1816,9 @@ } } }, - "wisdom.2020-10-19": { + "dax.2017-04-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1827,9 +1827,9 @@ } } }, - "iottwinmaker.2021-11-29": { + "gameliftstreams.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1838,9 +1838,9 @@ } } }, - "ssm-guiconnect.2021-05-01": { + "osis.2022-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-guiconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/osis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1849,9 +1849,9 @@ } } }, - "lightsail.2016-11-28": { + "ec2.2016-11-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lightsail.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1860,9 +1860,9 @@ } } }, - "synthetics.2017-10-11": { + "acm-pca.": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/synthetics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1871,9 +1871,9 @@ } } }, - "resource-explorer-2.2022-07-28": { + "transfer.2018-11-05": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transfer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1882,9 +1882,9 @@ } } }, - "partnercentral-selling.2022-07-26": { + "lex-models-v2.2020-08-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1893,9 +1893,9 @@ } } }, - "customer-profiles.2020-08-15": { + "storage-gateway.2013-06-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/customer-profiles.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1904,9 +1904,9 @@ } } }, - "clouddirectory.2017-01-11": { + "bedrock-data-automation-runtime.2024-06-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1915,9 +1915,9 @@ } } }, - "license-manager-user-subscriptions.2018-05-10": { + "network-firewall.2020-11-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1926,9 +1926,9 @@ } } }, - "resiliencehub.2020-04-30": { + "migrationhubstrategy.2020-02-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resiliencehub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1937,9 +1937,9 @@ } } }, - "mwaa.2020-07-01": { + "neptunedata.2023-08-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mwaa.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1948,9 +1948,9 @@ } } }, - "snow-device-management.2021-08-04": { + "mediaconvert.2017-08-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snow-device-management.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1959,9 +1959,9 @@ } } }, - "payment-cryptography.2021-09-14": { + "pi.2018-02-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1970,9 +1970,9 @@ } } }, - "elasticache.2015-02-02": { + "iot-1click-devices-service.2018-05-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-devices-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1981,9 +1981,9 @@ } } }, - "iot-managed-integrations.2025-03-03": { + "dynamodb.2012-08-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -1992,9 +1992,9 @@ } } }, - "network-firewall.2020-11-12": { + "iottwinmaker.2021-11-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/network-firewall.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iottwinmaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2003,9 +2003,9 @@ } } }, - "codeguru-reviewer.2019-09-19": { + "codecommit.2015-04-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecommit.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2014,9 +2014,9 @@ } } }, - "inspector2.2020-06-08": { + "efs.2015-02-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/efs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2025,9 +2025,9 @@ } } }, - "invoicing.2024-12-01": { + "glue.2017-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2036,9 +2036,9 @@ } } }, - "translate.2017-07-01": { + "polly.2016-06-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/translate.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2047,9 +2047,9 @@ } } }, - "forecast.2018-06-26": { + "drs.2020-02-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/drs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2058,9 +2058,9 @@ } } }, - "cognito-identity.2014-06-30": { + "ssm-contacts.2021-05-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-contacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2069,9 +2069,9 @@ } } }, - "networkmonitor.2023-08-01": { + "personalize-events.2018-03-22": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkmonitor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2080,9 +2080,9 @@ } } }, - "application-signals.2024-04-15": { + "mpa.2022-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mpa.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2091,9 +2091,9 @@ } } }, - "polly.2016-06-10": { + "accessanalyzer.2019-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/polly.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2102,9 +2102,9 @@ } } }, - "datasync.2018-11-09": { + "kinesis-video-signaling.2019-12-04": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-signaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2113,9 +2113,9 @@ } } }, - "mediaconvert.2017-08-29": { + "guardduty.2017-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconvert.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/guardduty.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2124,9 +2124,9 @@ } } }, - "kinesis.2013-12-02": { + "securityhub.2018-10-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2135,9 +2135,9 @@ } } }, - "connectparticipant.2018-09-07": { + "emr-containers.2020-10-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2146,9 +2146,9 @@ } } }, - "transcribe.2017-10-26": { + "swf.2012-01-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2157,9 +2157,9 @@ } } }, - "quicksight.2018-04-01": { + "vpc-lattice.2022-11-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/quicksight.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/vpc-lattice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2168,9 +2168,9 @@ } } }, - "migrationhub-config.2019-06-30": { + "iotsitewise.2019-12-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhub-config.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2179,9 +2179,9 @@ } } }, - "eks.2017-11-01": { + "managedblockchain.2018-09-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2190,9 +2190,9 @@ } } }, - "opsworks.2013-02-18": { + "codecatalyst.2022-09-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codecatalyst.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2201,9 +2201,9 @@ } } }, - "lambda.2015-03-31": { + "simspaceweaver.2022-10-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lambda.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2212,9 +2212,9 @@ } } }, - "cloudsearch-domain.2013-01-01": { + "codebuild.2016-10-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codebuild.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2223,9 +2223,9 @@ } } }, - "outposts.2019-12-03": { + "connectcampaignsv2.2024-04-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/outposts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaignsv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2234,9 +2234,9 @@ } } }, - "cloudhsm.2014-05-30": { + "app-mesh.2019-01-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/app-mesh.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2245,9 +2245,9 @@ } } }, - "license-manager-linux-subscriptions.2018-05-10": { + "database-migration-service.2016-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-linux-subscriptions.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/database-migration-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2256,9 +2256,9 @@ } } }, - "greengrass.2017-06-07": { + "cleanroomsml.2023-09-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrass.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2267,9 +2267,9 @@ } } }, - "s3tables.2018-05-10": { + "sqs.2012-11-05": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3tables.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2278,9 +2278,9 @@ } } }, - "wellarchitected.2020-03-31": { + "rds-data.2018-08-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wellarchitected.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2289,9 +2289,9 @@ } } }, - "m2.2021-04-28": { + "panorama.2019-07-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/m2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/panorama.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2300,9 +2300,9 @@ } } }, - "controltower.2018-05-10": { + "qldb-session.2019-07-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2311,9 +2311,9 @@ } } }, - "kinesis-video-media.2017-09-30": { + "sagemaker.2017-07-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2322,9 +2322,9 @@ } } }, - "ebs.2019-11-02": { + "sagemaker-featurestore-runtime.2020-07-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2333,9 +2333,9 @@ } } }, - "support-app.2021-08-20": { + "opsworks.2013-02-18": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support-app.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2344,9 +2344,9 @@ } } }, - "greengrassv2.2020-11-30": { + "service-catalog-appregistry.2020-06-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog-appregistry.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2355,9 +2355,9 @@ } } }, - "securityhub.2018-10-26": { + "mediaconnect.2018-11-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securityhub.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2366,9 +2366,9 @@ } } }, - "kms.2014-11-01": { + "grafana.2020-08-18": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/grafana.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2377,9 +2377,9 @@ } } }, - "omics.2022-11-28": { + "comprehendmedical.2018-10-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/omics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehendmedical.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2388,9 +2388,9 @@ } } }, - "qconnect.2020-10-19": { + "groundstation.2019-05-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2399,9 +2399,9 @@ } } }, - "elastic-transcoder.2012-09-25": { + "kafka.2018-11-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2410,9 +2410,9 @@ } } }, - "accessanalyzer.2019-11-01": { + "directory-service.2015-04-16": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/accessanalyzer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2421,9 +2421,9 @@ } } }, - "workdocs.2016-05-01": { + "cognito-identity.2014-06-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workdocs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2432,9 +2432,9 @@ } } }, - "direct-connect.2012-10-25": { + "kinesis-analytics-v2.2018-05-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/direct-connect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2443,9 +2443,9 @@ } } }, - "apigatewayv2.2018-11-29": { + "auto-scaling-plans.2018-01-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2454,9 +2454,9 @@ } } }, - "codepipeline.2015-07-09": { + "connect-contact-lens.2020-08-21": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codepipeline.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2465,9 +2465,9 @@ } } }, - "backup.2018-11-15": { + "sso-admin.2020-07-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2476,9 +2476,9 @@ } } }, - "simspaceweaver.2022-10-28": { + "codeguru-security.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/simspaceweaver.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-security.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2487,9 +2487,9 @@ } } }, - "sagemaker-a2i-runtime.2019-11-07": { + "organizations.2016-11-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-a2i-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/organizations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2498,9 +2498,9 @@ } } }, - "global-accelerator.2018-08-08": { + "emr-serverless.2021-07-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/global-accelerator.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2509,9 +2509,9 @@ } } }, - "ecs.2014-11-13": { + "sts.2011-06-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2520,9 +2520,9 @@ } } }, - "pinpoint-sms-voice-v2.2022-03-31": { + "frauddetector.2019-11-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2531,9 +2531,9 @@ } } }, - "taxsettings.2018-05-10": { + "amp.2020-08-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amp.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2542,9 +2542,9 @@ } } }, - "ec2.2016-11-15": { + "bedrock-data-automation.2023-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-data-automation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2553,9 +2553,9 @@ } } }, - "service-quotas.2019-06-24": { + "batch.2016-08-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-quotas.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/batch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2564,9 +2564,9 @@ } } }, - "elasticsearch-service.2015-01-01": { + "forecast.2018-06-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticsearch-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/forecast.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2575,9 +2575,9 @@ } } }, - "lookoutvision.2020-11-20": { + "controlcatalog.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutvision.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2586,9 +2586,9 @@ } } }, - "marketplace-catalog.2018-09-17": { + "opsworkscm.2016-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opsworkscm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2597,9 +2597,9 @@ } } }, - "marketplace-deployment.2023-01-25": { + "auditmanager.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-deployment.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2608,9 +2608,9 @@ } } }, - "pi.2018-02-27": { + "ivs-realtime.2020-07-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pi.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2619,9 +2619,9 @@ } } }, - "waf.2015-08-24": { + "codeguruprofiler.2019-07-18": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguruprofiler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2630,9 +2630,9 @@ } } }, - "mq.2017-11-27": { + "elastic-transcoder.2012-09-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-transcoder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2641,9 +2641,9 @@ } } }, - "amplifybackend.2020-08-11": { + "eks-auth.2023-11-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifybackend.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2652,9 +2652,9 @@ } } }, - "lex-models-v2.2020-08-07": { + "cloudformation.2010-05-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-models-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2663,9 +2663,9 @@ } } }, - "workspaces-thin-client.2023-08-22": { + "marketplace-reporting.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-thin-client.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2674,9 +2674,9 @@ } } }, - "scheduler.2021-06-30": { + "amplifyuibuilder.2021-08-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2685,9 +2685,9 @@ } } }, - "ssm-sap.2018-05-10": { + "cloudwatch-logs.2014-03-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-sap.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-logs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2696,9 +2696,9 @@ } } }, - "iotsitewise.2019-12-02": { + "finspace.2021-03-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsitewise.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2707,9 +2707,9 @@ } } }, - "cloudwatch-events.2015-10-07": { + "schemas.2019-12-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2718,9 +2718,9 @@ } } }, - "devops-guru.2020-12-01": { + "lookoutmetrics.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/devops-guru.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutmetrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2729,9 +2729,9 @@ } } }, - "kinesis-video-webrtc-storage.2018-05-10": { + "inspector-scan.2023-08-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-webrtc-storage.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector-scan.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2740,9 +2740,9 @@ } } }, - "gameliftstreams.2018-05-10": { + "bcm-pricing-calculator.2024-06-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gameliftstreams.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2751,9 +2751,9 @@ } } }, - "imagebuilder.2019-12-02": { + "s3-control.2018-08-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/imagebuilder.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2762,9 +2762,9 @@ } } }, - "kafkaconnect.2021-09-14": { + "ebs.2019-11-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ebs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2773,9 +2773,9 @@ } } }, - "route-53.2013-04-01": { + "cloudcontrol.2021-09-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2784,9 +2784,9 @@ } } }, - "auditmanager.2017-07-25": { + "cloudwatch-events.2015-10-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auditmanager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudwatch-events.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2795,9 +2795,9 @@ } } }, - "ec2-instance-connect.2018-04-02": { + "geo-routes.2020-11-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-routes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2806,9 +2806,9 @@ } } }, - "rbin.2021-06-15": { + "signer.2017-08-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rbin.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2817,9 +2817,9 @@ } } }, - "appflow.2020-08-23": { + "marketplace-catalog.2018-09-17": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appflow.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2828,9 +2828,9 @@ } } }, - "storage-gateway.2013-06-30": { + "pipes.2015-10-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/storage-gateway.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pipes.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2839,9 +2839,9 @@ } } }, - "groundstation.2019-05-23": { + "cognito-sync.2014-06-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/groundstation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-sync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2850,9 +2850,9 @@ } } }, - "qldb-session.2019-07-11": { + "controltower.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb-session.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controltower.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2861,9 +2861,9 @@ } } }, - "dsql.2018-05-10": { + "gamelift.2015-10-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dsql.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2872,9 +2872,9 @@ } } }, - "ivs.2020-07-14": { + "athena.2017-05-18": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2883,9 +2883,9 @@ } } }, - "rds-data.2018-08-01": { + "memorydb.2021-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rds-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2894,9 +2894,9 @@ } } }, - "codestar-notifications.2019-10-15": { + "aiops.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codestar-notifications.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/aiops.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2905,9 +2905,9 @@ } } }, - "comprehend.2017-11-27": { + "sagemaker-geospatial.2020-05-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-geospatial.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2916,9 +2916,9 @@ } } }, - "gamelift.2015-10-01": { + "taxsettings.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/gamelift.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/taxsettings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2927,9 +2927,9 @@ } } }, - "lookoutequipment.2020-12-15": { + "workspaces-web.2020-07-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2938,9 +2938,9 @@ } } }, - "signer.2017-08-25": { + "bcm-data-exports.2023-11-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/signer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2949,9 +2949,9 @@ } } }, - "neptunedata.2023-08-01": { + "connectcases.2022-10-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptunedata.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcases.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2960,9 +2960,9 @@ } } }, - "iotfleetwise.2021-06-17": { + "application-discovery-service.2015-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotfleetwise.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2971,9 +2971,9 @@ } } }, - "config-service.2014-11-12": { + "migrationhuborchestrator.2021-08-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/config-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhuborchestrator.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2982,9 +2982,9 @@ } } }, - "finspace-data.2020-07-13": { + "iot-managed-integrations.2025-03-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-managed-integrations.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -2993,9 +2993,9 @@ } } }, - "cloudformation.2010-05-15": { + "license-manager-user-subscriptions.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudformation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager-user-subscriptions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3004,9 +3004,9 @@ } } }, - "cloudcontrol.2021-09-30": { + "iot-data-plane.2015-05-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudcontrol.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3015,9 +3015,9 @@ } } }, - "application-auto-scaling.2016-02-06": { + "elastic-load-balancing-v2.2015-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3026,9 +3026,42 @@ } } }, - "iot-data-plane.2015-05-28": { + "connect.2017-08-08": { + "imports": [ + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect.json" + ], + "plugins": { + "cpp-codegen-smoke-tests-plugin": { + "serviceFilter": [], + "c2jMap": "{\"api-gateway\": \"apigateway\", \"application-auto-scaling\": \"application-autoscaling\", \"app-mesh\": \"appmesh\", \"auto-scaling\": \"autoscaling\", \"auto-scaling-plans\": \"autoscaling-plans\", \"cloudhsm-v2\": \"cloudhsmv2\", \"cloudsearch-domain\": \"cloudsearchdomain\", \"config-service\": \"config\", \"cost-and-usage-report-service\": \"cur\", \"data-pipeline\": \"datapipeline\", \"device-farm\": \"devicefarm\", \"direct-connect\": \"directconnect\", \"dynamodb-streams\": \"dynamodbstreams\", \"elastic-beanstalk\": \"elasticbeanstalk\", \"elastic-load-balancing\": \"elasticloadbalancing\", \"elastic-load-balancing-v2\": \"elasticloadbalancingv2\", \"elastic-transcoder\": \"elastictranscoder\", \"global-accelerator\": \"globalaccelerator\", \"iot-1click-devices-service\": \"iot1click-devices\", \"iot-1click-projects\": \"iot1click-projects\", \"iot-data-plane\": \"iot-data\", \"iot-events-data\": \"iotevents-data\", \"iot-events\": \"iotevents\", \"iot-jobs-data-plane\": \"iot-jobs-data\", \"iot-wireless\": \"iotwireless\", \"kinesis-analytics\": \"kinesisanalytics\", \"kinesis-analytics-v2\": \"kinesisanalyticsv2\", \"kinesis-video\": \"kinesisvideo\", \"lex-models-v2\": \"lexv2-models\", \"lex-runtime-service\": \"lex\", \"lex-runtime-v2\": \"lexv2-runtime\", \"machine-learning\": \"machinelearning\", \"marketplace-commerce-analytics\": \"marketplacecommerceanalytics\", \"marketplace-entitlement-service\": \"marketplace-entitlement\", \"marketplace-metering\": \"meteringmarketplace\", \"migration-hub\": \"AWSMigrationHub\", \"mturk\": \"mturk-requester\", \"pinpoint-sms-voice\": \"sms-voice\", \"resource-groups-tagging-api\": \"resourcegroupstaggingapi\", \"route-53-domains\": \"route53domains\", \"route-53\": \"route53\", \"s3-control\": \"s3control\", \"sagemaker-runtime\": \"sagemaker-runtime\", \"secrets-manager\": \"secretsmanager\", \"serverlessapplicationrepository\": \"serverlessrepo\", \"service-catalog-appregistry\": \"servicecatalog-appregistry\", \"service-catalog\": \"servicecatalog\", \"transfer\": \"awstransfer\", \"cloudwatch\": \"monitoring\", \"cloudwatch-events\": \"events\", \"storage-gateway\": \"storagegateway\", \"efs\": \"elasticfilesystem\", \"emr\": \"elasticmapreduce\", \"ses\": \"email\", \"cognito-identity-provider\": \"cognito-idp\", \"cost-explorer\": \"ce\", \"application-discovery-service\": \"discovery\", \"database-migration-service\": \"dms\", \"sfn\": \"states\", \"lex-model-building-service\": \"lex-models\", \"cloudwatch-logs\": \"logs\", \"directory-service\": \"ds\", \"elasticsearch-service \": \"es\", \"importexport\": \"importexport\", \"sdb\": \"sdb\", \"transcribe-streaming\": \"transcribestreaming\"}" + } + } + }, + "cloudfront.2020-05-31": { + "imports": [ + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudfront.json" + ], + "plugins": { + "cpp-codegen-smoke-tests-plugin": { + "serviceFilter": [], + "c2jMap": "{\"api-gateway\": \"apigateway\", \"application-auto-scaling\": \"application-autoscaling\", \"app-mesh\": \"appmesh\", \"auto-scaling\": \"autoscaling\", \"auto-scaling-plans\": \"autoscaling-plans\", \"cloudhsm-v2\": \"cloudhsmv2\", \"cloudsearch-domain\": \"cloudsearchdomain\", \"config-service\": \"config\", \"cost-and-usage-report-service\": \"cur\", \"data-pipeline\": \"datapipeline\", \"device-farm\": \"devicefarm\", \"direct-connect\": \"directconnect\", \"dynamodb-streams\": \"dynamodbstreams\", \"elastic-beanstalk\": \"elasticbeanstalk\", \"elastic-load-balancing\": \"elasticloadbalancing\", \"elastic-load-balancing-v2\": \"elasticloadbalancingv2\", \"elastic-transcoder\": \"elastictranscoder\", \"global-accelerator\": \"globalaccelerator\", \"iot-1click-devices-service\": \"iot1click-devices\", \"iot-1click-projects\": \"iot1click-projects\", \"iot-data-plane\": \"iot-data\", \"iot-events-data\": \"iotevents-data\", \"iot-events\": \"iotevents\", \"iot-jobs-data-plane\": \"iot-jobs-data\", \"iot-wireless\": \"iotwireless\", \"kinesis-analytics\": \"kinesisanalytics\", \"kinesis-analytics-v2\": \"kinesisanalyticsv2\", \"kinesis-video\": \"kinesisvideo\", \"lex-models-v2\": \"lexv2-models\", \"lex-runtime-service\": \"lex\", \"lex-runtime-v2\": \"lexv2-runtime\", \"machine-learning\": \"machinelearning\", \"marketplace-commerce-analytics\": \"marketplacecommerceanalytics\", \"marketplace-entitlement-service\": \"marketplace-entitlement\", \"marketplace-metering\": \"meteringmarketplace\", \"migration-hub\": \"AWSMigrationHub\", \"mturk\": \"mturk-requester\", \"pinpoint-sms-voice\": \"sms-voice\", \"resource-groups-tagging-api\": \"resourcegroupstaggingapi\", \"route-53-domains\": \"route53domains\", \"route-53\": \"route53\", \"s3-control\": \"s3control\", \"sagemaker-runtime\": \"sagemaker-runtime\", \"secrets-manager\": \"secretsmanager\", \"serverlessapplicationrepository\": \"serverlessrepo\", \"service-catalog-appregistry\": \"servicecatalog-appregistry\", \"service-catalog\": \"servicecatalog\", \"transfer\": \"awstransfer\", \"cloudwatch\": \"monitoring\", \"cloudwatch-events\": \"events\", \"storage-gateway\": \"storagegateway\", \"efs\": \"elasticfilesystem\", \"emr\": \"elasticmapreduce\", \"ses\": \"email\", \"cognito-identity-provider\": \"cognito-idp\", \"cost-explorer\": \"ce\", \"application-discovery-service\": \"discovery\", \"database-migration-service\": \"dms\", \"sfn\": \"states\", \"lex-model-building-service\": \"lex-models\", \"cloudwatch-logs\": \"logs\", \"directory-service\": \"ds\", \"elasticsearch-service \": \"es\", \"importexport\": \"importexport\", \"sdb\": \"sdb\", \"transcribe-streaming\": \"transcribestreaming\"}" + } + } + }, + "sfn.2016-11-23": { + "imports": [ + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sfn.json" + ], + "plugins": { + "cpp-codegen-smoke-tests-plugin": { + "serviceFilter": [], + "c2jMap": "{\"api-gateway\": \"apigateway\", \"application-auto-scaling\": \"application-autoscaling\", \"app-mesh\": \"appmesh\", \"auto-scaling\": \"autoscaling\", \"auto-scaling-plans\": \"autoscaling-plans\", \"cloudhsm-v2\": \"cloudhsmv2\", \"cloudsearch-domain\": \"cloudsearchdomain\", \"config-service\": \"config\", \"cost-and-usage-report-service\": \"cur\", \"data-pipeline\": \"datapipeline\", \"device-farm\": \"devicefarm\", \"direct-connect\": \"directconnect\", \"dynamodb-streams\": \"dynamodbstreams\", \"elastic-beanstalk\": \"elasticbeanstalk\", \"elastic-load-balancing\": \"elasticloadbalancing\", \"elastic-load-balancing-v2\": \"elasticloadbalancingv2\", \"elastic-transcoder\": \"elastictranscoder\", \"global-accelerator\": \"globalaccelerator\", \"iot-1click-devices-service\": \"iot1click-devices\", \"iot-1click-projects\": \"iot1click-projects\", \"iot-data-plane\": \"iot-data\", \"iot-events-data\": \"iotevents-data\", \"iot-events\": \"iotevents\", \"iot-jobs-data-plane\": \"iot-jobs-data\", \"iot-wireless\": \"iotwireless\", \"kinesis-analytics\": \"kinesisanalytics\", \"kinesis-analytics-v2\": \"kinesisanalyticsv2\", \"kinesis-video\": \"kinesisvideo\", \"lex-models-v2\": \"lexv2-models\", \"lex-runtime-service\": \"lex\", \"lex-runtime-v2\": \"lexv2-runtime\", \"machine-learning\": \"machinelearning\", \"marketplace-commerce-analytics\": \"marketplacecommerceanalytics\", \"marketplace-entitlement-service\": \"marketplace-entitlement\", \"marketplace-metering\": \"meteringmarketplace\", \"migration-hub\": \"AWSMigrationHub\", \"mturk\": \"mturk-requester\", \"pinpoint-sms-voice\": \"sms-voice\", \"resource-groups-tagging-api\": \"resourcegroupstaggingapi\", \"route-53-domains\": \"route53domains\", \"route-53\": \"route53\", \"s3-control\": \"s3control\", \"sagemaker-runtime\": \"sagemaker-runtime\", \"secrets-manager\": \"secretsmanager\", \"serverlessapplicationrepository\": \"serverlessrepo\", \"service-catalog-appregistry\": \"servicecatalog-appregistry\", \"service-catalog\": \"servicecatalog\", \"transfer\": \"awstransfer\", \"cloudwatch\": \"monitoring\", \"cloudwatch-events\": \"events\", \"storage-gateway\": \"storagegateway\", \"efs\": \"elasticfilesystem\", \"emr\": \"elasticmapreduce\", \"ses\": \"email\", \"cognito-identity-provider\": \"cognito-idp\", \"cost-explorer\": \"ce\", \"application-discovery-service\": \"discovery\", \"database-migration-service\": \"dms\", \"sfn\": \"states\", \"lex-model-building-service\": \"lex-models\", \"cloudwatch-logs\": \"logs\", \"directory-service\": \"ds\", \"elasticsearch-service \": \"es\", \"importexport\": \"importexport\", \"sdb\": \"sdb\", \"transcribe-streaming\": \"transcribestreaming\"}" + } + } + }, + "bedrock-agent.2023-06-05": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-data-plane.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock-agent.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3037,9 +3070,9 @@ } } }, - "connect-contact-lens.2020-08-21": { + "personalize-runtime.2018-05-22": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connect-contact-lens.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3048,9 +3081,9 @@ } } }, - "databrew.2017-07-25": { + "amplify.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3059,9 +3092,9 @@ } } }, - "ssm-incidents.2018-05-10": { + "proton.2020-07-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-incidents.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3070,9 +3103,9 @@ } } }, - "appsync.2017-07-25": { + "clouddirectory.2017-01-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appsync.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/clouddirectory.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3081,9 +3114,9 @@ } } }, - "appintegrations.2020-07-29": { + "internetmonitor.2021-06-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appintegrations.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3092,9 +3125,9 @@ } } }, - "xray.2016-04-12": { + "connectparticipant.2018-09-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/xray.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectparticipant.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3103,9 +3136,9 @@ } } }, - "opensearch.2021-01-01": { + "rekognition.2016-06-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3114,9 +3147,9 @@ } } }, - "cleanroomsml.2023-09-06": { + "personalize.2018-05-22": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanroomsml.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3125,9 +3158,9 @@ } } }, - "personalize-events.2018-03-22": { + "workmailmessageflow.2019-05-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-events.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3136,9 +3169,9 @@ } } }, - "notifications.2018-05-10": { + "notificationscontacts.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notificationscontacts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3147,9 +3180,9 @@ } } }, - "eventbridge.2015-10-07": { + "wafv2.2019-07-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eventbridge.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3158,9 +3191,9 @@ } } }, - "apprunner.2020-05-15": { + "pca-connector-ad.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apprunner.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-ad.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3169,9 +3202,9 @@ } } }, - "mediapackagev2.2022-12-25": { + "bedrock.2023-04-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bedrock.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3180,9 +3213,9 @@ } } }, - "marketplace-agreement.2020-03-01": { + "sms.2016-10-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3191,9 +3224,9 @@ } } }, - "redshift-serverless.2021-04-21": { + "transcribe.2017-10-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift-serverless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3202,9 +3235,9 @@ } } }, - "emr-serverless.2021-07-13": { + "servicediscovery.2017-03-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-serverless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3213,9 +3246,9 @@ } } }, - "b2bi.2022-06-23": { + "lookoutequipment.2020-12-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/b2bi.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lookoutequipment.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3224,9 +3257,9 @@ } } }, - "pcs.2023-02-10": { + "route53profiles.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53profiles.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3235,9 +3268,9 @@ } } }, - "route53resolver.2018-04-01": { + "glacier.2012-06-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53resolver.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3246,9 +3279,9 @@ } } }, - "trustedadvisor.2022-09-15": { + "billingconductor.2021-07-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3257,9 +3290,9 @@ } } }, - "chatbot.2017-10-11": { + "fis.2020-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chatbot.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3268,9 +3301,9 @@ } } }, - "chime-sdk-voice.2022-08-03": { + "macie2.2020-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/macie2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3279,9 +3312,9 @@ } } }, - "license-manager.2018-08-01": { + "ses.2010-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ses.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3290,9 +3323,9 @@ } } }, - "schemas.2019-12-02": { + "fms.2018-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/schemas.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fms.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3301,9 +3334,9 @@ } } }, - "robomaker.2018-06-29": { + "billing.2023-09-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/robomaker.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3312,9 +3345,9 @@ } } }, - "sqs.2012-11-05": { + "codeartifact.2018-09-22": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sqs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3323,9 +3356,9 @@ } } }, - "elastic-beanstalk.2010-12-01": { + "chime-sdk-meetings.2021-07-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-beanstalk.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-meetings.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3334,9 +3367,9 @@ } } }, - "sso-admin.2020-07-20": { + "ec2-instance-connect.2018-04-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-admin.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ec2-instance-connect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3345,9 +3378,9 @@ } } }, - "cognito-identity-provider.2016-04-18": { + "freetier.2023-09-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cognito-identity-provider.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3356,9 +3389,9 @@ } } }, - "s3outposts.2017-07-25": { + "ecs.2014-11-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3367,9 +3400,9 @@ } } }, - "codedeploy.2014-10-06": { + "acm.2015-12-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3378,9 +3411,9 @@ } } }, - "lakeformation.2017-03-31": { + "greengrassv2.2020-11-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/greengrassv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3389,9 +3422,9 @@ } } }, - "ivs-realtime.2020-07-14": { + "securitylake.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ivs-realtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3400,9 +3433,9 @@ } } }, - "health.2016-08-04": { + "inspector.2016-02-16": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3411,9 +3444,9 @@ } } }, - "auto-scaling-plans.2018-01-06": { + "cost-optimization-hub.2022-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/auto-scaling-plans.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cost-optimization-hub.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3422,9 +3455,9 @@ } } }, - "cloudhsm-v2.2017-04-28": { + "pca-connector-scep.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudhsm-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pca-connector-scep.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3433,9 +3466,9 @@ } } }, - "controlcatalog.2018-05-10": { + "finspace-data.2020-07-13": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/controlcatalog.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/finspace-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3444,9 +3477,9 @@ } } }, - "apigatewaymanagementapi.2018-11-29": { + "transcribe-streaming.2017-10-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/transcribe-streaming.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3455,9 +3488,9 @@ } } }, - "billingconductor.2021-07-30": { + "scheduler.2021-06-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billingconductor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/scheduler.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3466,9 +3499,9 @@ } } }, - "firehose.2015-08-04": { + "ecr.2015-09-21": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ecr.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3477,9 +3510,9 @@ } } }, - "sagemaker-edge.2020-09-23": { + "ssm-quicksetup.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-edge.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3488,9 +3521,9 @@ } } }, - "acm-pca.": { + "support.2013-04-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm-pca.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/support.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3499,9 +3532,9 @@ } } }, - "healthlake.2017-07-01": { + "workspaces.2015-04-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3510,9 +3543,9 @@ } } }, - "application-discovery-service.2015-11-01": { + "opensearch.2021-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-discovery-service.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/opensearch.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3521,9 +3554,9 @@ } } }, - "directory-service-data.2023-05-31": { + "pcs.2023-02-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/directory-service-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pcs.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3532,9 +3565,9 @@ } } }, - "rum.2018-05-10": { + "neptune-graph.2023-11-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/neptune-graph.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3543,9 +3576,9 @@ } } }, - "artifact.2018-05-10": { + "appconfigdata.2021-11-11": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/artifact.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfigdata.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3554,9 +3587,9 @@ } } }, - "servicediscovery.2017-03-14": { + "cloudtrail.2013-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/servicediscovery.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudtrail.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3565,9 +3598,9 @@ } } }, - "amplifyuibuilder.2021-08-11": { + "lex-runtime-v2.2020-08-07": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplifyuibuilder.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3576,9 +3609,9 @@ } } }, - "datazone.2018-05-10": { + "iotsecuretunneling.2018-10-05": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datazone.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3587,9 +3620,9 @@ } } }, - "migrationhubstrategy.2020-02-19": { + "supplychain.2024-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migrationhubstrategy.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/supplychain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3598,9 +3631,9 @@ } } }, - "dax.2017-04-19": { + "deadline.2023-10-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dax.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/deadline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3609,9 +3642,9 @@ } } }, - "waf-regional.2016-11-28": { + "marketplace-agreement.2020-03-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf-regional.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-agreement.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3620,9 +3653,9 @@ } } }, - "qapps.2023-11-27": { + "codeguru-reviewer.2019-09-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeguru-reviewer.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3631,9 +3664,9 @@ } } }, - "kinesis-video.2017-09-30": { + "appconfig.2019-10-09": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appconfig.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3642,9 +3675,9 @@ } } }, - "ssm-quicksetup.2018-05-10": { + "firehose.2015-08-04": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm-quicksetup.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/firehose.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3653,9 +3686,9 @@ } } }, - "resource-groups-tagging-api.2017-01-26": { + "machine-learning.2014-12-12": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/machine-learning.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3664,9 +3697,9 @@ } } }, - "applicationcostprofiler.2020-09-10": { + "device-farm.2015-06-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/applicationcostprofiler.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/device-farm.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3675,9 +3708,9 @@ } } }, - "qldb.2019-01-02": { + "iot-1click-projects.2018-05-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-1click-projects.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3686,9 +3719,9 @@ } } }, - "rekognition.2016-06-27": { + "payment-cryptography.2021-09-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rekognition.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3697,9 +3730,9 @@ } } }, - "backup-gateway.2021-01-01": { + "codedeploy.2014-10-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/backup-gateway.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codedeploy.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3708,9 +3741,9 @@ } } }, - "sagemaker-featurestore-runtime.2020-07-01": { + "kafkaconnect.2021-09-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-featurestore-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafkaconnect.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3719,9 +3752,9 @@ } } }, - "iot-events.2018-07-27": { + "networkflowmonitor.2023-04-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/networkflowmonitor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3730,9 +3763,9 @@ } } }, - "account.2021-02-01": { + "databrew.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/databrew.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3741,9 +3774,9 @@ } } }, - "internetmonitor.2021-06-03": { + "kinesis.2013-12-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/internetmonitor.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3752,9 +3785,9 @@ } } }, - "compute-optimizer.2019-11-01": { + "route53-recovery-readiness.2019-12-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/compute-optimizer.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-readiness.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3763,9 +3796,9 @@ } } }, - "serverlessapplicationrepository.2017-09-08": { + "notifications.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/serverlessapplicationrepository.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/notifications.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3774,9 +3807,9 @@ } } }, - "timestream-query.2018-11-01": { + "route-53.2013-04-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-query.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route-53.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3785,9 +3818,9 @@ } } }, - "payment-cryptography-data.2022-02-03": { + "savingsplans.2019-06-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/payment-cryptography-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/savingsplans.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3796,9 +3829,9 @@ } } }, - "cleanrooms.2022-02-17": { + "health.2016-08-04": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cleanrooms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/health.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3807,9 +3840,9 @@ } } }, - "emr-containers.2020-10-01": { + "comprehend.2017-11-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/emr-containers.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/comprehend.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3818,9 +3851,9 @@ } } }, - "swf.2012-01-25": { + "api-gateway.2015-07-09": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/swf.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/api-gateway.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3829,9 +3862,9 @@ } } }, - "workmailmessageflow.2019-05-01": { + "fsx.2018-03-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workmailmessageflow.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3840,9 +3873,9 @@ } } }, - "managedblockchain-query.2023-05-04": { + "braket.2019-09-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/managedblockchain-query.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/braket.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3851,9 +3884,9 @@ } } }, - "pinpoint-sms-voice.2018-09-05": { + "appstream.2016-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appstream.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3862,9 +3895,9 @@ } } }, - "sagemaker-runtime.2017-05-13": { + "inspector2.2020-06-08": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3873,9 +3906,9 @@ } } }, - "ssm.2014-11-06": { + "qapps.2023-11-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/ssm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qapps.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3884,9 +3917,9 @@ } } }, - "marketplace-reporting.2018-05-10": { + "apigatewaymanagementapi.2018-11-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/marketplace-reporting.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewaymanagementapi.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3895,9 +3928,9 @@ } } }, - "pricing.2017-10-15": { + "chime-sdk-voice.2022-08-03": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pricing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/chime-sdk-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3906,9 +3939,9 @@ } } }, - "iot-wireless.2020-11-22": { + "partnercentral-selling.2022-07-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-wireless.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/partnercentral-selling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3917,9 +3950,9 @@ } } }, - "personalize.2018-05-22": { + "application-signals.2024-04-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-signals.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3928,9 +3961,9 @@ } } }, - "proton.2020-07-20": { + "detective.2018-10-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/proton.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/detective.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3939,9 +3972,9 @@ } } }, - "inspector.2016-02-16": { + "resource-explorer-2.2022-07-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/inspector.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-explorer-2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3950,9 +3983,9 @@ } } }, - "dynamodb.2012-08-10": { + "budgets.2016-10-20": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/dynamodb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/budgets.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3961,9 +3994,9 @@ } } }, - "application-insights.2018-11-25": { + "application-auto-scaling.2016-02-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-insights.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/application-auto-scaling.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3972,9 +4005,9 @@ } } }, - "iotsecuretunneling.2018-10-05": { + "eks.2017-11-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iotsecuretunneling.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3983,9 +4016,9 @@ } } }, - "mediastore.2017-09-01": { + "iot.2015-05-28": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -3994,9 +4027,9 @@ } } }, - "amplify.2017-07-25": { + "pinpoint-sms-voice.2018-09-05": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/amplify.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/pinpoint-sms-voice.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4005,9 +4038,9 @@ } } }, - "glue.2017-03-31": { + "snowball.2016-06-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glue.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4016,9 +4049,9 @@ } } }, - "sns.2010-03-31": { + "apigatewayv2.2018-11-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sns.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apigatewayv2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4027,9 +4060,9 @@ } } }, - "eks-auth.2023-11-26": { + "sso-oidc.2019-06-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/eks-auth.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso-oidc.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4038,9 +4071,9 @@ } } }, - "wafv2.2019-07-29": { + "docdb.2014-10-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wafv2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4049,9 +4082,9 @@ } } }, - "workspaces-web.2020-07-08": { + "license-manager.2018-08-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/workspaces-web.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/license-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4060,9 +4093,9 @@ } } }, - "glacier.2012-06-01": { + "route53-recovery-cluster.2019-12-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/glacier.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/route53-recovery-cluster.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4071,9 +4104,9 @@ } } }, - "personalize-runtime.2018-05-22": { + "apptest.2022-12-06": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/personalize-runtime.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/apptest.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4082,9 +4115,9 @@ } } }, - "kafka.2018-11-14": { + "mturk.2017-01-17": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kafka.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mturk.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4093,9 +4126,9 @@ } } }, - "appfabric.2023-05-19": { + "kendra-ranking.2022-10-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/appfabric.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra-ranking.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4104,9 +4137,9 @@ } } }, - "acm.2015-12-08": { + "kinesis-video-archived-media.2017-09-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/acm.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-archived-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4115,9 +4148,9 @@ } } }, - "sms.2016-10-24": { + "data-pipeline.2012-10-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sms.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4126,9 +4159,9 @@ } } }, - "frauddetector.2019-11-15": { + "iot-events-data.2018-10-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/frauddetector.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4137,9 +4170,9 @@ } } }, - "geo-places.2020-11-19": { + "oam.2022-06-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/geo-places.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4148,9 +4181,9 @@ } } }, - "keyspaces.2022-02-10": { + "waf.2015-08-24": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/keyspaces.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/waf.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4159,9 +4192,9 @@ } } }, - "fsx.2018-03-01": { + "healthlake.2017-07-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/fsx.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/healthlake.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4170,9 +4203,9 @@ } } }, - "memorydb.2021-01-01": { + "qldb.2019-01-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/memorydb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qldb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4181,9 +4214,9 @@ } } }, - "kendra.2019-02-03": { + "launch-wizard.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kendra.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/launch-wizard.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4192,9 +4225,9 @@ } } }, - "medical-imaging.2023-07-19": { + "lakeformation.2017-03-31": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/medical-imaging.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lakeformation.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4203,9 +4236,9 @@ } } }, - "athena.2017-05-18": { + "wisdom.2020-10-19": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/athena.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/wisdom.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4216,7 +4249,7 @@ }, "sso.2019-06-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sso.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4225,9 +4258,9 @@ } } }, - "lex-runtime-v2.2020-08-07": { + "account.2021-02-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/lex-runtime-v2.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/account.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4236,9 +4269,9 @@ } } }, - "connectcampaigns.2021-01-30": { + "s3outposts.2017-07-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/connectcampaigns.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3outposts.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4247,9 +4280,9 @@ } } }, - "s3.2006-03-01": { + "datasync.2018-11-09": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/datasync.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4258,9 +4291,9 @@ } } }, - "qbusiness.2023-11-27": { + "secrets-manager.2017-10-17": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/qbusiness.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/secrets-manager.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4269,9 +4302,9 @@ } } }, - "codeartifact.2018-09-22": { + "kinesis-analytics.2015-08-14": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/codeartifact.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-analytics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4282,7 +4315,7 @@ }, "verifiedpermissions.2021-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/verifiedpermissions.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4291,9 +4324,9 @@ } } }, - "billing.2023-09-07": { + "elasticache.2015-02-02": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/billing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elasticache.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4302,9 +4335,9 @@ } } }, - "migration-hub-refactor-spaces.2021-10-26": { + "iot-jobs-data-plane.2017-09-29": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/migration-hub-refactor-spaces.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-jobs-data-plane.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4313,9 +4346,9 @@ } } }, - "s3-control.2018-08-20": { + "sagemaker-metrics.2022-09-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/s3-control.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4324,9 +4357,9 @@ } } }, - "snowball.2016-06-30": { + "mediastore-data.2017-09-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/snowball.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediastore-data.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4335,9 +4368,9 @@ } } }, - "sagemaker-metrics.2022-09-30": { + "mq.2017-11-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/sagemaker-metrics.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mq.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4346,9 +4379,9 @@ } } }, - "freetier.2023-09-07": { + "resource-groups-tagging-api.2017-01-26": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/freetier.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/resource-groups-tagging-api.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4357,9 +4390,9 @@ } } }, - "docdb.2014-10-31": { + "mediapackagev2.2022-12-25": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/docdb.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackagev2.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4368,9 +4401,9 @@ } } }, - "oam.2022-06-10": { + "service-catalog.2015-12-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/oam.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/service-catalog.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4379,9 +4412,9 @@ } } }, - "mediapackage-vod.2018-11-07": { + "rum.2018-05-10": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/mediapackage-vod.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/rum.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4390,9 +4423,9 @@ } } }, - "evs.2023-07-27": { + "redshift.2012-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/evs.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/redshift.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4401,9 +4434,9 @@ } } }, - "iot-events-data.2018-10-23": { + "trustedadvisor.2022-09-15": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/iot-events-data.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/trustedadvisor.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4412,9 +4445,9 @@ } } }, - "elastic-load-balancing.2012-06-01": { + "timestream-influxdb.2023-01-27": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/elastic-load-balancing.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/timestream-influxdb.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4423,9 +4456,9 @@ } } }, - "securitylake.2018-05-10": { + "invoicing.2024-12-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/securitylake.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/invoicing.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4434,9 +4467,9 @@ } } }, - "data-pipeline.2012-10-29": { + "kinesis-video-media.2017-09-30": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/data-pipeline.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/kinesis-video-media.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4445,9 +4478,9 @@ } } }, - "bcm-pricing-calculator.2024-06-19": { + "cloud9.2017-09-23": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-pricing-calculator.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloud9.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { @@ -4456,9 +4489,9 @@ } } }, - "bcm-data-exports.2023-11-26": { + "cloudsearch-domain.2013-01-01": { "imports": [ - "/codebuild/output/src3881840531/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/bcm-data-exports.json" + "/codebuild/output/src2787212122/src/aws-sdk-cpp/tools/code-generation/smithy/api-descriptions/cloudsearch-domain.json" ], "plugins": { "cpp-codegen-smoke-tests-plugin": { diff --git a/tools/scripts/build-tests/run-al2-integ-tests.sh b/tools/scripts/build-tests/run-al2-integ-tests.sh index 153e87feb45..ac8ee3af18a 100755 --- a/tools/scripts/build-tests/run-al2-integ-tests.sh +++ b/tools/scripts/build-tests/run-al2-integ-tests.sh @@ -21,7 +21,7 @@ AWS_ROLE_SESSION_NAME="$3" echo "Setting the run environment" export TEST_ASSUME_ROLE_ARN=arn:aws:iam::${AWS_ACCOUNT}:role/IntegrationTest -export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tools/aws-cpp-sdk-lambda-integration-tests/resources +export TEST_LAMBDA_CODE_PATH=${PREFIX_DIR}/aws-sdk-cpp/tests/aws-cpp-sdk-lambda-integration-tests/resources export sts=$(aws sts assume-role --role-arn "$TEST_ASSUME_ROLE_ARN" --role-session-name "${AWS_ROLE_SESSION_NAME}" --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]') export profile=sdk-integ-test aws configure set aws_access_key_id $(echo "$sts" | jq -r '.[0]') --profile "$profile" diff --git a/tools/scripts/run_integration_tests.py b/tools/scripts/run_integration_tests.py index ae0c7b4a98c..0c7125e53f8 100644 --- a/tools/scripts/run_integration_tests.py +++ b/tools/scripts/run_integration_tests.py @@ -45,7 +45,7 @@ def main(): "aws-cpp-sdk-s3-unit-tests", "aws-cpp-sdk-s3-crt-integration-tests", #"aws-cpp-sdk-s3control-integration-tests", - # "aws-cpp-sdk-lambda-integration-tests", + "aws-cpp-sdk-lambda-integration-tests", "aws-cpp-sdk-cognitoidentity-integration-tests", #"aws-cpp-sdk-transfer-tests", #"aws-cpp-sdk-s3-encryption-integration-tests", @@ -55,7 +55,6 @@ def main(): "aws-cpp-sdk-elasticfilesystem-integration-tests", "aws-cpp-sdk-rds-integration-tests", "aws-cpp-sdk-ec2-integration-tests", - "aws-cpp-sdk-timestream-query-integration-tests", "aws-cpp-sdk-bedrock-runtime-integration-tests" ]