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>
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>
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>
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>
94 template<
typename SecurityServicePolicyDataT = SecurityServicePolicyData>
95 void SetSecurityServicePolicyData(SecurityServicePolicyDataT&& value) { m_securityServicePolicyDataHasBeenSet =
true; m_securityServicePolicyData = std::forward<SecurityServicePolicyDataT>(value); }
96 template<
typename SecurityServicePolicyDataT = SecurityServicePolicyData>
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>
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>>
145 template<
typename ResourceTypeListT = Aws::String>
146 Policy&
AddResourceTypeList(ResourceTypeListT&& value) { m_resourceTypeListHasBeenSet =
true; m_resourceTypeList.emplace_back(std::forward<ResourceTypeListT>(value));
return *
this; }
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>>
159 template<
typename ResourceTagsT = ResourceTag>
160 Policy&
AddResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet =
true; m_resourceTags.emplace_back(std::forward<ResourceTagsT>(value));
return *
this; }
172 inline void SetExcludeResourceTags(
bool value) { m_excludeResourceTagsHasBeenSet =
true; m_excludeResourceTags = value; }
182 inline void SetRemediationEnabled(
bool value) { m_remediationEnabledHasBeenSet =
true; m_remediationEnabled = value; }
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>>>
232 m_includeMapHasBeenSet =
true; m_includeMap.emplace(key, value);
return *
this;
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>>>
265 m_excludeMapHasBeenSet =
true; m_excludeMap.emplace(key, value);
return *
this;
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>>
279 template<
typename ResourceSetIdsT = Aws::String>
280 Policy&
AddResourceSetIds(ResourceSetIdsT&& value) { m_resourceSetIdsHasBeenSet =
true; m_resourceSetIds.emplace_back(std::forward<ResourceSetIdsT>(value));
return *
this; }
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>
324 bool m_policyIdHasBeenSet =
false;
327 bool m_policyNameHasBeenSet =
false;
330 bool m_policyUpdateTokenHasBeenSet =
false;
333 bool m_securityServicePolicyDataHasBeenSet =
false;
336 bool m_resourceTypeHasBeenSet =
false;
339 bool m_resourceTypeListHasBeenSet =
false;
342 bool m_resourceTagsHasBeenSet =
false;
344 bool m_excludeResourceTags{
false};
345 bool m_excludeResourceTagsHasBeenSet =
false;
347 bool m_remediationEnabled{
false};
348 bool m_remediationEnabledHasBeenSet =
false;
350 bool m_deleteUnusedFMManagedResources{
false};
351 bool m_deleteUnusedFMManagedResourcesHasBeenSet =
false;
354 bool m_includeMapHasBeenSet =
false;
357 bool m_excludeMapHasBeenSet =
false;
360 bool m_resourceSetIdsHasBeenSet =
false;
363 bool m_policyDescriptionHasBeenSet =
false;
366 bool m_policyStatusHasBeenSet =
false;
369 bool m_resourceTagLogicalOperatorHasBeenSet =
false;
Policy & WithRemediationEnabled(bool value)
bool ExcludeMapHasBeenSet() const
bool GetDeleteUnusedFMManagedResources() const
bool ResourceTypeListHasBeenSet() const
void SetExcludeResourceTags(bool value)
const Aws::Vector< Aws::String > & GetResourceSetIds() const
const Aws::String & GetResourceType() const
AWS_FMS_API Policy & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ExcludeResourceTagsHasBeenSet() const
bool ResourceTagLogicalOperatorHasBeenSet() const
const Aws::String & GetPolicyDescription() const
Policy & WithDeleteUnusedFMManagedResources(bool value)
Policy & AddIncludeMap(CustomerPolicyScopeIdType key, Aws::Vector< Aws::String > value)
const Aws::Vector< Aws::String > & GetResourceTypeList() const
Policy & WithPolicyName(PolicyNameT &&value)
bool ResourceTypeHasBeenSet() const
const Aws::Map< CustomerPolicyScopeIdType, Aws::Vector< Aws::String > > & GetExcludeMap() const
const Aws::String & GetPolicyName() const
Policy & WithResourceTypeList(ResourceTypeListT &&value)
bool PolicyStatusHasBeenSet() const
Policy & WithResourceTagLogicalOperator(ResourceTagLogicalOperator value)
void SetPolicyStatus(CustomerPolicyStatus value)
void SetIncludeMap(IncludeMapT &&value)
void SetExcludeMap(ExcludeMapT &&value)
void SetPolicyUpdateToken(PolicyUpdateTokenT &&value)
const Aws::Vector< ResourceTag > & GetResourceTags() const
void SetResourceTags(ResourceTagsT &&value)
Policy & WithResourceType(ResourceTypeT &&value)
AWS_FMS_API Policy(Aws::Utils::Json::JsonView jsonValue)
Policy & WithPolicyId(PolicyIdT &&value)
void SetPolicyName(PolicyNameT &&value)
Policy & WithSecurityServicePolicyData(SecurityServicePolicyDataT &&value)
Policy & WithExcludeMap(ExcludeMapT &&value)
const Aws::String & GetPolicyId() const
const Aws::Map< CustomerPolicyScopeIdType, Aws::Vector< Aws::String > > & GetIncludeMap() const
void SetSecurityServicePolicyData(SecurityServicePolicyDataT &&value)
void SetResourceTagLogicalOperator(ResourceTagLogicalOperator value)
Policy & WithResourceSetIds(ResourceSetIdsT &&value)
const Aws::String & GetPolicyUpdateToken() const
bool SecurityServicePolicyDataHasBeenSet() const
bool DeleteUnusedFMManagedResourcesHasBeenSet() const
bool GetExcludeResourceTags() const
CustomerPolicyStatus GetPolicyStatus() const
void SetPolicyDescription(PolicyDescriptionT &&value)
void SetRemediationEnabled(bool value)
Policy & WithIncludeMap(IncludeMapT &&value)
Policy & WithExcludeResourceTags(bool value)
AWS_FMS_API Policy()=default
Policy & AddExcludeMap(CustomerPolicyScopeIdType key, Aws::Vector< Aws::String > value)
bool GetRemediationEnabled() const
const SecurityServicePolicyData & GetSecurityServicePolicyData() const
Policy & AddResourceSetIds(ResourceSetIdsT &&value)
bool ResourceTagsHasBeenSet() const
Policy & AddResourceTypeList(ResourceTypeListT &&value)
void SetDeleteUnusedFMManagedResources(bool value)
Policy & AddResourceTags(ResourceTagsT &&value)
Policy & WithPolicyDescription(PolicyDescriptionT &&value)
Policy & WithResourceTags(ResourceTagsT &&value)
void SetResourceTypeList(ResourceTypeListT &&value)
bool PolicyIdHasBeenSet() const
bool ResourceSetIdsHasBeenSet() const
bool PolicyUpdateTokenHasBeenSet() const
bool PolicyNameHasBeenSet() const
void SetPolicyId(PolicyIdT &&value)
bool PolicyDescriptionHasBeenSet() const
void SetResourceType(ResourceTypeT &&value)
AWS_FMS_API Aws::Utils::Json::JsonValue Jsonize() const
Policy & WithPolicyUpdateToken(PolicyUpdateTokenT &&value)
bool IncludeMapHasBeenSet() const
Policy & WithPolicyStatus(CustomerPolicyStatus value)
void SetResourceSetIds(ResourceSetIdsT &&value)
bool RemediationEnabledHasBeenSet() const
ResourceTagLogicalOperator GetResourceTagLogicalOperator() const
CustomerPolicyScopeIdType
ResourceTagLogicalOperator
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