AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
KeyAttributes.h
1
6#pragma once
7#include <aws/payment-cryptography/PaymentCryptography_EXPORTS.h>
8#include <aws/payment-cryptography/model/KeyAlgorithm.h>
9#include <aws/payment-cryptography/model/KeyClass.h>
10#include <aws/payment-cryptography/model/KeyModesOfUse.h>
11#include <aws/payment-cryptography/model/KeyUsage.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace PaymentCryptography {
23namespace Model {
24
33 public:
34 AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes() = default;
35 AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes(Aws::Utils::Json::JsonView jsonValue);
36 AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
44 inline KeyUsage GetKeyUsage() const { return m_keyUsage; }
45 inline bool KeyUsageHasBeenSet() const { return m_keyUsageHasBeenSet; }
46 inline void SetKeyUsage(KeyUsage value) {
47 m_keyUsageHasBeenSet = true;
48 m_keyUsage = value;
49 }
51 SetKeyUsage(value);
52 return *this;
53 }
55
57
63 inline KeyClass GetKeyClass() const { return m_keyClass; }
64 inline bool KeyClassHasBeenSet() const { return m_keyClassHasBeenSet; }
65 inline void SetKeyClass(KeyClass value) {
66 m_keyClassHasBeenSet = true;
67 m_keyClass = value;
68 }
70 SetKeyClass(value);
71 return *this;
72 }
74
76
83 inline KeyAlgorithm GetKeyAlgorithm() const { return m_keyAlgorithm; }
84 inline bool KeyAlgorithmHasBeenSet() const { return m_keyAlgorithmHasBeenSet; }
85 inline void SetKeyAlgorithm(KeyAlgorithm value) {
86 m_keyAlgorithmHasBeenSet = true;
87 m_keyAlgorithm = value;
88 }
90 SetKeyAlgorithm(value);
91 return *this;
92 }
94
96
99 inline const KeyModesOfUse& GetKeyModesOfUse() const { return m_keyModesOfUse; }
100 inline bool KeyModesOfUseHasBeenSet() const { return m_keyModesOfUseHasBeenSet; }
101 template <typename KeyModesOfUseT = KeyModesOfUse>
102 void SetKeyModesOfUse(KeyModesOfUseT&& value) {
103 m_keyModesOfUseHasBeenSet = true;
104 m_keyModesOfUse = std::forward<KeyModesOfUseT>(value);
105 }
106 template <typename KeyModesOfUseT = KeyModesOfUse>
107 KeyAttributes& WithKeyModesOfUse(KeyModesOfUseT&& value) {
108 SetKeyModesOfUse(std::forward<KeyModesOfUseT>(value));
109 return *this;
110 }
112 private:
113 KeyUsage m_keyUsage{KeyUsage::NOT_SET};
114
115 KeyClass m_keyClass{KeyClass::NOT_SET};
116
117 KeyAlgorithm m_keyAlgorithm{KeyAlgorithm::NOT_SET};
118
119 KeyModesOfUse m_keyModesOfUse;
120 bool m_keyUsageHasBeenSet = false;
121 bool m_keyClassHasBeenSet = false;
122 bool m_keyAlgorithmHasBeenSet = false;
123 bool m_keyModesOfUseHasBeenSet = false;
124};
125
126} // namespace Model
127} // namespace PaymentCryptography
128} // namespace Aws
AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes()=default
KeyAttributes & WithKeyClass(KeyClass value)
void SetKeyModesOfUse(KeyModesOfUseT &&value)
KeyAttributes & WithKeyAlgorithm(KeyAlgorithm value)
AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes(Aws::Utils::Json::JsonView jsonValue)
KeyAttributes & WithKeyUsage(KeyUsage value)
const KeyModesOfUse & GetKeyModesOfUse() const
AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes & operator=(Aws::Utils::Json::JsonView jsonValue)
KeyAttributes & WithKeyModesOfUse(KeyModesOfUseT &&value)
Aws::Utils::Json::JsonValue JsonValue