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/payment-cryptography/PaymentCryptography_EXPORTS.h>
11#include <aws/payment-cryptography/model/DeriveKeyUsage.h>
12#include <aws/payment-cryptography/model/KeyAttributes.h>
13#include <aws/payment-cryptography/model/KeyCheckValueAlgorithm.h>
14#include <aws/payment-cryptography/model/KeyOrigin.h>
15#include <aws/payment-cryptography/model/KeyState.h>
16#include <aws/payment-cryptography/model/MpaStatus.h>
17#include <aws/payment-cryptography/model/MultiRegionKeyType.h>
18#include <aws/payment-cryptography/model/ReplicationStatusType.h>
29namespace PaymentCryptography {
40 AWS_PAYMENTCRYPTOGRAPHY_API
Key() =
default;
51 template <
typename KeyArnT = Aws::String>
53 m_keyArnHasBeenSet =
true;
54 m_keyArn = std::forward<KeyArnT>(value);
56 template <
typename KeyArnT = Aws::String>
71 template <
typename KeyAttributesT = KeyAttributes>
73 m_keyAttributesHasBeenSet =
true;
74 m_keyAttributes = std::forward<KeyAttributesT>(value);
76 template <
typename KeyAttributesT = KeyAttributes>
90 template <
typename KeyCheckValueT = Aws::String>
92 m_keyCheckValueHasBeenSet =
true;
93 m_keyCheckValue = std::forward<KeyCheckValueT>(value);
95 template <
typename KeyCheckValueT = Aws::String>
115 m_keyCheckValueAlgorithmHasBeenSet =
true;
116 m_keyCheckValueAlgorithm = value;
131 m_enabledHasBeenSet =
true;
148 m_exportableHasBeenSet =
true;
149 m_exportable = value;
164 m_keyStateHasBeenSet =
true;
183 m_keyOriginHasBeenSet =
true;
198 template <
typename CreateTimestampT = Aws::Utils::DateTime>
200 m_createTimestampHasBeenSet =
true;
201 m_createTimestamp = std::forward<CreateTimestampT>(value);
203 template <
typename CreateTimestampT = Aws::Utils::DateTime>
217 template <
typename UsageStartTimestampT = Aws::Utils::DateTime>
219 m_usageStartTimestampHasBeenSet =
true;
220 m_usageStartTimestamp = std::forward<UsageStartTimestampT>(value);
222 template <
typename UsageStartTimestampT = Aws::Utils::DateTime>
236 template <
typename UsageStopTimestampT = Aws::Utils::DateTime>
238 m_usageStopTimestampHasBeenSet =
true;
239 m_usageStopTimestamp = std::forward<UsageStopTimestampT>(value);
241 template <
typename UsageStopTimestampT = Aws::Utils::DateTime>
256 template <
typename DeletePendingTimestampT = Aws::Utils::DateTime>
258 m_deletePendingTimestampHasBeenSet =
true;
259 m_deletePendingTimestamp = std::forward<DeletePendingTimestampT>(value);
261 template <
typename DeletePendingTimestampT = Aws::Utils::DateTime>
277 template <
typename DeleteTimestampT = Aws::Utils::DateTime>
279 m_deleteTimestampHasBeenSet =
true;
280 m_deleteTimestamp = std::forward<DeleteTimestampT>(value);
282 template <
typename DeleteTimestampT = Aws::Utils::DateTime>
297 m_deriveKeyUsageHasBeenSet =
true;
298 m_deriveKeyUsage = value;
320 m_multiRegionKeyTypeHasBeenSet =
true;
321 m_multiRegionKeyType = value;
333 template <
typename PrimaryRegionT = Aws::String>
335 m_primaryRegionHasBeenSet =
true;
336 m_primaryRegion = std::forward<PrimaryRegionT>(value);
338 template <
typename PrimaryRegionT = Aws::String>
354 template <
typename ReplicationStatusT = Aws::Map<Aws::String, ReplicationStatusType>>
356 m_replicationStatusHasBeenSet =
true;
357 m_replicationStatus = std::forward<ReplicationStatusT>(value);
359 template <
typename ReplicationStatusT = Aws::Map<Aws::String, ReplicationStatusType>>
364 template <
typename ReplicationStatusKeyT = Aws::String,
typename ReplicationStatusValueT = ReplicationStatusType>
366 m_replicationStatusHasBeenSet =
true;
367 m_replicationStatus.emplace(std::forward<ReplicationStatusKeyT>(key), std::forward<ReplicationStatusValueT>(value));
385 m_usingDefaultReplicationRegionsHasBeenSet =
true;
386 m_usingDefaultReplicationRegions = value;
400 template <
typename MpaStatusT = MpaStatus>
402 m_mpaStatusHasBeenSet =
true;
403 m_mpaStatus = std::forward<MpaStatusT>(value);
405 template <
typename MpaStatusT = MpaStatus>
420 bool m_enabled{
false};
422 bool m_exportable{
false};
446 bool m_usingDefaultReplicationRegions{
false};
448 MpaStatus m_mpaStatus;
449 bool m_keyArnHasBeenSet =
false;
450 bool m_keyAttributesHasBeenSet =
false;
451 bool m_keyCheckValueHasBeenSet =
false;
452 bool m_keyCheckValueAlgorithmHasBeenSet =
false;
453 bool m_enabledHasBeenSet =
false;
454 bool m_exportableHasBeenSet =
false;
455 bool m_keyStateHasBeenSet =
false;
456 bool m_keyOriginHasBeenSet =
false;
457 bool m_createTimestampHasBeenSet =
false;
458 bool m_usageStartTimestampHasBeenSet =
false;
459 bool m_usageStopTimestampHasBeenSet =
false;
460 bool m_deletePendingTimestampHasBeenSet =
false;
461 bool m_deleteTimestampHasBeenSet =
false;
462 bool m_deriveKeyUsageHasBeenSet =
false;
463 bool m_multiRegionKeyTypeHasBeenSet =
false;
464 bool m_primaryRegionHasBeenSet =
false;
465 bool m_replicationStatusHasBeenSet =
false;
466 bool m_usingDefaultReplicationRegionsHasBeenSet =
false;
467 bool m_mpaStatusHasBeenSet =
false;
AWS_PAYMENTCRYPTOGRAPHY_API Key(Aws::Utils::Json::JsonView jsonValue)
Key & WithDeletePendingTimestamp(DeletePendingTimestampT &&value)
Key & WithKeyArn(KeyArnT &&value)
const Aws::Utils::DateTime & GetCreateTimestamp() const
bool GetExportable() const
Key & WithKeyState(KeyState value)
void SetKeyOrigin(KeyOrigin value)
void SetDeriveKeyUsage(DeriveKeyUsage value)
void SetEnabled(bool value)
bool ExportableHasBeenSet() const
const Aws::Map< Aws::String, ReplicationStatusType > & GetReplicationStatus() const
void SetUsageStartTimestamp(UsageStartTimestampT &&value)
Key & WithMultiRegionKeyType(MultiRegionKeyType value)
bool UsageStartTimestampHasBeenSet() const
void SetMultiRegionKeyType(MultiRegionKeyType value)
void SetDeletePendingTimestamp(DeletePendingTimestampT &&value)
Key & WithEnabled(bool value)
AWS_PAYMENTCRYPTOGRAPHY_API Key()=default
void SetUsageStopTimestamp(UsageStopTimestampT &&value)
bool EnabledHasBeenSet() const
void SetKeyArn(KeyArnT &&value)
bool DeletePendingTimestampHasBeenSet() const
bool CreateTimestampHasBeenSet() const
bool KeyCheckValueHasBeenSet() const
bool DeleteTimestampHasBeenSet() const
bool MultiRegionKeyTypeHasBeenSet() const
void SetPrimaryRegion(PrimaryRegionT &&value)
void SetKeyCheckValue(KeyCheckValueT &&value)
bool KeyCheckValueAlgorithmHasBeenSet() const
const Aws::Utils::DateTime & GetDeletePendingTimestamp() const
bool UsageStopTimestampHasBeenSet() const
bool KeyStateHasBeenSet() const
bool KeyOriginHasBeenSet() const
const Aws::String & GetKeyArn() const
bool ReplicationStatusHasBeenSet() const
KeyState GetKeyState() const
AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const
Key & WithUsageStopTimestamp(UsageStopTimestampT &&value)
Key & WithDeleteTimestamp(DeleteTimestampT &&value)
Key & WithKeyCheckValue(KeyCheckValueT &&value)
void SetDeleteTimestamp(DeleteTimestampT &&value)
Key & WithKeyAttributes(KeyAttributesT &&value)
Key & WithMpaStatus(MpaStatusT &&value)
void SetKeyAttributes(KeyAttributesT &&value)
Key & WithReplicationStatus(ReplicationStatusT &&value)
Key & WithPrimaryRegion(PrimaryRegionT &&value)
const Aws::Utils::DateTime & GetUsageStopTimestamp() const
void SetKeyState(KeyState value)
void SetCreateTimestamp(CreateTimestampT &&value)
Key & WithCreateTimestamp(CreateTimestampT &&value)
bool PrimaryRegionHasBeenSet() const
bool GetUsingDefaultReplicationRegions() const
bool KeyAttributesHasBeenSet() const
Key & WithKeyOrigin(KeyOrigin value)
KeyOrigin GetKeyOrigin() const
void SetMpaStatus(MpaStatusT &&value)
void SetUsingDefaultReplicationRegions(bool value)
KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const
bool UsingDefaultReplicationRegionsHasBeenSet() const
Key & AddReplicationStatus(ReplicationStatusKeyT &&key, ReplicationStatusValueT &&value)
Key & WithUsingDefaultReplicationRegions(bool value)
bool MpaStatusHasBeenSet() const
void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
MultiRegionKeyType GetMultiRegionKeyType() const
const Aws::String & GetPrimaryRegion() const
const MpaStatus & GetMpaStatus() const
void SetExportable(bool value)
DeriveKeyUsage GetDeriveKeyUsage() const
bool DeriveKeyUsageHasBeenSet() const
const Aws::String & GetKeyCheckValue() const
const KeyAttributes & GetKeyAttributes() const
const Aws::Utils::DateTime & GetUsageStartTimestamp() const
void SetReplicationStatus(ReplicationStatusT &&value)
Key & WithKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
Key & WithUsageStartTimestamp(UsageStartTimestampT &&value)
AWS_PAYMENTCRYPTOGRAPHY_API Key & operator=(Aws::Utils::Json::JsonView jsonValue)
Key & WithDeriveKeyUsage(DeriveKeyUsage value)
bool KeyArnHasBeenSet() const
Key & WithExportable(bool value)
const Aws::Utils::DateTime & GetDeleteTimestamp() 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