AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
KeyAttributes.h
1
6#pragma once
7#include <aws/payment-cryptography/PaymentCryptography_EXPORTS.h>
8#include <aws/payment-cryptography/model/KeyUsage.h>
9#include <aws/payment-cryptography/model/KeyClass.h>
10#include <aws/payment-cryptography/model/KeyAlgorithm.h>
11#include <aws/payment-cryptography/model/KeyModesOfUse.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace PaymentCryptography
25{
26namespace Model
27{
28
37 {
38 public:
39 AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes() = default;
40 AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes(Aws::Utils::Json::JsonView jsonValue);
41 AWS_PAYMENTCRYPTOGRAPHY_API KeyAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
50 inline KeyUsage GetKeyUsage() const { return m_keyUsage; }
51 inline bool KeyUsageHasBeenSet() const { return m_keyUsageHasBeenSet; }
52 inline void SetKeyUsage(KeyUsage value) { m_keyUsageHasBeenSet = true; m_keyUsage = value; }
53 inline KeyAttributes& WithKeyUsage(KeyUsage value) { SetKeyUsage(value); return *this;}
55
57
63 inline KeyClass GetKeyClass() const { return m_keyClass; }
64 inline bool KeyClassHasBeenSet() const { return m_keyClassHasBeenSet; }
65 inline void SetKeyClass(KeyClass value) { m_keyClassHasBeenSet = true; m_keyClass = value; }
66 inline KeyAttributes& WithKeyClass(KeyClass value) { SetKeyClass(value); return *this;}
68
70
77 inline KeyAlgorithm GetKeyAlgorithm() const { return m_keyAlgorithm; }
78 inline bool KeyAlgorithmHasBeenSet() const { return m_keyAlgorithmHasBeenSet; }
79 inline void SetKeyAlgorithm(KeyAlgorithm value) { m_keyAlgorithmHasBeenSet = true; m_keyAlgorithm = value; }
80 inline KeyAttributes& WithKeyAlgorithm(KeyAlgorithm value) { SetKeyAlgorithm(value); return *this;}
82
84
87 inline const KeyModesOfUse& GetKeyModesOfUse() const { return m_keyModesOfUse; }
88 inline bool KeyModesOfUseHasBeenSet() const { return m_keyModesOfUseHasBeenSet; }
89 template<typename KeyModesOfUseT = KeyModesOfUse>
90 void SetKeyModesOfUse(KeyModesOfUseT&& value) { m_keyModesOfUseHasBeenSet = true; m_keyModesOfUse = std::forward<KeyModesOfUseT>(value); }
91 template<typename KeyModesOfUseT = KeyModesOfUse>
92 KeyAttributes& WithKeyModesOfUse(KeyModesOfUseT&& value) { SetKeyModesOfUse(std::forward<KeyModesOfUseT>(value)); return *this;}
94 private:
95
96 KeyUsage m_keyUsage{KeyUsage::NOT_SET};
97 bool m_keyUsageHasBeenSet = false;
98
99 KeyClass m_keyClass{KeyClass::NOT_SET};
100 bool m_keyClassHasBeenSet = false;
101
102 KeyAlgorithm m_keyAlgorithm{KeyAlgorithm::NOT_SET};
103 bool m_keyAlgorithmHasBeenSet = false;
104
105 KeyModesOfUse m_keyModesOfUse;
106 bool m_keyModesOfUseHasBeenSet = false;
107 };
108
109} // namespace Model
110} // namespace PaymentCryptography
111} // 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