AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
InternalAccessAnalysisRuleCriteria.h
1
6#pragma once
7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/accessanalyzer/model/ResourceType.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace AccessAnalyzer
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_ACCESSANALYZER_API InternalAccessAnalysisRuleCriteria() = default;
40 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
49 inline const Aws::Vector<Aws::String>& GetAccountIds() const { return m_accountIds; }
50 inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; }
51 template<typename AccountIdsT = Aws::Vector<Aws::String>>
52 void SetAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet = true; m_accountIds = std::forward<AccountIdsT>(value); }
53 template<typename AccountIdsT = Aws::Vector<Aws::String>>
54 InternalAccessAnalysisRuleCriteria& WithAccountIds(AccountIdsT&& value) { SetAccountIds(std::forward<AccountIdsT>(value)); return *this;}
55 template<typename AccountIdsT = Aws::String>
56 InternalAccessAnalysisRuleCriteria& AddAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet = true; m_accountIds.emplace_back(std::forward<AccountIdsT>(value)); return *this; }
58
60
71 inline const Aws::Vector<ResourceType>& GetResourceTypes() const { return m_resourceTypes; }
72 inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; }
73 template<typename ResourceTypesT = Aws::Vector<ResourceType>>
74 void SetResourceTypes(ResourceTypesT&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::forward<ResourceTypesT>(value); }
75 template<typename ResourceTypesT = Aws::Vector<ResourceType>>
76 InternalAccessAnalysisRuleCriteria& WithResourceTypes(ResourceTypesT&& value) { SetResourceTypes(std::forward<ResourceTypesT>(value)); return *this;}
77 inline InternalAccessAnalysisRuleCriteria& AddResourceTypes(ResourceType value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; }
79
81
86 inline const Aws::Vector<Aws::String>& GetResourceArns() const { return m_resourceArns; }
87 inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; }
88 template<typename ResourceArnsT = Aws::Vector<Aws::String>>
89 void SetResourceArns(ResourceArnsT&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = std::forward<ResourceArnsT>(value); }
90 template<typename ResourceArnsT = Aws::Vector<Aws::String>>
91 InternalAccessAnalysisRuleCriteria& WithResourceArns(ResourceArnsT&& value) { SetResourceArns(std::forward<ResourceArnsT>(value)); return *this;}
92 template<typename ResourceArnsT = Aws::String>
93 InternalAccessAnalysisRuleCriteria& AddResourceArns(ResourceArnsT&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.emplace_back(std::forward<ResourceArnsT>(value)); return *this; }
95 private:
96
97 Aws::Vector<Aws::String> m_accountIds;
98 bool m_accountIdsHasBeenSet = false;
99
100 Aws::Vector<ResourceType> m_resourceTypes;
101 bool m_resourceTypesHasBeenSet = false;
102
103 Aws::Vector<Aws::String> m_resourceArns;
104 bool m_resourceArnsHasBeenSet = false;
105 };
106
107} // namespace Model
108} // namespace AccessAnalyzer
109} // namespace Aws
InternalAccessAnalysisRuleCriteria & AddResourceArns(ResourceArnsT &&value)
InternalAccessAnalysisRuleCriteria & AddAccountIds(AccountIdsT &&value)
AWS_ACCESSANALYZER_API InternalAccessAnalysisRuleCriteria & operator=(Aws::Utils::Json::JsonView jsonValue)
InternalAccessAnalysisRuleCriteria & WithResourceTypes(ResourceTypesT &&value)
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
InternalAccessAnalysisRuleCriteria & WithAccountIds(AccountIdsT &&value)
InternalAccessAnalysisRuleCriteria & AddResourceTypes(ResourceType value)
AWS_ACCESSANALYZER_API InternalAccessAnalysisRuleCriteria(Aws::Utils::Json::JsonView jsonValue)
InternalAccessAnalysisRuleCriteria & WithResourceArns(ResourceArnsT &&value)
AWS_ACCESSANALYZER_API InternalAccessAnalysisRuleCriteria()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue