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>
27namespace PaymentCryptography
41 AWS_PAYMENTCRYPTOGRAPHY_API
Key() =
default;
53 template<
typename KeyArnT = Aws::String>
54 void SetKeyArn(KeyArnT&& value) { m_keyArnHasBeenSet =
true; m_keyArn = std::forward<KeyArnT>(value); }
55 template<
typename KeyArnT = Aws::String>
67 template<
typename KeyAttributesT = KeyAttributes>
68 void SetKeyAttributes(KeyAttributesT&& value) { m_keyAttributesHasBeenSet =
true; m_keyAttributes = std::forward<KeyAttributesT>(value); }
69 template<
typename KeyAttributesT = KeyAttributes>
80 template<
typename KeyCheckValueT = Aws::String>
81 void SetKeyCheckValue(KeyCheckValueT&& value) { m_keyCheckValueHasBeenSet =
true; m_keyCheckValue = std::forward<KeyCheckValueT>(value); }
82 template<
typename KeyCheckValueT = Aws::String>
108 inline void SetEnabled(
bool value) { m_enabledHasBeenSet =
true; m_enabled = value; }
119 inline void SetExportable(
bool value) { m_exportableHasBeenSet =
true; m_exportable = value; }
152 template<
typename CreateTimestampT = Aws::Utils::DateTime>
153 void SetCreateTimestamp(CreateTimestampT&& value) { m_createTimestampHasBeenSet =
true; m_createTimestamp = std::forward<CreateTimestampT>(value); }
154 template<
typename CreateTimestampT = Aws::Utils::DateTime>
165 template<
typename UsageStartTimestampT = Aws::Utils::DateTime>
166 void SetUsageStartTimestamp(UsageStartTimestampT&& value) { m_usageStartTimestampHasBeenSet =
true; m_usageStartTimestamp = std::forward<UsageStartTimestampT>(value); }
167 template<
typename UsageStartTimestampT = Aws::Utils::DateTime>
178 template<
typename UsageStopTimestampT = Aws::Utils::DateTime>
179 void SetUsageStopTimestamp(UsageStopTimestampT&& value) { m_usageStopTimestampHasBeenSet =
true; m_usageStopTimestamp = std::forward<UsageStopTimestampT>(value); }
180 template<
typename UsageStopTimestampT = Aws::Utils::DateTime>
192 template<
typename DeletePendingTimestampT = Aws::Utils::DateTime>
193 void SetDeletePendingTimestamp(DeletePendingTimestampT&& value) { m_deletePendingTimestampHasBeenSet =
true; m_deletePendingTimestamp = std::forward<DeletePendingTimestampT>(value); }
194 template<
typename DeletePendingTimestampT = Aws::Utils::DateTime>
207 template<
typename DeleteTimestampT = Aws::Utils::DateTime>
208 void SetDeleteTimestamp(DeleteTimestampT&& value) { m_deleteTimestampHasBeenSet =
true; m_deleteTimestamp = std::forward<DeleteTimestampT>(value); }
209 template<
typename DeleteTimestampT = Aws::Utils::DateTime>
226 bool m_keyArnHasBeenSet =
false;
229 bool m_keyAttributesHasBeenSet =
false;
232 bool m_keyCheckValueHasBeenSet =
false;
235 bool m_keyCheckValueAlgorithmHasBeenSet =
false;
237 bool m_enabled{
false};
238 bool m_enabledHasBeenSet =
false;
240 bool m_exportable{
false};
241 bool m_exportableHasBeenSet =
false;
244 bool m_keyStateHasBeenSet =
false;
247 bool m_keyOriginHasBeenSet =
false;
250 bool m_createTimestampHasBeenSet =
false;
253 bool m_usageStartTimestampHasBeenSet =
false;
256 bool m_usageStopTimestampHasBeenSet =
false;
259 bool m_deletePendingTimestampHasBeenSet =
false;
262 bool m_deleteTimestampHasBeenSet =
false;
265 bool m_deriveKeyUsageHasBeenSet =
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
void SetUsageStartTimestamp(UsageStartTimestampT &&value)
bool UsageStartTimestampHasBeenSet() const
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
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
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)
const Aws::Utils::DateTime & GetUsageStopTimestamp() const
void SetKeyState(KeyState value)
void SetCreateTimestamp(CreateTimestampT &&value)
Key & WithCreateTimestamp(CreateTimestampT &&value)
bool KeyAttributesHasBeenSet() const
Key & WithKeyOrigin(KeyOrigin value)
KeyOrigin GetKeyOrigin() const
KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const
void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
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
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::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue