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