7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/resiliencehubv2/Resiliencehubv2_EXPORTS.h>
11#include <aws/resiliencehubv2/model/AvailabilitySlo.h>
12#include <aws/resiliencehubv2/model/DataRecoveryTargets.h>
13#include <aws/resiliencehubv2/model/MultiAzTargets.h>
14#include <aws/resiliencehubv2/model/MultiRegionTargets.h>
25namespace resiliencehubv2 {
36 AWS_RESILIENCEHUBV2_API
Policy() =
default;
45 template <
typename PolicyArnT = Aws::String>
47 m_policyArnHasBeenSet =
true;
48 m_policyArn = std::forward<PolicyArnT>(value);
50 template <
typename PolicyArnT = Aws::String>
61 template <
typename NameT = Aws::String>
63 m_nameHasBeenSet =
true;
64 m_name = std::forward<NameT>(value);
66 template <
typename NameT = Aws::String>
68 SetName(std::forward<NameT>(value));
77 template <
typename DescriptionT = Aws::String>
79 m_descriptionHasBeenSet =
true;
80 m_description = std::forward<DescriptionT>(value);
82 template <
typename DescriptionT = Aws::String>
95 template <
typename AvailabilitySloT = AvailabilitySlo>
97 m_availabilitySloHasBeenSet =
true;
98 m_availabilitySlo = std::forward<AvailabilitySloT>(value);
100 template <
typename AvailabilitySloT = AvailabilitySlo>
113 template <
typename MultiAzT = MultiAzTargets>
115 m_multiAzHasBeenSet =
true;
116 m_multiAz = std::forward<MultiAzT>(value);
118 template <
typename MultiAzT = MultiAzTargets>
131 template <
typename MultiRegionT = MultiRegionTargets>
133 m_multiRegionHasBeenSet =
true;
134 m_multiRegion = std::forward<MultiRegionT>(value);
136 template <
typename MultiRegionT = MultiRegionTargets>
149 template <
typename DataRecoveryT = DataRecoveryTargets>
151 m_dataRecoveryHasBeenSet =
true;
152 m_dataRecovery = std::forward<DataRecoveryT>(value);
154 template <
typename DataRecoveryT = DataRecoveryTargets>
165 template <
typename KmsKeyIdT = Aws::String>
167 m_kmsKeyIdHasBeenSet =
true;
168 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
170 template <
typename KmsKeyIdT = Aws::String>
181 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
183 m_tagsHasBeenSet =
true;
184 m_tags = std::forward<TagsT>(value);
186 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
188 SetTags(std::forward<TagsT>(value));
191 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
193 m_tagsHasBeenSet =
true;
194 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
206 m_associatedServiceCountHasBeenSet =
true;
207 m_associatedServiceCount = value;
221 template <
typename CreatedAtT = Aws::Utils::DateTime>
223 m_createdAtHasBeenSet =
true;
224 m_createdAt = std::forward<CreatedAtT>(value);
226 template <
typename CreatedAtT = Aws::Utils::DateTime>
239 template <
typename UpdatedAtT = Aws::Utils::DateTime>
241 m_updatedAtHasBeenSet =
true;
242 m_updatedAt = std::forward<UpdatedAtT>(value);
244 template <
typename UpdatedAtT = Aws::Utils::DateTime>
269 int m_associatedServiceCount{0};
274 bool m_policyArnHasBeenSet =
false;
275 bool m_nameHasBeenSet =
false;
276 bool m_descriptionHasBeenSet =
false;
277 bool m_availabilitySloHasBeenSet =
false;
278 bool m_multiAzHasBeenSet =
false;
279 bool m_multiRegionHasBeenSet =
false;
280 bool m_dataRecoveryHasBeenSet =
false;
281 bool m_kmsKeyIdHasBeenSet =
false;
282 bool m_tagsHasBeenSet =
false;
283 bool m_associatedServiceCountHasBeenSet =
false;
284 bool m_createdAtHasBeenSet =
false;
285 bool m_updatedAtHasBeenSet =
false;
Policy & WithPolicyArn(PolicyArnT &&value)
void SetUpdatedAt(UpdatedAtT &&value)
const MultiRegionTargets & GetMultiRegion() const
bool AvailabilitySloHasBeenSet() const
bool NameHasBeenSet() const
const Aws::String & GetKmsKeyId() const
Policy & WithDescription(DescriptionT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
Policy & WithKmsKeyId(KmsKeyIdT &&value)
int GetAssociatedServiceCount() const
void SetAssociatedServiceCount(int value)
const Aws::String & GetPolicyArn() const
bool AssociatedServiceCountHasBeenSet() const
void SetKmsKeyId(KmsKeyIdT &&value)
void SetMultiAz(MultiAzT &&value)
Policy & WithCreatedAt(CreatedAtT &&value)
const DataRecoveryTargets & GetDataRecovery() const
AWS_RESILIENCEHUBV2_API Policy()=default
Policy & WithMultiRegion(MultiRegionT &&value)
const Aws::String & GetName() const
bool UpdatedAtHasBeenSet() const
const MultiAzTargets & GetMultiAz() const
AWS_RESILIENCEHUBV2_API Policy & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_RESILIENCEHUBV2_API Policy(Aws::Utils::Json::JsonView jsonValue)
AWS_RESILIENCEHUBV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetMultiRegion(MultiRegionT &&value)
Policy & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetAvailabilitySlo(AvailabilitySloT &&value)
const AvailabilitySlo & GetAvailabilitySlo() const
Policy & WithName(NameT &&value)
const Aws::Utils::DateTime & GetUpdatedAt() const
void SetDescription(DescriptionT &&value)
bool CreatedAtHasBeenSet() const
Policy & WithUpdatedAt(UpdatedAtT &&value)
void SetTags(TagsT &&value)
bool KmsKeyIdHasBeenSet() const
Policy & WithAvailabilitySlo(AvailabilitySloT &&value)
const Aws::String & GetDescription() const
bool MultiAzHasBeenSet() const
Policy & WithAssociatedServiceCount(int value)
bool PolicyArnHasBeenSet() const
void SetDataRecovery(DataRecoveryT &&value)
void SetCreatedAt(CreatedAtT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Policy & WithDataRecovery(DataRecoveryT &&value)
void SetName(NameT &&value)
bool DataRecoveryHasBeenSet() const
void SetPolicyArn(PolicyArnT &&value)
Policy & WithMultiAz(MultiAzT &&value)
bool DescriptionHasBeenSet() const
Policy & WithTags(TagsT &&value)
bool MultiRegionHasBeenSet() const
bool TagsHasBeenSet() const
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
Aws::Utils::Json::JsonValue JsonValue