AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Policy.h
1
6#pragma once
7#include <aws/fms/FMS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/fms/model/SecurityServicePolicyData.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/fms/model/CustomerPolicyStatus.h>
13#include <aws/fms/model/ResourceTagLogicalOperator.h>
14#include <aws/fms/model/ResourceTag.h>
15#include <aws/fms/model/CustomerPolicyScopeIdType.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace FMS
29{
30namespace Model
31{
32
38 class Policy
39 {
40 public:
41 AWS_FMS_API Policy() = default;
42 AWS_FMS_API Policy(Aws::Utils::Json::JsonView jsonValue);
45
46
48
51 inline const Aws::String& GetPolicyId() const { return m_policyId; }
52 inline bool PolicyIdHasBeenSet() const { return m_policyIdHasBeenSet; }
53 template<typename PolicyIdT = Aws::String>
54 void SetPolicyId(PolicyIdT&& value) { m_policyIdHasBeenSet = true; m_policyId = std::forward<PolicyIdT>(value); }
55 template<typename PolicyIdT = Aws::String>
56 Policy& WithPolicyId(PolicyIdT&& value) { SetPolicyId(std::forward<PolicyIdT>(value)); return *this;}
58
60
63 inline const Aws::String& GetPolicyName() const { return m_policyName; }
64 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; }
65 template<typename PolicyNameT = Aws::String>
66 void SetPolicyName(PolicyNameT&& value) { m_policyNameHasBeenSet = true; m_policyName = std::forward<PolicyNameT>(value); }
67 template<typename PolicyNameT = Aws::String>
68 Policy& WithPolicyName(PolicyNameT&& value) { SetPolicyName(std::forward<PolicyNameT>(value)); return *this;}
70
72
79 inline const Aws::String& GetPolicyUpdateToken() const { return m_policyUpdateToken; }
80 inline bool PolicyUpdateTokenHasBeenSet() const { return m_policyUpdateTokenHasBeenSet; }
81 template<typename PolicyUpdateTokenT = Aws::String>
82 void SetPolicyUpdateToken(PolicyUpdateTokenT&& value) { m_policyUpdateTokenHasBeenSet = true; m_policyUpdateToken = std::forward<PolicyUpdateTokenT>(value); }
83 template<typename PolicyUpdateTokenT = Aws::String>
84 Policy& WithPolicyUpdateToken(PolicyUpdateTokenT&& value) { SetPolicyUpdateToken(std::forward<PolicyUpdateTokenT>(value)); return *this;}
86
88
92 inline const SecurityServicePolicyData& GetSecurityServicePolicyData() const { return m_securityServicePolicyData; }
93 inline bool SecurityServicePolicyDataHasBeenSet() const { return m_securityServicePolicyDataHasBeenSet; }
94 template<typename SecurityServicePolicyDataT = SecurityServicePolicyData>
95 void SetSecurityServicePolicyData(SecurityServicePolicyDataT&& value) { m_securityServicePolicyDataHasBeenSet = true; m_securityServicePolicyData = std::forward<SecurityServicePolicyDataT>(value); }
96 template<typename SecurityServicePolicyDataT = SecurityServicePolicyData>
97 Policy& WithSecurityServicePolicyData(SecurityServicePolicyDataT&& value) { SetSecurityServicePolicyData(std::forward<SecurityServicePolicyDataT>(value)); return *this;}
99
101
125 inline const Aws::String& GetResourceType() const { return m_resourceType; }
126 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
127 template<typename ResourceTypeT = Aws::String>
128 void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward<ResourceTypeT>(value); }
129 template<typename ResourceTypeT = Aws::String>
130 Policy& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward<ResourceTypeT>(value)); return *this;}
132
134
139 inline const Aws::Vector<Aws::String>& GetResourceTypeList() const { return m_resourceTypeList; }
140 inline bool ResourceTypeListHasBeenSet() const { return m_resourceTypeListHasBeenSet; }
141 template<typename ResourceTypeListT = Aws::Vector<Aws::String>>
142 void SetResourceTypeList(ResourceTypeListT&& value) { m_resourceTypeListHasBeenSet = true; m_resourceTypeList = std::forward<ResourceTypeListT>(value); }
143 template<typename ResourceTypeListT = Aws::Vector<Aws::String>>
144 Policy& WithResourceTypeList(ResourceTypeListT&& value) { SetResourceTypeList(std::forward<ResourceTypeListT>(value)); return *this;}
145 template<typename ResourceTypeListT = Aws::String>
146 Policy& AddResourceTypeList(ResourceTypeListT&& value) { m_resourceTypeListHasBeenSet = true; m_resourceTypeList.emplace_back(std::forward<ResourceTypeListT>(value)); return *this; }
148
150
153 inline const Aws::Vector<ResourceTag>& GetResourceTags() const { return m_resourceTags; }
154 inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; }
155 template<typename ResourceTagsT = Aws::Vector<ResourceTag>>
156 void SetResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::forward<ResourceTagsT>(value); }
157 template<typename ResourceTagsT = Aws::Vector<ResourceTag>>
158 Policy& WithResourceTags(ResourceTagsT&& value) { SetResourceTags(std::forward<ResourceTagsT>(value)); return *this;}
159 template<typename ResourceTagsT = ResourceTag>
160 Policy& AddResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace_back(std::forward<ResourceTagsT>(value)); return *this; }
162
164
170 inline bool GetExcludeResourceTags() const { return m_excludeResourceTags; }
171 inline bool ExcludeResourceTagsHasBeenSet() const { return m_excludeResourceTagsHasBeenSet; }
172 inline void SetExcludeResourceTags(bool value) { m_excludeResourceTagsHasBeenSet = true; m_excludeResourceTags = value; }
173 inline Policy& WithExcludeResourceTags(bool value) { SetExcludeResourceTags(value); return *this;}
175
177
180 inline bool GetRemediationEnabled() const { return m_remediationEnabled; }
181 inline bool RemediationEnabledHasBeenSet() const { return m_remediationEnabledHasBeenSet; }
182 inline void SetRemediationEnabled(bool value) { m_remediationEnabledHasBeenSet = true; m_remediationEnabled = value; }
183 inline Policy& WithRemediationEnabled(bool value) { SetRemediationEnabled(value); return *this;}
185
187
197 inline bool GetDeleteUnusedFMManagedResources() const { return m_deleteUnusedFMManagedResources; }
198 inline bool DeleteUnusedFMManagedResourcesHasBeenSet() const { return m_deleteUnusedFMManagedResourcesHasBeenSet; }
199 inline void SetDeleteUnusedFMManagedResources(bool value) { m_deleteUnusedFMManagedResourcesHasBeenSet = true; m_deleteUnusedFMManagedResources = value; }
202
204
226 inline bool IncludeMapHasBeenSet() const { return m_includeMapHasBeenSet; }
227 template<typename IncludeMapT = Aws::Map<CustomerPolicyScopeIdType, Aws::Vector<Aws::String>>>
228 void SetIncludeMap(IncludeMapT&& value) { m_includeMapHasBeenSet = true; m_includeMap = std::forward<IncludeMapT>(value); }
229 template<typename IncludeMapT = Aws::Map<CustomerPolicyScopeIdType, Aws::Vector<Aws::String>>>
230 Policy& WithIncludeMap(IncludeMapT&& value) { SetIncludeMap(std::forward<IncludeMapT>(value)); return *this;}
232 m_includeMapHasBeenSet = true; m_includeMap.emplace(key, value); return *this;
233 }
235
237
259 inline bool ExcludeMapHasBeenSet() const { return m_excludeMapHasBeenSet; }
260 template<typename ExcludeMapT = Aws::Map<CustomerPolicyScopeIdType, Aws::Vector<Aws::String>>>
261 void SetExcludeMap(ExcludeMapT&& value) { m_excludeMapHasBeenSet = true; m_excludeMap = std::forward<ExcludeMapT>(value); }
262 template<typename ExcludeMapT = Aws::Map<CustomerPolicyScopeIdType, Aws::Vector<Aws::String>>>
263 Policy& WithExcludeMap(ExcludeMapT&& value) { SetExcludeMap(std::forward<ExcludeMapT>(value)); return *this;}
265 m_excludeMapHasBeenSet = true; m_excludeMap.emplace(key, value); return *this;
266 }
268
270
273 inline const Aws::Vector<Aws::String>& GetResourceSetIds() const { return m_resourceSetIds; }
274 inline bool ResourceSetIdsHasBeenSet() const { return m_resourceSetIdsHasBeenSet; }
275 template<typename ResourceSetIdsT = Aws::Vector<Aws::String>>
276 void SetResourceSetIds(ResourceSetIdsT&& value) { m_resourceSetIdsHasBeenSet = true; m_resourceSetIds = std::forward<ResourceSetIdsT>(value); }
277 template<typename ResourceSetIdsT = Aws::Vector<Aws::String>>
278 Policy& WithResourceSetIds(ResourceSetIdsT&& value) { SetResourceSetIds(std::forward<ResourceSetIdsT>(value)); return *this;}
279 template<typename ResourceSetIdsT = Aws::String>
280 Policy& AddResourceSetIds(ResourceSetIdsT&& value) { m_resourceSetIdsHasBeenSet = true; m_resourceSetIds.emplace_back(std::forward<ResourceSetIdsT>(value)); return *this; }
282
284
287 inline const Aws::String& GetPolicyDescription() const { return m_policyDescription; }
288 inline bool PolicyDescriptionHasBeenSet() const { return m_policyDescriptionHasBeenSet; }
289 template<typename PolicyDescriptionT = Aws::String>
290 void SetPolicyDescription(PolicyDescriptionT&& value) { m_policyDescriptionHasBeenSet = true; m_policyDescription = std::forward<PolicyDescriptionT>(value); }
291 template<typename PolicyDescriptionT = Aws::String>
292 Policy& WithPolicyDescription(PolicyDescriptionT&& value) { SetPolicyDescription(std::forward<PolicyDescriptionT>(value)); return *this;}
294
296
304 inline CustomerPolicyStatus GetPolicyStatus() const { return m_policyStatus; }
305 inline bool PolicyStatusHasBeenSet() const { return m_policyStatusHasBeenSet; }
306 inline void SetPolicyStatus(CustomerPolicyStatus value) { m_policyStatusHasBeenSet = true; m_policyStatus = value; }
307 inline Policy& WithPolicyStatus(CustomerPolicyStatus value) { SetPolicyStatus(value); return *this;}
309
311
316 inline ResourceTagLogicalOperator GetResourceTagLogicalOperator() const { return m_resourceTagLogicalOperator; }
317 inline bool ResourceTagLogicalOperatorHasBeenSet() const { return m_resourceTagLogicalOperatorHasBeenSet; }
318 inline void SetResourceTagLogicalOperator(ResourceTagLogicalOperator value) { m_resourceTagLogicalOperatorHasBeenSet = true; m_resourceTagLogicalOperator = value; }
321 private:
322
323 Aws::String m_policyId;
324 bool m_policyIdHasBeenSet = false;
325
326 Aws::String m_policyName;
327 bool m_policyNameHasBeenSet = false;
328
329 Aws::String m_policyUpdateToken;
330 bool m_policyUpdateTokenHasBeenSet = false;
331
332 SecurityServicePolicyData m_securityServicePolicyData;
333 bool m_securityServicePolicyDataHasBeenSet = false;
334
335 Aws::String m_resourceType;
336 bool m_resourceTypeHasBeenSet = false;
337
338 Aws::Vector<Aws::String> m_resourceTypeList;
339 bool m_resourceTypeListHasBeenSet = false;
340
341 Aws::Vector<ResourceTag> m_resourceTags;
342 bool m_resourceTagsHasBeenSet = false;
343
344 bool m_excludeResourceTags{false};
345 bool m_excludeResourceTagsHasBeenSet = false;
346
347 bool m_remediationEnabled{false};
348 bool m_remediationEnabledHasBeenSet = false;
349
350 bool m_deleteUnusedFMManagedResources{false};
351 bool m_deleteUnusedFMManagedResourcesHasBeenSet = false;
352
354 bool m_includeMapHasBeenSet = false;
355
357 bool m_excludeMapHasBeenSet = false;
358
359 Aws::Vector<Aws::String> m_resourceSetIds;
360 bool m_resourceSetIdsHasBeenSet = false;
361
362 Aws::String m_policyDescription;
363 bool m_policyDescriptionHasBeenSet = false;
364
366 bool m_policyStatusHasBeenSet = false;
367
369 bool m_resourceTagLogicalOperatorHasBeenSet = false;
370 };
371
372} // namespace Model
373} // namespace FMS
374} // namespace Aws
Policy & WithRemediationEnabled(bool value)
Definition Policy.h:183
bool ExcludeMapHasBeenSet() const
Definition Policy.h:259
bool GetDeleteUnusedFMManagedResources() const
Definition Policy.h:197
bool ResourceTypeListHasBeenSet() const
Definition Policy.h:140
void SetExcludeResourceTags(bool value)
Definition Policy.h:172
const Aws::Vector< Aws::String > & GetResourceSetIds() const
Definition Policy.h:273
const Aws::String & GetResourceType() const
Definition Policy.h:125
AWS_FMS_API Policy & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ExcludeResourceTagsHasBeenSet() const
Definition Policy.h:171
bool ResourceTagLogicalOperatorHasBeenSet() const
Definition Policy.h:317
const Aws::String & GetPolicyDescription() const
Definition Policy.h:287
Policy & WithDeleteUnusedFMManagedResources(bool value)
Definition Policy.h:200
Policy & AddIncludeMap(CustomerPolicyScopeIdType key, Aws::Vector< Aws::String > value)
Definition Policy.h:231
const Aws::Vector< Aws::String > & GetResourceTypeList() const
Definition Policy.h:139
Policy & WithPolicyName(PolicyNameT &&value)
Definition Policy.h:68
bool ResourceTypeHasBeenSet() const
Definition Policy.h:126
const Aws::Map< CustomerPolicyScopeIdType, Aws::Vector< Aws::String > > & GetExcludeMap() const
Definition Policy.h:258
const Aws::String & GetPolicyName() const
Definition Policy.h:63
Policy & WithResourceTypeList(ResourceTypeListT &&value)
Definition Policy.h:144
bool PolicyStatusHasBeenSet() const
Definition Policy.h:305
Policy & WithResourceTagLogicalOperator(ResourceTagLogicalOperator value)
Definition Policy.h:319
void SetPolicyStatus(CustomerPolicyStatus value)
Definition Policy.h:306
void SetIncludeMap(IncludeMapT &&value)
Definition Policy.h:228
void SetExcludeMap(ExcludeMapT &&value)
Definition Policy.h:261
void SetPolicyUpdateToken(PolicyUpdateTokenT &&value)
Definition Policy.h:82
const Aws::Vector< ResourceTag > & GetResourceTags() const
Definition Policy.h:153
void SetResourceTags(ResourceTagsT &&value)
Definition Policy.h:156
Policy & WithResourceType(ResourceTypeT &&value)
Definition Policy.h:130
AWS_FMS_API Policy(Aws::Utils::Json::JsonView jsonValue)
Policy & WithPolicyId(PolicyIdT &&value)
Definition Policy.h:56
void SetPolicyName(PolicyNameT &&value)
Definition Policy.h:66
Policy & WithSecurityServicePolicyData(SecurityServicePolicyDataT &&value)
Definition Policy.h:97
Policy & WithExcludeMap(ExcludeMapT &&value)
Definition Policy.h:263
const Aws::String & GetPolicyId() const
Definition Policy.h:51
const Aws::Map< CustomerPolicyScopeIdType, Aws::Vector< Aws::String > > & GetIncludeMap() const
Definition Policy.h:225
void SetSecurityServicePolicyData(SecurityServicePolicyDataT &&value)
Definition Policy.h:95
void SetResourceTagLogicalOperator(ResourceTagLogicalOperator value)
Definition Policy.h:318
Policy & WithResourceSetIds(ResourceSetIdsT &&value)
Definition Policy.h:278
const Aws::String & GetPolicyUpdateToken() const
Definition Policy.h:79
bool SecurityServicePolicyDataHasBeenSet() const
Definition Policy.h:93
bool DeleteUnusedFMManagedResourcesHasBeenSet() const
Definition Policy.h:198
bool GetExcludeResourceTags() const
Definition Policy.h:170
CustomerPolicyStatus GetPolicyStatus() const
Definition Policy.h:304
void SetPolicyDescription(PolicyDescriptionT &&value)
Definition Policy.h:290
void SetRemediationEnabled(bool value)
Definition Policy.h:182
Policy & WithIncludeMap(IncludeMapT &&value)
Definition Policy.h:230
Policy & WithExcludeResourceTags(bool value)
Definition Policy.h:173
AWS_FMS_API Policy()=default
Policy & AddExcludeMap(CustomerPolicyScopeIdType key, Aws::Vector< Aws::String > value)
Definition Policy.h:264
bool GetRemediationEnabled() const
Definition Policy.h:180
const SecurityServicePolicyData & GetSecurityServicePolicyData() const
Definition Policy.h:92
Policy & AddResourceSetIds(ResourceSetIdsT &&value)
Definition Policy.h:280
bool ResourceTagsHasBeenSet() const
Definition Policy.h:154
Policy & AddResourceTypeList(ResourceTypeListT &&value)
Definition Policy.h:146
void SetDeleteUnusedFMManagedResources(bool value)
Definition Policy.h:199
Policy & AddResourceTags(ResourceTagsT &&value)
Definition Policy.h:160
Policy & WithPolicyDescription(PolicyDescriptionT &&value)
Definition Policy.h:292
Policy & WithResourceTags(ResourceTagsT &&value)
Definition Policy.h:158
void SetResourceTypeList(ResourceTypeListT &&value)
Definition Policy.h:142
bool PolicyIdHasBeenSet() const
Definition Policy.h:52
bool ResourceSetIdsHasBeenSet() const
Definition Policy.h:274
bool PolicyUpdateTokenHasBeenSet() const
Definition Policy.h:80
bool PolicyNameHasBeenSet() const
Definition Policy.h:64
void SetPolicyId(PolicyIdT &&value)
Definition Policy.h:54
bool PolicyDescriptionHasBeenSet() const
Definition Policy.h:288
void SetResourceType(ResourceTypeT &&value)
Definition Policy.h:128
AWS_FMS_API Aws::Utils::Json::JsonValue Jsonize() const
Policy & WithPolicyUpdateToken(PolicyUpdateTokenT &&value)
Definition Policy.h:84
bool IncludeMapHasBeenSet() const
Definition Policy.h:226
Policy & WithPolicyStatus(CustomerPolicyStatus value)
Definition Policy.h:307
void SetResourceSetIds(ResourceSetIdsT &&value)
Definition Policy.h:276
bool RemediationEnabledHasBeenSet() const
Definition Policy.h:181
ResourceTagLogicalOperator GetResourceTagLogicalOperator() const
Definition Policy.h:316
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue