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/MultiRegionKeyType.h>
17#include <aws/payment-cryptography/model/ReplicationStatusType.h>
28namespace PaymentCryptography {
39 AWS_PAYMENTCRYPTOGRAPHY_API
Key() =
default;
50 template <
typename KeyArnT = Aws::String>
52 m_keyArnHasBeenSet =
true;
53 m_keyArn = std::forward<KeyArnT>(value);
55 template <
typename KeyArnT = Aws::String>
70 template <
typename KeyAttributesT = KeyAttributes>
72 m_keyAttributesHasBeenSet =
true;
73 m_keyAttributes = std::forward<KeyAttributesT>(value);
75 template <
typename KeyAttributesT = KeyAttributes>
89 template <
typename KeyCheckValueT = Aws::String>
91 m_keyCheckValueHasBeenSet =
true;
92 m_keyCheckValue = std::forward<KeyCheckValueT>(value);
94 template <
typename KeyCheckValueT = Aws::String>
114 m_keyCheckValueAlgorithmHasBeenSet =
true;
115 m_keyCheckValueAlgorithm = value;
130 m_enabledHasBeenSet =
true;
147 m_exportableHasBeenSet =
true;
148 m_exportable = value;
163 m_keyStateHasBeenSet =
true;
182 m_keyOriginHasBeenSet =
true;
197 template <
typename CreateTimestampT = Aws::Utils::DateTime>
199 m_createTimestampHasBeenSet =
true;
200 m_createTimestamp = std::forward<CreateTimestampT>(value);
202 template <
typename CreateTimestampT = Aws::Utils::DateTime>
216 template <
typename UsageStartTimestampT = Aws::Utils::DateTime>
218 m_usageStartTimestampHasBeenSet =
true;
219 m_usageStartTimestamp = std::forward<UsageStartTimestampT>(value);
221 template <
typename UsageStartTimestampT = Aws::Utils::DateTime>
235 template <
typename UsageStopTimestampT = Aws::Utils::DateTime>
237 m_usageStopTimestampHasBeenSet =
true;
238 m_usageStopTimestamp = std::forward<UsageStopTimestampT>(value);
240 template <
typename UsageStopTimestampT = Aws::Utils::DateTime>
255 template <
typename DeletePendingTimestampT = Aws::Utils::DateTime>
257 m_deletePendingTimestampHasBeenSet =
true;
258 m_deletePendingTimestamp = std::forward<DeletePendingTimestampT>(value);
260 template <
typename DeletePendingTimestampT = Aws::Utils::DateTime>
276 template <
typename DeleteTimestampT = Aws::Utils::DateTime>
278 m_deleteTimestampHasBeenSet =
true;
279 m_deleteTimestamp = std::forward<DeleteTimestampT>(value);
281 template <
typename DeleteTimestampT = Aws::Utils::DateTime>
296 m_deriveKeyUsageHasBeenSet =
true;
297 m_deriveKeyUsage = value;
319 m_multiRegionKeyTypeHasBeenSet =
true;
320 m_multiRegionKeyType = value;
332 template <
typename PrimaryRegionT = Aws::String>
334 m_primaryRegionHasBeenSet =
true;
335 m_primaryRegion = std::forward<PrimaryRegionT>(value);
337 template <
typename PrimaryRegionT = Aws::String>
353 template <
typename ReplicationStatusT = Aws::Map<Aws::String, ReplicationStatusType>>
355 m_replicationStatusHasBeenSet =
true;
356 m_replicationStatus = std::forward<ReplicationStatusT>(value);
358 template <
typename ReplicationStatusT = Aws::Map<Aws::String, ReplicationStatusType>>
363 template <
typename ReplicationStatusKeyT = Aws::String,
typename ReplicationStatusValueT = ReplicationStatusType>
365 m_replicationStatusHasBeenSet =
true;
366 m_replicationStatus.emplace(std::forward<ReplicationStatusKeyT>(key), std::forward<ReplicationStatusValueT>(value));
384 m_usingDefaultReplicationRegionsHasBeenSet =
true;
385 m_usingDefaultReplicationRegions = value;
401 bool m_enabled{
false};
403 bool m_exportable{
false};
427 bool m_usingDefaultReplicationRegions{
false};
428 bool m_keyArnHasBeenSet =
false;
429 bool m_keyAttributesHasBeenSet =
false;
430 bool m_keyCheckValueHasBeenSet =
false;
431 bool m_keyCheckValueAlgorithmHasBeenSet =
false;
432 bool m_enabledHasBeenSet =
false;
433 bool m_exportableHasBeenSet =
false;
434 bool m_keyStateHasBeenSet =
false;
435 bool m_keyOriginHasBeenSet =
false;
436 bool m_createTimestampHasBeenSet =
false;
437 bool m_usageStartTimestampHasBeenSet =
false;
438 bool m_usageStopTimestampHasBeenSet =
false;
439 bool m_deletePendingTimestampHasBeenSet =
false;
440 bool m_deleteTimestampHasBeenSet =
false;
441 bool m_deriveKeyUsageHasBeenSet =
false;
442 bool m_multiRegionKeyTypeHasBeenSet =
false;
443 bool m_primaryRegionHasBeenSet =
false;
444 bool m_replicationStatusHasBeenSet =
false;
445 bool m_usingDefaultReplicationRegionsHasBeenSet =
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)
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 SetUsingDefaultReplicationRegions(bool value)
KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const
bool UsingDefaultReplicationRegionsHasBeenSet() const
Key & AddReplicationStatus(ReplicationStatusKeyT &&key, ReplicationStatusValueT &&value)
Key & WithUsingDefaultReplicationRegions(bool value)
void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
MultiRegionKeyType GetMultiRegionKeyType() const
const Aws::String & GetPrimaryRegion() 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