AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
Key.h
1
6#pragma once
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 <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace PaymentCryptography
28{
29namespace Model
30{
31
38 class Key
39 {
40 public:
41 AWS_PAYMENTCRYPTOGRAPHY_API Key() = default;
42 AWS_PAYMENTCRYPTOGRAPHY_API Key(Aws::Utils::Json::JsonView jsonValue);
43 AWS_PAYMENTCRYPTOGRAPHY_API Key& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::String& GetKeyArn() const { return m_keyArn; }
52 inline bool KeyArnHasBeenSet() const { return m_keyArnHasBeenSet; }
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>
56 Key& WithKeyArn(KeyArnT&& value) { SetKeyArn(std::forward<KeyArnT>(value)); return *this;}
58
60
65 inline const KeyAttributes& GetKeyAttributes() const { return m_keyAttributes; }
66 inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; }
67 template<typename KeyAttributesT = KeyAttributes>
68 void SetKeyAttributes(KeyAttributesT&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::forward<KeyAttributesT>(value); }
69 template<typename KeyAttributesT = KeyAttributes>
70 Key& WithKeyAttributes(KeyAttributesT&& value) { SetKeyAttributes(std::forward<KeyAttributesT>(value)); return *this;}
72
74
78 inline const Aws::String& GetKeyCheckValue() const { return m_keyCheckValue; }
79 inline bool KeyCheckValueHasBeenSet() const { return m_keyCheckValueHasBeenSet; }
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>
83 Key& WithKeyCheckValue(KeyCheckValueT&& value) { SetKeyCheckValue(std::forward<KeyCheckValueT>(value)); return *this;}
85
87
96 inline KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const { return m_keyCheckValueAlgorithm; }
97 inline bool KeyCheckValueAlgorithmHasBeenSet() const { return m_keyCheckValueAlgorithmHasBeenSet; }
98 inline void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value) { m_keyCheckValueAlgorithmHasBeenSet = true; m_keyCheckValueAlgorithm = value; }
101
103
106 inline bool GetEnabled() const { return m_enabled; }
107 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
108 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
109 inline Key& WithEnabled(bool value) { SetEnabled(value); return *this;}
111
113
117 inline bool GetExportable() const { return m_exportable; }
118 inline bool ExportableHasBeenSet() const { return m_exportableHasBeenSet; }
119 inline void SetExportable(bool value) { m_exportableHasBeenSet = true; m_exportable = value; }
120 inline Key& WithExportable(bool value) { SetExportable(value); return *this;}
122
124
127 inline KeyState GetKeyState() const { return m_keyState; }
128 inline bool KeyStateHasBeenSet() const { return m_keyStateHasBeenSet; }
129 inline void SetKeyState(KeyState value) { m_keyStateHasBeenSet = true; m_keyState = value; }
130 inline Key& WithKeyState(KeyState value) { SetKeyState(value); return *this;}
132
134
140 inline KeyOrigin GetKeyOrigin() const { return m_keyOrigin; }
141 inline bool KeyOriginHasBeenSet() const { return m_keyOriginHasBeenSet; }
142 inline void SetKeyOrigin(KeyOrigin value) { m_keyOriginHasBeenSet = true; m_keyOrigin = value; }
143 inline Key& WithKeyOrigin(KeyOrigin value) { SetKeyOrigin(value); return *this;}
145
147
150 inline const Aws::Utils::DateTime& GetCreateTimestamp() const { return m_createTimestamp; }
151 inline bool CreateTimestampHasBeenSet() const { return m_createTimestampHasBeenSet; }
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>
155 Key& WithCreateTimestamp(CreateTimestampT&& value) { SetCreateTimestamp(std::forward<CreateTimestampT>(value)); return *this;}
157
159
163 inline const Aws::Utils::DateTime& GetUsageStartTimestamp() const { return m_usageStartTimestamp; }
164 inline bool UsageStartTimestampHasBeenSet() const { return m_usageStartTimestampHasBeenSet; }
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>
168 Key& WithUsageStartTimestamp(UsageStartTimestampT&& value) { SetUsageStartTimestamp(std::forward<UsageStartTimestampT>(value)); return *this;}
170
172
176 inline const Aws::Utils::DateTime& GetUsageStopTimestamp() const { return m_usageStopTimestamp; }
177 inline bool UsageStopTimestampHasBeenSet() const { return m_usageStopTimestampHasBeenSet; }
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>
181 Key& WithUsageStopTimestamp(UsageStopTimestampT&& value) { SetUsageStopTimestamp(std::forward<UsageStopTimestampT>(value)); return *this;}
183
185
190 inline const Aws::Utils::DateTime& GetDeletePendingTimestamp() const { return m_deletePendingTimestamp; }
191 inline bool DeletePendingTimestampHasBeenSet() const { return m_deletePendingTimestampHasBeenSet; }
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>
195 Key& WithDeletePendingTimestamp(DeletePendingTimestampT&& value) { SetDeletePendingTimestamp(std::forward<DeletePendingTimestampT>(value)); return *this;}
197
199
205 inline const Aws::Utils::DateTime& GetDeleteTimestamp() const { return m_deleteTimestamp; }
206 inline bool DeleteTimestampHasBeenSet() const { return m_deleteTimestampHasBeenSet; }
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>
210 Key& WithDeleteTimestamp(DeleteTimestampT&& value) { SetDeleteTimestamp(std::forward<DeleteTimestampT>(value)); return *this;}
212
214
218 inline DeriveKeyUsage GetDeriveKeyUsage() const { return m_deriveKeyUsage; }
219 inline bool DeriveKeyUsageHasBeenSet() const { return m_deriveKeyUsageHasBeenSet; }
220 inline void SetDeriveKeyUsage(DeriveKeyUsage value) { m_deriveKeyUsageHasBeenSet = true; m_deriveKeyUsage = value; }
221 inline Key& WithDeriveKeyUsage(DeriveKeyUsage value) { SetDeriveKeyUsage(value); return *this;}
223 private:
224
225 Aws::String m_keyArn;
226 bool m_keyArnHasBeenSet = false;
227
228 KeyAttributes m_keyAttributes;
229 bool m_keyAttributesHasBeenSet = false;
230
231 Aws::String m_keyCheckValue;
232 bool m_keyCheckValueHasBeenSet = false;
233
235 bool m_keyCheckValueAlgorithmHasBeenSet = false;
236
237 bool m_enabled{false};
238 bool m_enabledHasBeenSet = false;
239
240 bool m_exportable{false};
241 bool m_exportableHasBeenSet = false;
242
243 KeyState m_keyState{KeyState::NOT_SET};
244 bool m_keyStateHasBeenSet = false;
245
246 KeyOrigin m_keyOrigin{KeyOrigin::NOT_SET};
247 bool m_keyOriginHasBeenSet = false;
248
249 Aws::Utils::DateTime m_createTimestamp{};
250 bool m_createTimestampHasBeenSet = false;
251
252 Aws::Utils::DateTime m_usageStartTimestamp{};
253 bool m_usageStartTimestampHasBeenSet = false;
254
255 Aws::Utils::DateTime m_usageStopTimestamp{};
256 bool m_usageStopTimestampHasBeenSet = false;
257
258 Aws::Utils::DateTime m_deletePendingTimestamp{};
259 bool m_deletePendingTimestampHasBeenSet = false;
260
261 Aws::Utils::DateTime m_deleteTimestamp{};
262 bool m_deleteTimestampHasBeenSet = false;
263
264 DeriveKeyUsage m_deriveKeyUsage{DeriveKeyUsage::NOT_SET};
265 bool m_deriveKeyUsageHasBeenSet = false;
266 };
267
268} // namespace Model
269} // namespace PaymentCryptography
270} // namespace Aws
AWS_PAYMENTCRYPTOGRAPHY_API Key(Aws::Utils::Json::JsonView jsonValue)
Key & WithDeletePendingTimestamp(DeletePendingTimestampT &&value)
Definition Key.h:195
Key & WithKeyArn(KeyArnT &&value)
Definition Key.h:56
const Aws::Utils::DateTime & GetCreateTimestamp() const
Definition Key.h:150
Key & WithKeyState(KeyState value)
Definition Key.h:130
void SetKeyOrigin(KeyOrigin value)
Definition Key.h:142
void SetDeriveKeyUsage(DeriveKeyUsage value)
Definition Key.h:220
void SetEnabled(bool value)
Definition Key.h:108
void SetUsageStartTimestamp(UsageStartTimestampT &&value)
Definition Key.h:166
bool UsageStartTimestampHasBeenSet() const
Definition Key.h:164
void SetDeletePendingTimestamp(DeletePendingTimestampT &&value)
Definition Key.h:193
Key & WithEnabled(bool value)
Definition Key.h:109
AWS_PAYMENTCRYPTOGRAPHY_API Key()=default
void SetUsageStopTimestamp(UsageStopTimestampT &&value)
Definition Key.h:179
void SetKeyArn(KeyArnT &&value)
Definition Key.h:54
bool DeletePendingTimestampHasBeenSet() const
Definition Key.h:191
bool CreateTimestampHasBeenSet() const
Definition Key.h:151
bool KeyCheckValueHasBeenSet() const
Definition Key.h:79
bool DeleteTimestampHasBeenSet() const
Definition Key.h:206
void SetKeyCheckValue(KeyCheckValueT &&value)
Definition Key.h:81
bool KeyCheckValueAlgorithmHasBeenSet() const
Definition Key.h:97
const Aws::Utils::DateTime & GetDeletePendingTimestamp() const
Definition Key.h:190
bool UsageStopTimestampHasBeenSet() const
Definition Key.h:177
const Aws::String & GetKeyArn() const
Definition Key.h:51
KeyState GetKeyState() const
Definition Key.h:127
AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const
Key & WithUsageStopTimestamp(UsageStopTimestampT &&value)
Definition Key.h:181
Key & WithDeleteTimestamp(DeleteTimestampT &&value)
Definition Key.h:210
Key & WithKeyCheckValue(KeyCheckValueT &&value)
Definition Key.h:83
void SetDeleteTimestamp(DeleteTimestampT &&value)
Definition Key.h:208
Key & WithKeyAttributes(KeyAttributesT &&value)
Definition Key.h:70
void SetKeyAttributes(KeyAttributesT &&value)
Definition Key.h:68
const Aws::Utils::DateTime & GetUsageStopTimestamp() const
Definition Key.h:176
void SetKeyState(KeyState value)
Definition Key.h:129
void SetCreateTimestamp(CreateTimestampT &&value)
Definition Key.h:153
Key & WithCreateTimestamp(CreateTimestampT &&value)
Definition Key.h:155
bool KeyAttributesHasBeenSet() const
Definition Key.h:66
Key & WithKeyOrigin(KeyOrigin value)
Definition Key.h:143
KeyOrigin GetKeyOrigin() const
Definition Key.h:140
KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const
Definition Key.h:96
void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
Definition Key.h:98
void SetExportable(bool value)
Definition Key.h:119
DeriveKeyUsage GetDeriveKeyUsage() const
Definition Key.h:218
bool DeriveKeyUsageHasBeenSet() const
Definition Key.h:219
const Aws::String & GetKeyCheckValue() const
Definition Key.h:78
const KeyAttributes & GetKeyAttributes() const
Definition Key.h:65
const Aws::Utils::DateTime & GetUsageStartTimestamp() const
Definition Key.h:163
Key & WithKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
Definition Key.h:99
Key & WithUsageStartTimestamp(UsageStartTimestampT &&value)
Definition Key.h:168
AWS_PAYMENTCRYPTOGRAPHY_API Key & operator=(Aws::Utils::Json::JsonView jsonValue)
Key & WithDeriveKeyUsage(DeriveKeyUsage value)
Definition Key.h:221
Key & WithExportable(bool value)
Definition Key.h:120
const Aws::Utils::DateTime & GetDeleteTimestamp() const
Definition Key.h:205
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue