Skip to content

Commit abd305e

Browse files
This release introduces the getFindingsStatistics API, enabling users to retrieve aggregated finding statistics for IAM Access Analyzer's external access and unused access analysis features. Updated service API and documentation.
This is a documentation only release to support migrating Amazon ECS service ARNs to the long ARN format. Private Certificate Authority (PCA) documentation updates This release adds support for generating cache reports on S3 File Gateways for files that fail to upload. Adds additional values to the InferenceAmiVersion parameter in the ProductionVariant data type. Adds auto-pagination for the following operations: ListActions, ListExperimentTemplates, ListTargetAccountConfigurations, ListExperiments, ListExperimentResolvedTargets, ListTargetResourceTypes. Reduces length constraints of prefixes for logConfiguration and experimentReportConfiguration.
1 parent 17170ff commit abd305e

File tree

73 files changed

+5372
-888
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+5372
-888
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.11.505
1+
1.11.506

generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,32 @@ namespace AccessAnalyzer
600600
return SubmitAsync(&AccessAnalyzerClient::GetFindingV2, request, handler, context);
601601
}
602602

603+
/**
604+
* <p>Retrieves a list of aggregated finding statistics for an external access or
605+
* unused access analyzer.</p><p><h3>See Also:</h3> <a
606+
* href="http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingsStatistics">AWS
607+
* API Reference</a></p>
608+
*/
609+
virtual Model::GetFindingsStatisticsOutcome GetFindingsStatistics(const Model::GetFindingsStatisticsRequest& request) const;
610+
611+
/**
612+
* A Callable wrapper for GetFindingsStatistics that returns a future to the operation so that it can be executed in parallel to other requests.
613+
*/
614+
template<typename GetFindingsStatisticsRequestT = Model::GetFindingsStatisticsRequest>
615+
Model::GetFindingsStatisticsOutcomeCallable GetFindingsStatisticsCallable(const GetFindingsStatisticsRequestT& request) const
616+
{
617+
return SubmitCallable(&AccessAnalyzerClient::GetFindingsStatistics, request);
618+
}
619+
620+
/**
621+
* An Async wrapper for GetFindingsStatistics that queues the request into a thread executor and triggers associated callback when operation has finished.
622+
*/
623+
template<typename GetFindingsStatisticsRequestT = Model::GetFindingsStatisticsRequest>
624+
void GetFindingsStatisticsAsync(const GetFindingsStatisticsRequestT& request, const GetFindingsStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
625+
{
626+
return SubmitAsync(&AccessAnalyzerClient::GetFindingsStatistics, request, handler, context);
627+
}
628+
603629
/**
604630
* <p>Retrieves the policy that was generated using
605631
* <code>StartPolicyGeneration</code>. </p><p><h3>See Also:</h3> <a

generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include <aws/accessanalyzer/model/GetFindingResult.h>
3232
#include <aws/accessanalyzer/model/GetFindingRecommendationResult.h>
3333
#include <aws/accessanalyzer/model/GetFindingV2Result.h>
34+
#include <aws/accessanalyzer/model/GetFindingsStatisticsResult.h>
3435
#include <aws/accessanalyzer/model/GetGeneratedPolicyResult.h>
3536
#include <aws/accessanalyzer/model/ListAccessPreviewFindingsResult.h>
3637
#include <aws/accessanalyzer/model/ListAccessPreviewsResult.h>
@@ -107,6 +108,7 @@ namespace Aws
107108
class GetFindingRequest;
108109
class GetFindingRecommendationRequest;
109110
class GetFindingV2Request;
111+
class GetFindingsStatisticsRequest;
110112
class GetGeneratedPolicyRequest;
111113
class ListAccessPreviewFindingsRequest;
112114
class ListAccessPreviewsRequest;
@@ -146,6 +148,7 @@ namespace Aws
146148
typedef Aws::Utils::Outcome<GetFindingResult, AccessAnalyzerError> GetFindingOutcome;
147149
typedef Aws::Utils::Outcome<GetFindingRecommendationResult, AccessAnalyzerError> GetFindingRecommendationOutcome;
148150
typedef Aws::Utils::Outcome<GetFindingV2Result, AccessAnalyzerError> GetFindingV2Outcome;
151+
typedef Aws::Utils::Outcome<GetFindingsStatisticsResult, AccessAnalyzerError> GetFindingsStatisticsOutcome;
149152
typedef Aws::Utils::Outcome<GetGeneratedPolicyResult, AccessAnalyzerError> GetGeneratedPolicyOutcome;
150153
typedef Aws::Utils::Outcome<ListAccessPreviewFindingsResult, AccessAnalyzerError> ListAccessPreviewFindingsOutcome;
151154
typedef Aws::Utils::Outcome<ListAccessPreviewsResult, AccessAnalyzerError> ListAccessPreviewsOutcome;
@@ -185,6 +188,7 @@ namespace Aws
185188
typedef std::future<GetFindingOutcome> GetFindingOutcomeCallable;
186189
typedef std::future<GetFindingRecommendationOutcome> GetFindingRecommendationOutcomeCallable;
187190
typedef std::future<GetFindingV2Outcome> GetFindingV2OutcomeCallable;
191+
typedef std::future<GetFindingsStatisticsOutcome> GetFindingsStatisticsOutcomeCallable;
188192
typedef std::future<GetGeneratedPolicyOutcome> GetGeneratedPolicyOutcomeCallable;
189193
typedef std::future<ListAccessPreviewFindingsOutcome> ListAccessPreviewFindingsOutcomeCallable;
190194
typedef std::future<ListAccessPreviewsOutcome> ListAccessPreviewsOutcomeCallable;
@@ -227,6 +231,7 @@ namespace Aws
227231
typedef std::function<void(const AccessAnalyzerClient*, const Model::GetFindingRequest&, const Model::GetFindingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetFindingResponseReceivedHandler;
228232
typedef std::function<void(const AccessAnalyzerClient*, const Model::GetFindingRecommendationRequest&, const Model::GetFindingRecommendationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetFindingRecommendationResponseReceivedHandler;
229233
typedef std::function<void(const AccessAnalyzerClient*, const Model::GetFindingV2Request&, const Model::GetFindingV2Outcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetFindingV2ResponseReceivedHandler;
234+
typedef std::function<void(const AccessAnalyzerClient*, const Model::GetFindingsStatisticsRequest&, const Model::GetFindingsStatisticsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetFindingsStatisticsResponseReceivedHandler;
230235
typedef std::function<void(const AccessAnalyzerClient*, const Model::GetGeneratedPolicyRequest&, const Model::GetGeneratedPolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetGeneratedPolicyResponseReceivedHandler;
231236
typedef std::function<void(const AccessAnalyzerClient*, const Model::ListAccessPreviewFindingsRequest&, const Model::ListAccessPreviewFindingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListAccessPreviewFindingsResponseReceivedHandler;
232237
typedef std::function<void(const AccessAnalyzerClient*, const Model::ListAccessPreviewsRequest&, const Model::ListAccessPreviewsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListAccessPreviewsResponseReceivedHandler;
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSMap.h>
9+
#include <aws/accessanalyzer/model/ResourceType.h>
10+
#include <aws/accessanalyzer/model/ResourceTypeDetails.h>
11+
#include <utility>
12+
13+
namespace Aws
14+
{
15+
namespace Utils
16+
{
17+
namespace Json
18+
{
19+
class JsonValue;
20+
class JsonView;
21+
} // namespace Json
22+
} // namespace Utils
23+
namespace AccessAnalyzer
24+
{
25+
namespace Model
26+
{
27+
28+
/**
29+
* <p>Provides aggregate statistics about the findings for the specified external
30+
* access analyzer.</p><p><h3>See Also:</h3> <a
31+
* href="http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ExternalAccessFindingsStatistics">AWS
32+
* API Reference</a></p>
33+
*/
34+
class ExternalAccessFindingsStatistics
35+
{
36+
public:
37+
AWS_ACCESSANALYZER_API ExternalAccessFindingsStatistics();
38+
AWS_ACCESSANALYZER_API ExternalAccessFindingsStatistics(Aws::Utils::Json::JsonView jsonValue);
39+
AWS_ACCESSANALYZER_API ExternalAccessFindingsStatistics& operator=(Aws::Utils::Json::JsonView jsonValue);
40+
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
41+
42+
43+
///@{
44+
/**
45+
* <p>The total number of active cross-account and public findings for each
46+
* resource type of the specified external access analyzer.</p>
47+
*/
48+
inline const Aws::Map<ResourceType, ResourceTypeDetails>& GetResourceTypeStatistics() const{ return m_resourceTypeStatistics; }
49+
inline bool ResourceTypeStatisticsHasBeenSet() const { return m_resourceTypeStatisticsHasBeenSet; }
50+
inline void SetResourceTypeStatistics(const Aws::Map<ResourceType, ResourceTypeDetails>& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics = value; }
51+
inline void SetResourceTypeStatistics(Aws::Map<ResourceType, ResourceTypeDetails>&& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics = std::move(value); }
52+
inline ExternalAccessFindingsStatistics& WithResourceTypeStatistics(const Aws::Map<ResourceType, ResourceTypeDetails>& value) { SetResourceTypeStatistics(value); return *this;}
53+
inline ExternalAccessFindingsStatistics& WithResourceTypeStatistics(Aws::Map<ResourceType, ResourceTypeDetails>&& value) { SetResourceTypeStatistics(std::move(value)); return *this;}
54+
inline ExternalAccessFindingsStatistics& AddResourceTypeStatistics(const ResourceType& key, const ResourceTypeDetails& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics.emplace(key, value); return *this; }
55+
inline ExternalAccessFindingsStatistics& AddResourceTypeStatistics(ResourceType&& key, const ResourceTypeDetails& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics.emplace(std::move(key), value); return *this; }
56+
inline ExternalAccessFindingsStatistics& AddResourceTypeStatistics(const ResourceType& key, ResourceTypeDetails&& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics.emplace(key, std::move(value)); return *this; }
57+
inline ExternalAccessFindingsStatistics& AddResourceTypeStatistics(ResourceType&& key, ResourceTypeDetails&& value) { m_resourceTypeStatisticsHasBeenSet = true; m_resourceTypeStatistics.emplace(std::move(key), std::move(value)); return *this; }
58+
///@}
59+
60+
///@{
61+
/**
62+
* <p>The number of active findings for the specified external access analyzer.</p>
63+
*/
64+
inline int GetTotalActiveFindings() const{ return m_totalActiveFindings; }
65+
inline bool TotalActiveFindingsHasBeenSet() const { return m_totalActiveFindingsHasBeenSet; }
66+
inline void SetTotalActiveFindings(int value) { m_totalActiveFindingsHasBeenSet = true; m_totalActiveFindings = value; }
67+
inline ExternalAccessFindingsStatistics& WithTotalActiveFindings(int value) { SetTotalActiveFindings(value); return *this;}
68+
///@}
69+
70+
///@{
71+
/**
72+
* <p>The number of archived findings for the specified external access
73+
* analyzer.</p>
74+
*/
75+
inline int GetTotalArchivedFindings() const{ return m_totalArchivedFindings; }
76+
inline bool TotalArchivedFindingsHasBeenSet() const { return m_totalArchivedFindingsHasBeenSet; }
77+
inline void SetTotalArchivedFindings(int value) { m_totalArchivedFindingsHasBeenSet = true; m_totalArchivedFindings = value; }
78+
inline ExternalAccessFindingsStatistics& WithTotalArchivedFindings(int value) { SetTotalArchivedFindings(value); return *this;}
79+
///@}
80+
81+
///@{
82+
/**
83+
* <p>The number of resolved findings for the specified external access
84+
* analyzer.</p>
85+
*/
86+
inline int GetTotalResolvedFindings() const{ return m_totalResolvedFindings; }
87+
inline bool TotalResolvedFindingsHasBeenSet() const { return m_totalResolvedFindingsHasBeenSet; }
88+
inline void SetTotalResolvedFindings(int value) { m_totalResolvedFindingsHasBeenSet = true; m_totalResolvedFindings = value; }
89+
inline ExternalAccessFindingsStatistics& WithTotalResolvedFindings(int value) { SetTotalResolvedFindings(value); return *this;}
90+
///@}
91+
private:
92+
93+
Aws::Map<ResourceType, ResourceTypeDetails> m_resourceTypeStatistics;
94+
bool m_resourceTypeStatisticsHasBeenSet = false;
95+
96+
int m_totalActiveFindings;
97+
bool m_totalActiveFindingsHasBeenSet = false;
98+
99+
int m_totalArchivedFindings;
100+
bool m_totalArchivedFindingsHasBeenSet = false;
101+
102+
int m_totalResolvedFindings;
103+
bool m_totalResolvedFindingsHasBeenSet = false;
104+
};
105+
106+
} // namespace Model
107+
} // namespace AccessAnalyzer
108+
} // namespace Aws
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <aws/core/utils/memory/stl/AWSMap.h>
10+
#include <utility>
11+
12+
namespace Aws
13+
{
14+
namespace Utils
15+
{
16+
namespace Json
17+
{
18+
class JsonValue;
19+
class JsonView;
20+
} // namespace Json
21+
} // namespace Utils
22+
namespace AccessAnalyzer
23+
{
24+
namespace Model
25+
{
26+
27+
/**
28+
* <p>Contains information about the findings for an Amazon Web Services account in
29+
* an organization unused access analyzer.</p><p><h3>See Also:</h3> <a
30+
* href="http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/FindingAggregationAccountDetails">AWS
31+
* API Reference</a></p>
32+
*/
33+
class FindingAggregationAccountDetails
34+
{
35+
public:
36+
AWS_ACCESSANALYZER_API FindingAggregationAccountDetails();
37+
AWS_ACCESSANALYZER_API FindingAggregationAccountDetails(Aws::Utils::Json::JsonView jsonValue);
38+
AWS_ACCESSANALYZER_API FindingAggregationAccountDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
39+
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
40+
41+
42+
///@{
43+
/**
44+
* <p>The ID of the Amazon Web Services account for which unused access finding
45+
* details are provided.</p>
46+
*/
47+
inline const Aws::String& GetAccount() const{ return m_account; }
48+
inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; }
49+
inline void SetAccount(const Aws::String& value) { m_accountHasBeenSet = true; m_account = value; }
50+
inline void SetAccount(Aws::String&& value) { m_accountHasBeenSet = true; m_account = std::move(value); }
51+
inline void SetAccount(const char* value) { m_accountHasBeenSet = true; m_account.assign(value); }
52+
inline FindingAggregationAccountDetails& WithAccount(const Aws::String& value) { SetAccount(value); return *this;}
53+
inline FindingAggregationAccountDetails& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;}
54+
inline FindingAggregationAccountDetails& WithAccount(const char* value) { SetAccount(value); return *this;}
55+
///@}
56+
57+
///@{
58+
/**
59+
* <p>The number of active unused access findings for the specified Amazon Web
60+
* Services account.</p>
61+
*/
62+
inline int GetNumberOfActiveFindings() const{ return m_numberOfActiveFindings; }
63+
inline bool NumberOfActiveFindingsHasBeenSet() const { return m_numberOfActiveFindingsHasBeenSet; }
64+
inline void SetNumberOfActiveFindings(int value) { m_numberOfActiveFindingsHasBeenSet = true; m_numberOfActiveFindings = value; }
65+
inline FindingAggregationAccountDetails& WithNumberOfActiveFindings(int value) { SetNumberOfActiveFindings(value); return *this;}
66+
///@}
67+
68+
///@{
69+
/**
70+
* <p>Provides the number of active findings for each type of unused access for the
71+
* specified Amazon Web Services account.</p>
72+
*/
73+
inline const Aws::Map<Aws::String, int>& GetDetails() const{ return m_details; }
74+
inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
75+
inline void SetDetails(const Aws::Map<Aws::String, int>& value) { m_detailsHasBeenSet = true; m_details = value; }
76+
inline void SetDetails(Aws::Map<Aws::String, int>&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); }
77+
inline FindingAggregationAccountDetails& WithDetails(const Aws::Map<Aws::String, int>& value) { SetDetails(value); return *this;}
78+
inline FindingAggregationAccountDetails& WithDetails(Aws::Map<Aws::String, int>&& value) { SetDetails(std::move(value)); return *this;}
79+
inline FindingAggregationAccountDetails& AddDetails(const Aws::String& key, int value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; }
80+
inline FindingAggregationAccountDetails& AddDetails(Aws::String&& key, int value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), value); return *this; }
81+
inline FindingAggregationAccountDetails& AddDetails(const char* key, int value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; }
82+
///@}
83+
private:
84+
85+
Aws::String m_account;
86+
bool m_accountHasBeenSet = false;
87+
88+
int m_numberOfActiveFindings;
89+
bool m_numberOfActiveFindingsHasBeenSet = false;
90+
91+
Aws::Map<Aws::String, int> m_details;
92+
bool m_detailsHasBeenSet = false;
93+
};
94+
95+
} // namespace Model
96+
} // namespace AccessAnalyzer
97+
} // namespace Aws
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8+
#include <aws/accessanalyzer/model/ExternalAccessFindingsStatistics.h>
9+
#include <aws/accessanalyzer/model/UnusedAccessFindingsStatistics.h>
10+
#include <utility>
11+
12+
namespace Aws
13+
{
14+
namespace Utils
15+
{
16+
namespace Json
17+
{
18+
class JsonValue;
19+
class JsonView;
20+
} // namespace Json
21+
} // namespace Utils
22+
namespace AccessAnalyzer
23+
{
24+
namespace Model
25+
{
26+
27+
/**
28+
* <p>Contains information about the aggregate statistics for an external or unused
29+
* access analyzer. Only one parameter can be used in a
30+
* <code>FindingsStatistics</code> object.</p><p><h3>See Also:</h3> <a
31+
* href="http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/FindingsStatistics">AWS
32+
* API Reference</a></p>
33+
*/
34+
class FindingsStatistics
35+
{
36+
public:
37+
AWS_ACCESSANALYZER_API FindingsStatistics();
38+
AWS_ACCESSANALYZER_API FindingsStatistics(Aws::Utils::Json::JsonView jsonValue);
39+
AWS_ACCESSANALYZER_API FindingsStatistics& operator=(Aws::Utils::Json::JsonView jsonValue);
40+
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
41+
42+
43+
///@{
44+
/**
45+
* <p>The aggregate statistics for an external access analyzer.</p>
46+
*/
47+
inline const ExternalAccessFindingsStatistics& GetExternalAccessFindingsStatistics() const{ return m_externalAccessFindingsStatistics; }
48+
inline bool ExternalAccessFindingsStatisticsHasBeenSet() const { return m_externalAccessFindingsStatisticsHasBeenSet; }
49+
inline void SetExternalAccessFindingsStatistics(const ExternalAccessFindingsStatistics& value) { m_externalAccessFindingsStatisticsHasBeenSet = true; m_externalAccessFindingsStatistics = value; }
50+
inline void SetExternalAccessFindingsStatistics(ExternalAccessFindingsStatistics&& value) { m_externalAccessFindingsStatisticsHasBeenSet = true; m_externalAccessFindingsStatistics = std::move(value); }
51+
inline FindingsStatistics& WithExternalAccessFindingsStatistics(const ExternalAccessFindingsStatistics& value) { SetExternalAccessFindingsStatistics(value); return *this;}
52+
inline FindingsStatistics& WithExternalAccessFindingsStatistics(ExternalAccessFindingsStatistics&& value) { SetExternalAccessFindingsStatistics(std::move(value)); return *this;}
53+
///@}
54+
55+
///@{
56+
/**
57+
* <p>The aggregate statistics for an unused access analyzer.</p>
58+
*/
59+
inline const UnusedAccessFindingsStatistics& GetUnusedAccessFindingsStatistics() const{ return m_unusedAccessFindingsStatistics; }
60+
inline bool UnusedAccessFindingsStatisticsHasBeenSet() const { return m_unusedAccessFindingsStatisticsHasBeenSet; }
61+
inline void SetUnusedAccessFindingsStatistics(const UnusedAccessFindingsStatistics& value) { m_unusedAccessFindingsStatisticsHasBeenSet = true; m_unusedAccessFindingsStatistics = value; }
62+
inline void SetUnusedAccessFindingsStatistics(UnusedAccessFindingsStatistics&& value) { m_unusedAccessFindingsStatisticsHasBeenSet = true; m_unusedAccessFindingsStatistics = std::move(value); }
63+
inline FindingsStatistics& WithUnusedAccessFindingsStatistics(const UnusedAccessFindingsStatistics& value) { SetUnusedAccessFindingsStatistics(value); return *this;}
64+
inline FindingsStatistics& WithUnusedAccessFindingsStatistics(UnusedAccessFindingsStatistics&& value) { SetUnusedAccessFindingsStatistics(std::move(value)); return *this;}
65+
///@}
66+
private:
67+
68+
ExternalAccessFindingsStatistics m_externalAccessFindingsStatistics;
69+
bool m_externalAccessFindingsStatisticsHasBeenSet = false;
70+
71+
UnusedAccessFindingsStatistics m_unusedAccessFindingsStatistics;
72+
bool m_unusedAccessFindingsStatisticsHasBeenSet = false;
73+
};
74+
75+
} // namespace Model
76+
} // namespace AccessAnalyzer
77+
} // namespace Aws

0 commit comments

Comments
 (0)