AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
KeyBlockHeaders.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/payment-cryptography/PaymentCryptography_EXPORTS.h>
10#include <aws/payment-cryptography/model/KeyExportability.h>
11#include <aws/payment-cryptography/model/KeyModesOfUse.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
32 public:
33 AWS_PAYMENTCRYPTOGRAPHY_API KeyBlockHeaders() = default;
34 AWS_PAYMENTCRYPTOGRAPHY_API KeyBlockHeaders(Aws::Utils::Json::JsonView jsonValue);
35 AWS_PAYMENTCRYPTOGRAPHY_API KeyBlockHeaders& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
40 inline const KeyModesOfUse& GetKeyModesOfUse() const { return m_keyModesOfUse; }
41 inline bool KeyModesOfUseHasBeenSet() const { return m_keyModesOfUseHasBeenSet; }
42 template <typename KeyModesOfUseT = KeyModesOfUse>
43 void SetKeyModesOfUse(KeyModesOfUseT&& value) {
44 m_keyModesOfUseHasBeenSet = true;
45 m_keyModesOfUse = std::forward<KeyModesOfUseT>(value);
46 }
47 template <typename KeyModesOfUseT = KeyModesOfUse>
48 KeyBlockHeaders& WithKeyModesOfUse(KeyModesOfUseT&& value) {
49 SetKeyModesOfUse(std::forward<KeyModesOfUseT>(value));
50 return *this;
51 }
53
55
69 inline KeyExportability GetKeyExportability() const { return m_keyExportability; }
70 inline bool KeyExportabilityHasBeenSet() const { return m_keyExportabilityHasBeenSet; }
72 m_keyExportabilityHasBeenSet = true;
73 m_keyExportability = value;
74 }
77 return *this;
78 }
80
82
86 inline const Aws::String& GetKeyVersion() const { return m_keyVersion; }
87 inline bool KeyVersionHasBeenSet() const { return m_keyVersionHasBeenSet; }
88 template <typename KeyVersionT = Aws::String>
89 void SetKeyVersion(KeyVersionT&& value) {
90 m_keyVersionHasBeenSet = true;
91 m_keyVersion = std::forward<KeyVersionT>(value);
92 }
93 template <typename KeyVersionT = Aws::String>
94 KeyBlockHeaders& WithKeyVersion(KeyVersionT&& value) {
95 SetKeyVersion(std::forward<KeyVersionT>(value));
96 return *this;
97 }
99
101
110 inline const Aws::Map<Aws::String, Aws::String>& GetOptionalBlocks() const { return m_optionalBlocks; }
111 inline bool OptionalBlocksHasBeenSet() const { return m_optionalBlocksHasBeenSet; }
112 template <typename OptionalBlocksT = Aws::Map<Aws::String, Aws::String>>
113 void SetOptionalBlocks(OptionalBlocksT&& value) {
114 m_optionalBlocksHasBeenSet = true;
115 m_optionalBlocks = std::forward<OptionalBlocksT>(value);
116 }
117 template <typename OptionalBlocksT = Aws::Map<Aws::String, Aws::String>>
118 KeyBlockHeaders& WithOptionalBlocks(OptionalBlocksT&& value) {
119 SetOptionalBlocks(std::forward<OptionalBlocksT>(value));
120 return *this;
121 }
122 template <typename OptionalBlocksKeyT = Aws::String, typename OptionalBlocksValueT = Aws::String>
123 KeyBlockHeaders& AddOptionalBlocks(OptionalBlocksKeyT&& key, OptionalBlocksValueT&& value) {
124 m_optionalBlocksHasBeenSet = true;
125 m_optionalBlocks.emplace(std::forward<OptionalBlocksKeyT>(key), std::forward<OptionalBlocksValueT>(value));
126 return *this;
127 }
129 private:
130 KeyModesOfUse m_keyModesOfUse;
131
133
134 Aws::String m_keyVersion;
135
136 Aws::Map<Aws::String, Aws::String> m_optionalBlocks;
137 bool m_keyModesOfUseHasBeenSet = false;
138 bool m_keyExportabilityHasBeenSet = false;
139 bool m_keyVersionHasBeenSet = false;
140 bool m_optionalBlocksHasBeenSet = false;
141};
142
143} // namespace Model
144} // namespace PaymentCryptography
145} // namespace Aws
AWS_PAYMENTCRYPTOGRAPHY_API KeyBlockHeaders()=default
KeyBlockHeaders & WithKeyExportability(KeyExportability value)
KeyBlockHeaders & WithOptionalBlocks(OptionalBlocksT &&value)
const Aws::Map< Aws::String, Aws::String > & GetOptionalBlocks() const
AWS_PAYMENTCRYPTOGRAPHY_API Aws::Utils::Json::JsonValue Jsonize() const
KeyBlockHeaders & WithKeyVersion(KeyVersionT &&value)
AWS_PAYMENTCRYPTOGRAPHY_API KeyBlockHeaders & operator=(Aws::Utils::Json::JsonView jsonValue)
KeyBlockHeaders & AddOptionalBlocks(OptionalBlocksKeyT &&key, OptionalBlocksValueT &&value)
AWS_PAYMENTCRYPTOGRAPHY_API KeyBlockHeaders(Aws::Utils::Json::JsonView jsonValue)
KeyBlockHeaders & WithKeyModesOfUse(KeyModesOfUseT &&value)
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