7#include <aws/payment-cryptography/PaymentCryptography_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/payment-cryptography/model/KeyAttributes.h>
10#include <aws/payment-cryptography/model/KeyCheckValueAlgorithm.h>
11#include <aws/payment-cryptography/model/KeyState.h>
12#include <aws/payment-cryptography/model/KeyOrigin.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/payment-cryptography/model/DeriveKeyUsage.h>
15#include <aws/payment-cryptography/model/MultiRegionKeyType.h>
16#include <aws/core/utils/memory/stl/AWSMap.h>
17#include <aws/payment-cryptography/model/ReplicationStatusType.h>
30namespace PaymentCryptography
44 AWS_PAYMENTCRYPTOGRAPHY_API
Key() =
default;
56 template<
typename KeyArnT = Aws::String>
57 void SetKeyArn(KeyArnT&& value) { m_keyArnHasBeenSet =
true; m_keyArn = std::forward<KeyArnT>(value); }
58 template<
typename KeyArnT = Aws::String>
70 template<
typename KeyAttributesT = KeyAttributes>
71 void SetKeyAttributes(KeyAttributesT&& value) { m_keyAttributesHasBeenSet =
true; m_keyAttributes = std::forward<KeyAttributesT>(value); }
72 template<
typename KeyAttributesT = KeyAttributes>
83 template<
typename KeyCheckValueT = Aws::String>
84 void SetKeyCheckValue(KeyCheckValueT&& value) { m_keyCheckValueHasBeenSet =
true; m_keyCheckValue = std::forward<KeyCheckValueT>(value); }
85 template<
typename KeyCheckValueT = Aws::String>
111 inline void SetEnabled(
bool value) { m_enabledHasBeenSet =
true; m_enabled = value; }
122 inline void SetExportable(
bool value) { m_exportableHasBeenSet =
true; m_exportable = value; }
155 template<
typename CreateTimestampT = Aws::Utils::DateTime>
156 void SetCreateTimestamp(CreateTimestampT&& value) { m_createTimestampHasBeenSet =
true; m_createTimestamp = std::forward<CreateTimestampT>(value); }
157 template<
typename CreateTimestampT = Aws::Utils::DateTime>
168 template<
typename UsageStartTimestampT = Aws::Utils::DateTime>
169 void SetUsageStartTimestamp(UsageStartTimestampT&& value) { m_usageStartTimestampHasBeenSet =
true; m_usageStartTimestamp = std::forward<UsageStartTimestampT>(value); }
170 template<
typename UsageStartTimestampT = Aws::Utils::DateTime>
181 template<
typename UsageStopTimestampT = Aws::Utils::DateTime>
182 void SetUsageStopTimestamp(UsageStopTimestampT&& value) { m_usageStopTimestampHasBeenSet =
true; m_usageStopTimestamp = std::forward<UsageStopTimestampT>(value); }
183 template<
typename UsageStopTimestampT = Aws::Utils::DateTime>
195 template<
typename DeletePendingTimestampT = Aws::Utils::DateTime>
196 void SetDeletePendingTimestamp(DeletePendingTimestampT&& value) { m_deletePendingTimestampHasBeenSet =
true; m_deletePendingTimestamp = std::forward<DeletePendingTimestampT>(value); }
197 template<
typename DeletePendingTimestampT = Aws::Utils::DateTime>
210 template<
typename DeleteTimestampT = Aws::Utils::DateTime>
211 void SetDeleteTimestamp(DeleteTimestampT&& value) { m_deleteTimestampHasBeenSet =
true; m_deleteTimestamp = std::forward<DeleteTimestampT>(value); }
212 template<
typename DeleteTimestampT = Aws::Utils::DateTime>
245 template<
typename PrimaryRegionT = Aws::String>
246 void SetPrimaryRegion(PrimaryRegionT&& value) { m_primaryRegionHasBeenSet =
true; m_primaryRegion = std::forward<PrimaryRegionT>(value); }
247 template<
typename PrimaryRegionT = Aws::String>
260 template<
typename ReplicationStatusT = Aws::Map<Aws::String, ReplicationStatusType>>
261 void SetReplicationStatus(ReplicationStatusT&& value) { m_replicationStatusHasBeenSet =
true; m_replicationStatus = std::forward<ReplicationStatusT>(value); }
262 template<
typename ReplicationStatusT = Aws::Map<Aws::String, ReplicationStatusType>>
264 template<
typename ReplicationStatusKeyT = Aws::String,
typename ReplicationStatusValueT = ReplicationStatusType>
266 m_replicationStatusHasBeenSet =
true; m_replicationStatus.emplace(std::forward<ReplicationStatusKeyT>(key), std::forward<ReplicationStatusValueT>(value));
return *
this;
286 bool m_keyArnHasBeenSet =
false;
289 bool m_keyAttributesHasBeenSet =
false;
292 bool m_keyCheckValueHasBeenSet =
false;
295 bool m_keyCheckValueAlgorithmHasBeenSet =
false;
297 bool m_enabled{
false};
298 bool m_enabledHasBeenSet =
false;
300 bool m_exportable{
false};
301 bool m_exportableHasBeenSet =
false;
304 bool m_keyStateHasBeenSet =
false;
307 bool m_keyOriginHasBeenSet =
false;
310 bool m_createTimestampHasBeenSet =
false;
313 bool m_usageStartTimestampHasBeenSet =
false;
316 bool m_usageStopTimestampHasBeenSet =
false;
319 bool m_deletePendingTimestampHasBeenSet =
false;
322 bool m_deleteTimestampHasBeenSet =
false;
325 bool m_deriveKeyUsageHasBeenSet =
false;
328 bool m_multiRegionKeyTypeHasBeenSet =
false;
331 bool m_primaryRegionHasBeenSet =
false;
334 bool m_replicationStatusHasBeenSet =
false;
336 bool m_usingDefaultReplicationRegions{
false};
337 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