AWS SDK for C++

AWS SDK for C++ Version 1.11.644

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 <aws/payment-cryptography/model/MultiRegionKeyType.h>
16#include <aws/core/utils/memory/stl/AWSMap.h>
17#include <aws/payment-cryptography/model/ReplicationStatusType.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace PaymentCryptography
31{
32namespace Model
33{
34
41 class Key
42 {
43 public:
44 AWS_PAYMENTCRYPTOGRAPHY_API Key() = default;
45 AWS_PAYMENTCRYPTOGRAPHY_API Key(Aws::Utils::Json::JsonView jsonValue);
46 AWS_PAYMENTCRYPTOGRAPHY_API Key& operator=(Aws::Utils::Json::JsonView jsonValue);
47 AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const;
48
49
51
54 inline const Aws::String& GetKeyArn() const { return m_keyArn; }
55 inline bool KeyArnHasBeenSet() const { return m_keyArnHasBeenSet; }
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>
59 Key& WithKeyArn(KeyArnT&& value) { SetKeyArn(std::forward<KeyArnT>(value)); return *this;}
61
63
68 inline const KeyAttributes& GetKeyAttributes() const { return m_keyAttributes; }
69 inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; }
70 template<typename KeyAttributesT = KeyAttributes>
71 void SetKeyAttributes(KeyAttributesT&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::forward<KeyAttributesT>(value); }
72 template<typename KeyAttributesT = KeyAttributes>
73 Key& WithKeyAttributes(KeyAttributesT&& value) { SetKeyAttributes(std::forward<KeyAttributesT>(value)); return *this;}
75
77
81 inline const Aws::String& GetKeyCheckValue() const { return m_keyCheckValue; }
82 inline bool KeyCheckValueHasBeenSet() const { return m_keyCheckValueHasBeenSet; }
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>
86 Key& WithKeyCheckValue(KeyCheckValueT&& value) { SetKeyCheckValue(std::forward<KeyCheckValueT>(value)); return *this;}
88
90
99 inline KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const { return m_keyCheckValueAlgorithm; }
100 inline bool KeyCheckValueAlgorithmHasBeenSet() const { return m_keyCheckValueAlgorithmHasBeenSet; }
101 inline void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value) { m_keyCheckValueAlgorithmHasBeenSet = true; m_keyCheckValueAlgorithm = value; }
104
106
109 inline bool GetEnabled() const { return m_enabled; }
110 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
111 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
112 inline Key& WithEnabled(bool value) { SetEnabled(value); return *this;}
114
116
120 inline bool GetExportable() const { return m_exportable; }
121 inline bool ExportableHasBeenSet() const { return m_exportableHasBeenSet; }
122 inline void SetExportable(bool value) { m_exportableHasBeenSet = true; m_exportable = value; }
123 inline Key& WithExportable(bool value) { SetExportable(value); return *this;}
125
127
130 inline KeyState GetKeyState() const { return m_keyState; }
131 inline bool KeyStateHasBeenSet() const { return m_keyStateHasBeenSet; }
132 inline void SetKeyState(KeyState value) { m_keyStateHasBeenSet = true; m_keyState = value; }
133 inline Key& WithKeyState(KeyState value) { SetKeyState(value); return *this;}
135
137
143 inline KeyOrigin GetKeyOrigin() const { return m_keyOrigin; }
144 inline bool KeyOriginHasBeenSet() const { return m_keyOriginHasBeenSet; }
145 inline void SetKeyOrigin(KeyOrigin value) { m_keyOriginHasBeenSet = true; m_keyOrigin = value; }
146 inline Key& WithKeyOrigin(KeyOrigin value) { SetKeyOrigin(value); return *this;}
148
150
153 inline const Aws::Utils::DateTime& GetCreateTimestamp() const { return m_createTimestamp; }
154 inline bool CreateTimestampHasBeenSet() const { return m_createTimestampHasBeenSet; }
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>
158 Key& WithCreateTimestamp(CreateTimestampT&& value) { SetCreateTimestamp(std::forward<CreateTimestampT>(value)); return *this;}
160
162
166 inline const Aws::Utils::DateTime& GetUsageStartTimestamp() const { return m_usageStartTimestamp; }
167 inline bool UsageStartTimestampHasBeenSet() const { return m_usageStartTimestampHasBeenSet; }
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>
171 Key& WithUsageStartTimestamp(UsageStartTimestampT&& value) { SetUsageStartTimestamp(std::forward<UsageStartTimestampT>(value)); return *this;}
173
175
179 inline const Aws::Utils::DateTime& GetUsageStopTimestamp() const { return m_usageStopTimestamp; }
180 inline bool UsageStopTimestampHasBeenSet() const { return m_usageStopTimestampHasBeenSet; }
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>
184 Key& WithUsageStopTimestamp(UsageStopTimestampT&& value) { SetUsageStopTimestamp(std::forward<UsageStopTimestampT>(value)); return *this;}
186
188
193 inline const Aws::Utils::DateTime& GetDeletePendingTimestamp() const { return m_deletePendingTimestamp; }
194 inline bool DeletePendingTimestampHasBeenSet() const { return m_deletePendingTimestampHasBeenSet; }
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>
198 Key& WithDeletePendingTimestamp(DeletePendingTimestampT&& value) { SetDeletePendingTimestamp(std::forward<DeletePendingTimestampT>(value)); return *this;}
200
202
208 inline const Aws::Utils::DateTime& GetDeleteTimestamp() const { return m_deleteTimestamp; }
209 inline bool DeleteTimestampHasBeenSet() const { return m_deleteTimestampHasBeenSet; }
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>
213 Key& WithDeleteTimestamp(DeleteTimestampT&& value) { SetDeleteTimestamp(std::forward<DeleteTimestampT>(value)); return *this;}
215
217
221 inline DeriveKeyUsage GetDeriveKeyUsage() const { return m_deriveKeyUsage; }
222 inline bool DeriveKeyUsageHasBeenSet() const { return m_deriveKeyUsageHasBeenSet; }
223 inline void SetDeriveKeyUsage(DeriveKeyUsage value) { m_deriveKeyUsageHasBeenSet = true; m_deriveKeyUsage = value; }
224 inline Key& WithDeriveKeyUsage(DeriveKeyUsage value) { SetDeriveKeyUsage(value); return *this;}
226
228
235 inline MultiRegionKeyType GetMultiRegionKeyType() const { return m_multiRegionKeyType; }
236 inline bool MultiRegionKeyTypeHasBeenSet() const { return m_multiRegionKeyTypeHasBeenSet; }
237 inline void SetMultiRegionKeyType(MultiRegionKeyType value) { m_multiRegionKeyTypeHasBeenSet = true; m_multiRegionKeyType = value; }
240
242
243 inline const Aws::String& GetPrimaryRegion() const { return m_primaryRegion; }
244 inline bool PrimaryRegionHasBeenSet() const { return m_primaryRegionHasBeenSet; }
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>
248 Key& WithPrimaryRegion(PrimaryRegionT&& value) { SetPrimaryRegion(std::forward<PrimaryRegionT>(value)); return *this;}
250
252
258 inline const Aws::Map<Aws::String, ReplicationStatusType>& GetReplicationStatus() const { return m_replicationStatus; }
259 inline bool ReplicationStatusHasBeenSet() const { return m_replicationStatusHasBeenSet; }
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>>
263 Key& WithReplicationStatus(ReplicationStatusT&& value) { SetReplicationStatus(std::forward<ReplicationStatusT>(value)); return *this;}
264 template<typename ReplicationStatusKeyT = Aws::String, typename ReplicationStatusValueT = ReplicationStatusType>
265 Key& AddReplicationStatus(ReplicationStatusKeyT&& key, ReplicationStatusValueT&& value) {
266 m_replicationStatusHasBeenSet = true; m_replicationStatus.emplace(std::forward<ReplicationStatusKeyT>(key), std::forward<ReplicationStatusValueT>(value)); return *this;
267 }
269
271
278 inline bool GetUsingDefaultReplicationRegions() const { return m_usingDefaultReplicationRegions; }
279 inline bool UsingDefaultReplicationRegionsHasBeenSet() const { return m_usingDefaultReplicationRegionsHasBeenSet; }
280 inline void SetUsingDefaultReplicationRegions(bool value) { m_usingDefaultReplicationRegionsHasBeenSet = true; m_usingDefaultReplicationRegions = value; }
283 private:
284
285 Aws::String m_keyArn;
286 bool m_keyArnHasBeenSet = false;
287
288 KeyAttributes m_keyAttributes;
289 bool m_keyAttributesHasBeenSet = false;
290
291 Aws::String m_keyCheckValue;
292 bool m_keyCheckValueHasBeenSet = false;
293
295 bool m_keyCheckValueAlgorithmHasBeenSet = false;
296
297 bool m_enabled{false};
298 bool m_enabledHasBeenSet = false;
299
300 bool m_exportable{false};
301 bool m_exportableHasBeenSet = false;
302
303 KeyState m_keyState{KeyState::NOT_SET};
304 bool m_keyStateHasBeenSet = false;
305
306 KeyOrigin m_keyOrigin{KeyOrigin::NOT_SET};
307 bool m_keyOriginHasBeenSet = false;
308
309 Aws::Utils::DateTime m_createTimestamp{};
310 bool m_createTimestampHasBeenSet = false;
311
312 Aws::Utils::DateTime m_usageStartTimestamp{};
313 bool m_usageStartTimestampHasBeenSet = false;
314
315 Aws::Utils::DateTime m_usageStopTimestamp{};
316 bool m_usageStopTimestampHasBeenSet = false;
317
318 Aws::Utils::DateTime m_deletePendingTimestamp{};
319 bool m_deletePendingTimestampHasBeenSet = false;
320
321 Aws::Utils::DateTime m_deleteTimestamp{};
322 bool m_deleteTimestampHasBeenSet = false;
323
324 DeriveKeyUsage m_deriveKeyUsage{DeriveKeyUsage::NOT_SET};
325 bool m_deriveKeyUsageHasBeenSet = false;
326
328 bool m_multiRegionKeyTypeHasBeenSet = false;
329
330 Aws::String m_primaryRegion;
331 bool m_primaryRegionHasBeenSet = false;
332
334 bool m_replicationStatusHasBeenSet = false;
335
336 bool m_usingDefaultReplicationRegions{false};
337 bool m_usingDefaultReplicationRegionsHasBeenSet = false;
338 };
339
340} // namespace Model
341} // namespace PaymentCryptography
342} // namespace Aws
AWS_PAYMENTCRYPTOGRAPHY_API Key(Aws::Utils::Json::JsonView jsonValue)
Key & WithDeletePendingTimestamp(DeletePendingTimestampT &&value)
Definition Key.h:198
Key & WithKeyArn(KeyArnT &&value)
Definition Key.h:59
const Aws::Utils::DateTime & GetCreateTimestamp() const
Definition Key.h:153
Key & WithKeyState(KeyState value)
Definition Key.h:133
void SetKeyOrigin(KeyOrigin value)
Definition Key.h:145
void SetDeriveKeyUsage(DeriveKeyUsage value)
Definition Key.h:223
void SetEnabled(bool value)
Definition Key.h:111
const Aws::Map< Aws::String, ReplicationStatusType > & GetReplicationStatus() const
Definition Key.h:258
void SetUsageStartTimestamp(UsageStartTimestampT &&value)
Definition Key.h:169
Key & WithMultiRegionKeyType(MultiRegionKeyType value)
Definition Key.h:238
bool UsageStartTimestampHasBeenSet() const
Definition Key.h:167
void SetMultiRegionKeyType(MultiRegionKeyType value)
Definition Key.h:237
void SetDeletePendingTimestamp(DeletePendingTimestampT &&value)
Definition Key.h:196
Key & WithEnabled(bool value)
Definition Key.h:112
AWS_PAYMENTCRYPTOGRAPHY_API Key()=default
void SetUsageStopTimestamp(UsageStopTimestampT &&value)
Definition Key.h:182
void SetKeyArn(KeyArnT &&value)
Definition Key.h:57
bool DeletePendingTimestampHasBeenSet() const
Definition Key.h:194
bool CreateTimestampHasBeenSet() const
Definition Key.h:154
bool KeyCheckValueHasBeenSet() const
Definition Key.h:82
bool DeleteTimestampHasBeenSet() const
Definition Key.h:209
bool MultiRegionKeyTypeHasBeenSet() const
Definition Key.h:236
void SetPrimaryRegion(PrimaryRegionT &&value)
Definition Key.h:246
void SetKeyCheckValue(KeyCheckValueT &&value)
Definition Key.h:84
bool KeyCheckValueAlgorithmHasBeenSet() const
Definition Key.h:100
const Aws::Utils::DateTime & GetDeletePendingTimestamp() const
Definition Key.h:193
bool UsageStopTimestampHasBeenSet() const
Definition Key.h:180
const Aws::String & GetKeyArn() const
Definition Key.h:54
bool ReplicationStatusHasBeenSet() const
Definition Key.h:259
KeyState GetKeyState() const
Definition Key.h:130
AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const
Key & WithUsageStopTimestamp(UsageStopTimestampT &&value)
Definition Key.h:184
Key & WithDeleteTimestamp(DeleteTimestampT &&value)
Definition Key.h:213
Key & WithKeyCheckValue(KeyCheckValueT &&value)
Definition Key.h:86
void SetDeleteTimestamp(DeleteTimestampT &&value)
Definition Key.h:211
Key & WithKeyAttributes(KeyAttributesT &&value)
Definition Key.h:73
void SetKeyAttributes(KeyAttributesT &&value)
Definition Key.h:71
Key & WithReplicationStatus(ReplicationStatusT &&value)
Definition Key.h:263
Key & WithPrimaryRegion(PrimaryRegionT &&value)
Definition Key.h:248
const Aws::Utils::DateTime & GetUsageStopTimestamp() const
Definition Key.h:179
void SetKeyState(KeyState value)
Definition Key.h:132
void SetCreateTimestamp(CreateTimestampT &&value)
Definition Key.h:156
Key & WithCreateTimestamp(CreateTimestampT &&value)
Definition Key.h:158
bool PrimaryRegionHasBeenSet() const
Definition Key.h:244
bool GetUsingDefaultReplicationRegions() const
Definition Key.h:278
bool KeyAttributesHasBeenSet() const
Definition Key.h:69
Key & WithKeyOrigin(KeyOrigin value)
Definition Key.h:146
KeyOrigin GetKeyOrigin() const
Definition Key.h:143
void SetUsingDefaultReplicationRegions(bool value)
Definition Key.h:280
KeyCheckValueAlgorithm GetKeyCheckValueAlgorithm() const
Definition Key.h:99
bool UsingDefaultReplicationRegionsHasBeenSet() const
Definition Key.h:279
Key & AddReplicationStatus(ReplicationStatusKeyT &&key, ReplicationStatusValueT &&value)
Definition Key.h:265
Key & WithUsingDefaultReplicationRegions(bool value)
Definition Key.h:281
void SetKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
Definition Key.h:101
MultiRegionKeyType GetMultiRegionKeyType() const
Definition Key.h:235
const Aws::String & GetPrimaryRegion() const
Definition Key.h:243
void SetExportable(bool value)
Definition Key.h:122
DeriveKeyUsage GetDeriveKeyUsage() const
Definition Key.h:221
bool DeriveKeyUsageHasBeenSet() const
Definition Key.h:222
const Aws::String & GetKeyCheckValue() const
Definition Key.h:81
const KeyAttributes & GetKeyAttributes() const
Definition Key.h:68
const Aws::Utils::DateTime & GetUsageStartTimestamp() const
Definition Key.h:166
void SetReplicationStatus(ReplicationStatusT &&value)
Definition Key.h:261
Key & WithKeyCheckValueAlgorithm(KeyCheckValueAlgorithm value)
Definition Key.h:102
Key & WithUsageStartTimestamp(UsageStartTimestampT &&value)
Definition Key.h:171
AWS_PAYMENTCRYPTOGRAPHY_API Key & operator=(Aws::Utils::Json::JsonView jsonValue)
Key & WithDeriveKeyUsage(DeriveKeyUsage value)
Definition Key.h:224
Key & WithExportable(bool value)
Definition Key.h:123
const Aws::Utils::DateTime & GetDeleteTimestamp() const
Definition Key.h:208
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